diff --git a/NODE_LIST.md b/NODE_LIST.md index b1bf819e..be814e56 100644 --- a/NODE_LIST.md +++ b/NODE_LIST.md @@ -17,6 +17,7 @@ ElementaryTypeNameExpression EmitStatement EnumDefinition EnumValue +ErrorDefinition EventDefinition ExpressionStatement ForStatement @@ -43,6 +44,7 @@ ParameterList PlaceholderStatement PragmaDirective Return +RevertStatement SourceUnit StructDefinition StructuredDocumentation diff --git a/package-lock.json b/package-lock.json index 46efa9c7..37aedd6f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,8 +1,11041 @@ { "name": "solc-typed-ast", "version": "4.0.0", - "lockfileVersion": 1, + "lockfileVersion": 2, "requires": true, + "packages": { + "": { + "version": "4.0.0", + "license": "Apache-2.0", + "dependencies": { + "findup-sync": "^4.0.0", + "fs-extra": "^9.1.0", + "jsel": "^1.1.6", + "minimist": "^1.2.5", + "semver": "^7.3.5", + "solc-0.4.13": "npm:solc@0.4.13", + "solc-0.4.14": "npm:solc@0.4.14", + "solc-0.4.15": "npm:solc@0.4.15", + "solc-0.4.16": "npm:solc@0.4.16", + "solc-0.4.17": "npm:solc@0.4.17", + "solc-0.4.18": "npm:solc@0.4.18", + "solc-0.4.19": "npm:solc@0.4.19", + "solc-0.4.20": "npm:solc@0.4.20", + "solc-0.4.21": "npm:solc@0.4.21", + "solc-0.4.22": "npm:solc@0.4.22", + "solc-0.4.23": "npm:solc@0.4.23", + "solc-0.4.24": "npm:solc@0.4.24", + "solc-0.4.25": "npm:solc@0.4.25", + "solc-0.4.26": "npm:solc@0.4.26", + "solc-0.5.0": "npm:solc@0.5.0", + "solc-0.5.1": "npm:solc@0.5.1", + "solc-0.5.10": "npm:solc@0.5.10", + "solc-0.5.11": "npm:solc@0.5.11", + "solc-0.5.12": "npm:solc@0.5.12", + "solc-0.5.13": "npm:solc@0.5.13", + "solc-0.5.14": "npm:solc@0.5.14", + "solc-0.5.15": "npm:solc@0.5.15", + "solc-0.5.16": "npm:solc@0.5.16", + "solc-0.5.17": "npm:solc@0.5.17", + "solc-0.5.2": "npm:solc@0.5.2", + "solc-0.5.3": "npm:solc@0.5.3", + "solc-0.5.4": "npm:solc@0.5.4", + "solc-0.5.5": "npm:solc@0.5.5", + "solc-0.5.6": "npm:solc@0.5.6", + "solc-0.5.7": "npm:solc@0.5.7", + "solc-0.5.8": "npm:solc@0.5.8", + "solc-0.5.9": "npm:solc@0.5.9", + "solc-0.6.0": "npm:solc@0.6.0", + "solc-0.6.1": "npm:solc@0.6.1", + "solc-0.6.10": "npm:solc@0.6.10", + "solc-0.6.11": "npm:solc@0.6.11", + "solc-0.6.12": "npm:solc@0.6.12", + "solc-0.6.2": "npm:solc@0.6.2", + "solc-0.6.3": "npm:solc@0.6.3", + "solc-0.6.4": "npm:solc@0.6.4", + "solc-0.6.5": "npm:solc@0.6.5", + "solc-0.6.6": "npm:solc@0.6.6", + "solc-0.6.7": "npm:solc@0.6.7", + "solc-0.6.8": "npm:solc@0.6.8", + "solc-0.6.9": "npm:solc@0.6.9", + "solc-0.7.0": "npm:solc@0.7.0", + "solc-0.7.1": "npm:solc@0.7.1", + "solc-0.7.2": "npm:solc@0.7.2", + "solc-0.7.3": "npm:solc@0.7.3", + "solc-0.7.4": "npm:solc@0.7.4", + "solc-0.7.5": "npm:solc@0.7.5", + "solc-0.7.6": "npm:solc@0.7.6", + "solc-0.8.0": "npm:solc@0.8.0", + "solc-0.8.1": "npm:solc-0.8.1-fixed@0.8.1", + "solc-0.8.2": "npm:solc@0.8.2", + "solc-0.8.3": "npm:solc@0.8.3", + "solc-0.8.4": "npm:solc@0.8.4", + "src-location": "^1.1.0", + "web3-eth-abi": "^1.3.5" + }, + "bin": { + "sol-ast-compile": "dist/bin/compile.js" + }, + "devDependencies": { + "@types/fs-extra": "^9.0.11", + "@types/minimist": "^1.2.1", + "@types/mocha": "^8.2.2", + "@types/node": "^12.20.10", + "@types/semver": "^7.3.5", + "@typescript-eslint/eslint-plugin": "^4.22.0", + "@typescript-eslint/parser": "^4.22.0", + "codecov": "^3.8.1", + "eslint": "^7.25.0", + "eslint-config-prettier": "^8.3.0", + "eslint-plugin-prettier": "^3.4.0", + "expect": "^26.6.2", + "mocha": "^8.3.2", + "nyc": "^15.1.0", + "pegjs": "^0.10.0", + "prettier": "2.2.1", + "ts-node": "^9.1.1", + "ts-pegjs": "^0.3.1", + "typedoc": "^0.20.36", + "typescript": "^4.2.4" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", + "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.10.4" + } + }, + "node_modules/@babel/core": { + "version": "7.11.6", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.11.6.tgz", + "integrity": "sha512-Wpcv03AGnmkgm6uS6k8iwhIwTrcP0m17TL1n1sy7qD0qelDu4XNeW0dN0mHfa+Gei211yDaLoEe/VlbXQzM4Bg==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.10.4", + "@babel/generator": "^7.11.6", + "@babel/helper-module-transforms": "^7.11.0", + "@babel/helpers": "^7.10.4", + "@babel/parser": "^7.11.5", + "@babel/template": "^7.10.4", + "@babel/traverse": "^7.11.5", + "@babel/types": "^7.11.5", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.1", + "json5": "^2.1.2", + "lodash": "^4.17.19", + "resolve": "^1.3.2", + "semver": "^5.4.1", + "source-map": "^0.5.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/@babel/generator": { + "version": "7.11.6", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.11.6.tgz", + "integrity": "sha512-DWtQ1PV3r+cLbySoHrwn9RWEgKMBLLma4OBQloPRyDYvc5msJM9kvTLo1YnlJd1P/ZuKbdli3ijr5q3FvAF3uA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.11.5", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" + } + }, + "node_modules/@babel/helper-function-name": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz", + "integrity": "sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ==", + "dev": true, + "dependencies": { + "@babel/helper-get-function-arity": "^7.10.4", + "@babel/template": "^7.10.4", + "@babel/types": "^7.10.4" + } + }, + "node_modules/@babel/helper-get-function-arity": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.4.tgz", + "integrity": "sha512-EkN3YDB+SRDgiIUnNgcmiD361ti+AVbL3f3Henf6dqqUyr5dMsorno0lJWJuLhDhkI5sYEpgj6y9kB8AOU1I2A==", + "dev": true, + "dependencies": { + "@babel/types": "^7.10.4" + } + }, + "node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.11.0", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.11.0.tgz", + "integrity": "sha512-JbFlKHFntRV5qKw3YC0CvQnDZ4XMwgzzBbld7Ly4Mj4cbFy3KywcR8NtNctRToMWJOVvLINJv525Gd6wwVEx/Q==", + "dev": true, + "dependencies": { + "@babel/types": "^7.11.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.10.4.tgz", + "integrity": "sha512-nEQJHqYavI217oD9+s5MUBzk6x1IlvoS9WTPfgG43CbMEeStE0v+r+TucWdx8KFGowPGvyOkDT9+7DHedIDnVw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.10.4" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.11.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.11.0.tgz", + "integrity": "sha512-02EVu8COMuTRO1TAzdMtpBPbe6aQ1w/8fePD2YgQmxZU4gpNWaL9gK3Jp7dxlkUlUCJOTaSeA+Hrm1BRQwqIhg==", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.10.4", + "@babel/helper-replace-supers": "^7.10.4", + "@babel/helper-simple-access": "^7.10.4", + "@babel/helper-split-export-declaration": "^7.11.0", + "@babel/template": "^7.10.4", + "@babel/types": "^7.11.0", + "lodash": "^4.17.19" + } + }, + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.10.4.tgz", + "integrity": "sha512-n3UGKY4VXwXThEiKrgRAoVPBMqeoPgHVqiHZOanAJCG9nQUL2pLRQirUzl0ioKclHGpGqRgIOkgcIJaIWLpygg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.10.4" + } + }, + "node_modules/@babel/helper-replace-supers": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.10.4.tgz", + "integrity": "sha512-sPxZfFXocEymYTdVK1UNmFPBN+Hv5mJkLPsYWwGBxZAxaWfFu+xqp7b6qWD0yjNuNL2VKc6L5M18tOXUP7NU0A==", + "dev": true, + "dependencies": { + "@babel/helper-member-expression-to-functions": "^7.10.4", + "@babel/helper-optimise-call-expression": "^7.10.4", + "@babel/traverse": "^7.10.4", + "@babel/types": "^7.10.4" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.10.4.tgz", + "integrity": "sha512-0fMy72ej/VEvF8ULmX6yb5MtHG4uH4Dbd6I/aHDb/JVg0bbivwt9Wg+h3uMvX+QSFtwr5MeItvazbrc4jtRAXw==", + "dev": true, + "dependencies": { + "@babel/template": "^7.10.4", + "@babel/types": "^7.10.4" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.11.0", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.11.0.tgz", + "integrity": "sha512-74Vejvp6mHkGE+m+k5vHY93FX2cAtrw1zXrZXRlG4l410Nm9PxfEiVTn1PjDPV5SnmieiueY4AFg2xqhNFuuZg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.11.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz", + "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==", + "dev": true + }, + "node_modules/@babel/helpers": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.10.4.tgz", + "integrity": "sha512-L2gX/XeUONeEbI78dXSrJzGdz4GQ+ZTA/aazfUsFaWjSe95kiCuOZ5HsXvkiw3iwF+mFHSRUfJU8t6YavocdXA==", + "dev": true, + "dependencies": { + "@babel/template": "^7.10.4", + "@babel/traverse": "^7.10.4", + "@babel/types": "^7.10.4" + } + }, + "node_modules/@babel/highlight": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", + "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.10.4", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "node_modules/@babel/highlight/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/parser": { + "version": "7.11.5", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.11.5.tgz", + "integrity": "sha512-X9rD8qqm695vgmeaQ4fvz/o3+Wk4ZzQvSHkDBgpYKxpD4qTAUm88ZKtHkVqIOsYFFbIQ6wQYhC6q7pjqVK0E0Q==", + "dev": true, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/template": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.4.tgz", + "integrity": "sha512-ZCjD27cGJFUB6nmCB1Enki3r+L5kJveX9pq1SvAUKoICy6CZ9yD8xO086YXdYhvNjBdnekm4ZnaP5yC8Cs/1tA==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.10.4", + "@babel/parser": "^7.10.4", + "@babel/types": "^7.10.4" + } + }, + "node_modules/@babel/traverse": { + "version": "7.11.5", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.11.5.tgz", + "integrity": "sha512-EjiPXt+r7LiCZXEfRpSJd+jUMnBd4/9OUv7Nx3+0u9+eimMwJmG0Q98lw4/289JCoxSE8OolDMNZaaF/JZ69WQ==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.10.4", + "@babel/generator": "^7.11.5", + "@babel/helper-function-name": "^7.10.4", + "@babel/helper-split-export-declaration": "^7.11.0", + "@babel/parser": "^7.11.5", + "@babel/types": "^7.11.5", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.19" + } + }, + "node_modules/@babel/traverse/node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/types": { + "version": "7.11.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.11.5.tgz", + "integrity": "sha512-bvM7Qz6eKnJVFIn+1LPtjlBFPVN5jNDc1XmN15vWe7Q3DPBufWWsLiIvUu7xW87uTG6QoggpIDnUgLQvPheU+Q==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.10.4", + "lodash": "^4.17.19", + "to-fast-properties": "^2.0.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.0.tgz", + "integrity": "sha512-2ZPCc+uNbjV5ERJr+aKSPRwZgKd2z11x0EgLvb1PURmUrn9QNRXFqje0Ldq454PfAVyaJYyrDvvIKSFP4NnBog==", + "dev": true, + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.1.1", + "espree": "^7.3.0", + "globals": "^12.1.0", + "ignore": "^4.0.6", + "import-fresh": "^3.2.1", + "js-yaml": "^3.13.1", + "minimatch": "^3.0.4", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/@eslint/eslintrc/node_modules/globals": { + "version": "12.4.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", + "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", + "dev": true, + "dependencies": { + "type-fest": "^0.8.1" + }, + "engines": { + "node": ">=8" + } + }, + "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, + "engines": { + "node": ">= 4" + } + }, + "node_modules/@ethersproject/abi": { + "version": "5.0.7", + "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.0.7.tgz", + "integrity": "sha512-Cqktk+hSIckwP/W8O47Eef60VwmoSC/L3lY0+dIBhQPCNn9E4V7rwmm2aFrNRRDJfFlGuZ1khkQUOc3oBX+niw==", + "dependencies": { + "@ethersproject/address": "^5.0.4", + "@ethersproject/bignumber": "^5.0.7", + "@ethersproject/bytes": "^5.0.4", + "@ethersproject/constants": "^5.0.4", + "@ethersproject/hash": "^5.0.4", + "@ethersproject/keccak256": "^5.0.3", + "@ethersproject/logger": "^5.0.5", + "@ethersproject/properties": "^5.0.3", + "@ethersproject/strings": "^5.0.4" + } + }, + "node_modules/@ethersproject/abstract-provider": { + "version": "5.0.9", + "resolved": "https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.0.9.tgz", + "integrity": "sha512-X9fMkqpeu9ayC3JyBkeeZhn35P4xQkpGX/l+FrxDtEW9tybf/UWXSMi8bGThpPtfJ6q6U2LDetXSpSwK4TfYQQ==", + "dependencies": { + "@ethersproject/bignumber": "^5.0.13", + "@ethersproject/bytes": "^5.0.9", + "@ethersproject/logger": "^5.0.8", + "@ethersproject/networks": "^5.0.7", + "@ethersproject/properties": "^5.0.7", + "@ethersproject/transactions": "^5.0.9", + "@ethersproject/web": "^5.0.12" + } + }, + "node_modules/@ethersproject/abstract-signer": { + "version": "5.0.12", + "resolved": "https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.0.12.tgz", + "integrity": "sha512-qt4jAEzQGPZ31My1gFGPzzJHJveYhVycW7RHkuX0W8fvMdg7wr0uvP7mQEptMVrb+jYwsVktCf6gBGwWDpFiTA==", + "dependencies": { + "@ethersproject/abstract-provider": "^5.0.8", + "@ethersproject/bignumber": "^5.0.13", + "@ethersproject/bytes": "^5.0.9", + "@ethersproject/logger": "^5.0.8", + "@ethersproject/properties": "^5.0.7" + } + }, + "node_modules/@ethersproject/address": { + "version": "5.0.10", + "resolved": "https://registry.npmjs.org/@ethersproject/address/-/address-5.0.10.tgz", + "integrity": "sha512-70vqESmW5Srua1kMDIN6uVfdneZMaMyRYH4qPvkAXGkbicrCOsA9m01vIloA4wYiiF+HLEfL1ENKdn5jb9xiAw==", + "dependencies": { + "@ethersproject/bignumber": "^5.0.13", + "@ethersproject/bytes": "^5.0.9", + "@ethersproject/keccak256": "^5.0.7", + "@ethersproject/logger": "^5.0.8", + "@ethersproject/rlp": "^5.0.7" + } + }, + "node_modules/@ethersproject/base64": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/@ethersproject/base64/-/base64-5.0.8.tgz", + "integrity": "sha512-PNbpHOMgZpZ1skvQl119pV2YkCPXmZTxw+T92qX0z7zaMFPypXWTZBzim+hUceb//zx4DFjeGT4aSjZRTOYThg==", + "dependencies": { + "@ethersproject/bytes": "^5.0.9" + } + }, + "node_modules/@ethersproject/bignumber": { + "version": "5.0.14", + "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.0.14.tgz", + "integrity": "sha512-Q4TjMq9Gg3Xzj0aeJWqJgI3tdEiPiET7Y5OtNtjTAODZ2kp4y9jMNg97zVcvPedFvGROdpGDyCI77JDFodUzOw==", + "dependencies": { + "@ethersproject/bytes": "^5.0.9", + "@ethersproject/logger": "^5.0.8", + "bn.js": "^4.4.0" + } + }, + "node_modules/@ethersproject/bytes": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.1.0.tgz", + "integrity": "sha512-sGTxb+LVjFxJcJeUswAIK6ncgOrh3D8c192iEJd7mLr95V6du119rRfYT/b87WPkZ5I3gRBUYIYXtdgCWACe8g==", + "dependencies": { + "@ethersproject/logger": "^5.1.0" + } + }, + "node_modules/@ethersproject/constants": { + "version": "5.0.9", + "resolved": "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.0.9.tgz", + "integrity": "sha512-2uAKH89UcaJP/Sc+54u92BtJtZ4cPgcS1p0YbB1L3tlkavwNvth+kNCUplIB1Becqs7BOZr0B/3dMNjhJDy4Dg==", + "dependencies": { + "@ethersproject/bignumber": "^5.0.13" + } + }, + "node_modules/@ethersproject/hash": { + "version": "5.0.11", + "resolved": "https://registry.npmjs.org/@ethersproject/hash/-/hash-5.0.11.tgz", + "integrity": "sha512-H3KJ9fk33XWJ2djAW03IL7fg3DsDMYjO1XijiUb1hJ85vYfhvxu0OmsU7d3tg2Uv1H1kFSo8ghr3WFQ8c+NL3g==", + "dependencies": { + "@ethersproject/abstract-signer": "^5.0.10", + "@ethersproject/address": "^5.0.9", + "@ethersproject/bignumber": "^5.0.13", + "@ethersproject/bytes": "^5.0.9", + "@ethersproject/keccak256": "^5.0.7", + "@ethersproject/logger": "^5.0.8", + "@ethersproject/properties": "^5.0.7", + "@ethersproject/strings": "^5.0.8" + } + }, + "node_modules/@ethersproject/keccak256": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.0.8.tgz", + "integrity": "sha512-zoGbwXcWWs9MX4NOAZ7N0hhgIRl4Q/IO/u9c/RHRY4WqDy3Ywm0OLamEV53QDwhjwn3YiiVwU1Ve5j7yJ0a/KQ==", + "dependencies": { + "@ethersproject/bytes": "^5.0.9", + "js-sha3": "0.5.7" + } + }, + "node_modules/@ethersproject/keccak256/node_modules/js-sha3": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.7.tgz", + "integrity": "sha1-DU/9gALVMzqrr0oj7tL2N0yfKOc=" + }, + "node_modules/@ethersproject/logger": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.1.0.tgz", + "integrity": "sha512-wtUaD1lBX10HBXjjKV9VHCBnTdUaKQnQ2XSET1ezglqLdPdllNOIlLfhyCRqXm5xwcjExVI5ETokOYfjPtaAlw==" + }, + "node_modules/@ethersproject/networks": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.0.8.tgz", + "integrity": "sha512-PYpptlO2Tu5f/JEBI5hdlMds5k1DY1QwVbh3LKPb3un9dQA2bC51vd2/gRWAgSBpF3kkmZOj4FhD7ATLX4H+DA==", + "dependencies": { + "@ethersproject/logger": "^5.0.8" + } + }, + "node_modules/@ethersproject/properties": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.1.0.tgz", + "integrity": "sha512-519KKTwgmH42AQL3+GFV3SX6khYEfHsvI6v8HYejlkigSDuqttdgVygFTDsGlofNFchhDwuclrxQnD5B0YLNMg==", + "dependencies": { + "@ethersproject/logger": "^5.1.0" + } + }, + "node_modules/@ethersproject/rlp": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.0.8.tgz", + "integrity": "sha512-E4wdFs8xRNJfzNHmnkC8w5fPeT4Wd1U2cust3YeT16/46iSkLT8nn8ilidC6KhR7hfuSZE4UqSPzyk76p7cdZg==", + "dependencies": { + "@ethersproject/bytes": "^5.0.9", + "@ethersproject/logger": "^5.0.8" + } + }, + "node_modules/@ethersproject/signing-key": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@ethersproject/signing-key/-/signing-key-5.1.0.tgz", + "integrity": "sha512-tE5LFlbmdObG8bY04NpuwPWSRPgEswfxweAI1sH7TbP0ml1elNfqcq7ii/3AvIN05i5U0Pkm3Tf8bramt8MmLw==", + "dependencies": { + "@ethersproject/bytes": "^5.1.0", + "@ethersproject/logger": "^5.1.0", + "@ethersproject/properties": "^5.1.0", + "bn.js": "^4.4.0", + "elliptic": "6.5.4" + } + }, + "node_modules/@ethersproject/strings": { + "version": "5.0.9", + "resolved": "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.0.9.tgz", + "integrity": "sha512-ogxBpcUpdO524CYs841MoJHgHxEPUy0bJFDS4Ezg8My+WYVMfVAOlZSLss0Rurbeeam8CpUVDzM4zUn09SU66Q==", + "dependencies": { + "@ethersproject/bytes": "^5.0.9", + "@ethersproject/constants": "^5.0.8", + "@ethersproject/logger": "^5.0.8" + } + }, + "node_modules/@ethersproject/transactions": { + "version": "5.0.10", + "resolved": "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.0.10.tgz", + "integrity": "sha512-Tqpp+vKYQyQdJQQk4M73tDzO7ODf2D42/sJOcKlDAAbdSni13v6a+31hUdo02qYXhVYwIs+ZjHnO4zKv5BNk8w==", + "dependencies": { + "@ethersproject/address": "^5.0.9", + "@ethersproject/bignumber": "^5.0.13", + "@ethersproject/bytes": "^5.0.9", + "@ethersproject/constants": "^5.0.8", + "@ethersproject/keccak256": "^5.0.7", + "@ethersproject/logger": "^5.0.8", + "@ethersproject/properties": "^5.0.7", + "@ethersproject/rlp": "^5.0.7", + "@ethersproject/signing-key": "^5.0.8" + } + }, + "node_modules/@ethersproject/web": { + "version": "5.0.13", + "resolved": "https://registry.npmjs.org/@ethersproject/web/-/web-5.0.13.tgz", + "integrity": "sha512-G3x/Ns7pQm21ALnWLbdBI5XkW/jrsbXXffI9hKNPHqf59mTxHYtlNiSwxdoTSwCef3Hn7uvGZpaSgTyxs7IufQ==", + "dependencies": { + "@ethersproject/base64": "^5.0.7", + "@ethersproject/bytes": "^5.0.9", + "@ethersproject/logger": "^5.0.8", + "@ethersproject/properties": "^5.0.7", + "@ethersproject/strings": "^5.0.8" + } + }, + "node_modules/@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", + "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", + "dev": true, + "dependencies": { + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/schema": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.2.tgz", + "integrity": "sha512-tsAQNx32a8CoFhjhijUIhI4kccIAgmGhy8LZMZgGfmXcpMbPRUqn5LWmgRttILi6yeGmBJd2xsPkFMs0PzgPCw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/types": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", + "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.4.tgz", + "integrity": "sha512-33g3pMJk3bg5nXbL/+CY6I2eJDzZAni49PfJnL5fghPTggPvBd/pFNSgJsdAgWptuFu7qq/ERvOYFlhvsLTCKA==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "2.0.4", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.4.tgz", + "integrity": "sha512-IYlHJA0clt2+Vg7bccq+TzRdJvv19c2INqBSsoOLp1je7xjtr7J26+WXR72MCdvU9q1qTzIWDfhMf+DRvQJK4Q==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.6.tgz", + "integrity": "sha512-8Broas6vTtW4GIXTAHDoE32hnN2M5ykgCpWGbuXHQ15vEMqr23pB76e/GZcYsZCHALv50ktd24qhEyKr6wBtow==", + "dev": true, + "dependencies": { + "@nodelib/fs.scandir": "2.1.4", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@tootallnate/once": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", + "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/@types/color-name": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz", + "integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==", + "dev": true + }, + "node_modules/@types/fs-extra": { + "version": "9.0.11", + "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-9.0.11.tgz", + "integrity": "sha512-mZsifGG4QeQ7hlkhO56u7zt/ycBgGxSVsFI/6lGTU34VtwkiqrrSDgw0+ygs8kFGWcXnFQWMrzF2h7TtDFNixA==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/istanbul-lib-coverage": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz", + "integrity": "sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw==", + "dev": true + }, + "node_modules/@types/istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "*" + } + }, + "node_modules/@types/istanbul-reports": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.0.tgz", + "integrity": "sha512-nwKNbvnwJ2/mndE9ItP/zc2TCzw6uuodnF4EHYWD+gCQDVBuRQL5UzbZD0/ezy1iKsFU2ZQiDqg4M9dN4+wZgA==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/@types/json-schema": { + "version": "7.0.7", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.7.tgz", + "integrity": "sha512-cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA==", + "dev": true + }, + "node_modules/@types/minimist": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.1.tgz", + "integrity": "sha512-fZQQafSREFyuZcdWFAExYjBiCL7AUCdgsk80iO0q4yihYYdcIiH28CcuPTGFgLOCC8RlW49GSQxdHwZP+I7CNg==", + "dev": true + }, + "node_modules/@types/mocha": { + "version": "8.2.2", + "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-8.2.2.tgz", + "integrity": "sha512-Lwh0lzzqT5Pqh6z61P3c3P5nm6fzQK/MMHl9UKeneAeInVflBSz1O2EkX6gM6xfJd7FBXBY5purtLx7fUiZ7Hw==", + "dev": true + }, + "node_modules/@types/node": { + "version": "12.20.11", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.11.tgz", + "integrity": "sha512-gema+apZ6qLQK7k7F0dGkGCWQYsL0qqKORWOQO6tq46q+x+1C0vbOiOqOwRVlh4RAdbQwV/j/ryr3u5NOG1fPQ==", + "dev": true + }, + "node_modules/@types/semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-iotVxtCCsPLRAvxMFFgxL8HD2l4mAZ2Oin7/VJ2ooWO0VOK4EGOGmZWZn1uCq7RofR3I/1IOSjCHlFT71eVK0Q==", + "dev": true + }, + "node_modules/@types/stack-utils": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.0.tgz", + "integrity": "sha512-RJJrrySY7A8havqpGObOB4W92QXKJo63/jFLLgpvOtsGUqbQZ9Sbgl35KMm1DjC6j7AvmmU2bIno+3IyEaemaw==", + "dev": true + }, + "node_modules/@types/yargs": { + "version": "15.0.9", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.9.tgz", + "integrity": "sha512-HmU8SeIRhZCWcnRskCs36Q1Q00KBV6Cqh/ora8WN1+22dY07AZdn6Gel8QZ3t26XYPImtcL8WV/eqjhVmMEw4g==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@types/yargs-parser": { + "version": "15.0.0", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-15.0.0.tgz", + "integrity": "sha512-FA/BWv8t8ZWJ+gEOnLLd8ygxH/2UFbAvgEonyfN6yWGLKc7zVjbpl2Y4CTjid9h2RfgPP6SEt6uHwEOply00yw==", + "dev": true + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "4.22.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.22.0.tgz", + "integrity": "sha512-U8SP9VOs275iDXaL08Ln1Fa/wLXfj5aTr/1c0t0j6CdbOnxh+TruXu1p4I0NAvdPBQgoPjHsgKn28mOi0FzfoA==", + "dev": true, + "dependencies": { + "@typescript-eslint/experimental-utils": "4.22.0", + "@typescript-eslint/scope-manager": "4.22.0", + "debug": "^4.1.1", + "functional-red-black-tree": "^1.0.1", + "lodash": "^4.17.15", + "regexpp": "^3.0.0", + "semver": "^7.3.2", + "tsutils": "^3.17.1" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^4.0.0", + "eslint": "^5.0.0 || ^6.0.0 || ^7.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/experimental-utils": { + "version": "4.22.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.22.0.tgz", + "integrity": "sha512-xJXHHl6TuAxB5AWiVrGhvbGL8/hbiCQ8FiWwObO3r0fnvBdrbWEDy1hlvGQOAWc6qsCWuWMKdVWlLAEMpxnddg==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.3", + "@typescript-eslint/scope-manager": "4.22.0", + "@typescript-eslint/types": "4.22.0", + "@typescript-eslint/typescript-estree": "4.22.0", + "eslint-scope": "^5.0.0", + "eslint-utils": "^2.0.0" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "*" + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "4.22.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.22.0.tgz", + "integrity": "sha512-z/bGdBJJZJN76nvAY9DkJANYgK3nlRstRRi74WHm3jjgf2I8AglrSY+6l7ogxOmn55YJ6oKZCLLy+6PW70z15Q==", + "dev": true, + "dependencies": { + "@typescript-eslint/scope-manager": "4.22.0", + "@typescript-eslint/types": "4.22.0", + "@typescript-eslint/typescript-estree": "4.22.0", + "debug": "^4.1.1" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^5.0.0 || ^6.0.0 || ^7.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "4.22.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.22.0.tgz", + "integrity": "sha512-OcCO7LTdk6ukawUM40wo61WdeoA7NM/zaoq1/2cs13M7GyiF+T4rxuA4xM+6LeHWjWbss7hkGXjFDRcKD4O04Q==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "4.22.0", + "@typescript-eslint/visitor-keys": "4.22.0" + }, + "engines": { + "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/types": { + "version": "4.22.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.22.0.tgz", + "integrity": "sha512-sW/BiXmmyMqDPO2kpOhSy2Py5w6KvRRsKZnV0c4+0nr4GIcedJwXAq+RHNK4lLVEZAJYFltnnk1tJSlbeS9lYA==", + "dev": true, + "engines": { + "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "4.22.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.22.0.tgz", + "integrity": "sha512-TkIFeu5JEeSs5ze/4NID+PIcVjgoU3cUQUIZnH3Sb1cEn1lBo7StSV5bwPuJQuoxKXlzAObjYTilOEKRuhR5yg==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "4.22.0", + "@typescript-eslint/visitor-keys": "4.22.0", + "debug": "^4.1.1", + "globby": "^11.0.1", + "is-glob": "^4.0.1", + "semver": "^7.3.2", + "tsutils": "^3.17.1" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "4.22.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.22.0.tgz", + "integrity": "sha512-nnMu4F+s4o0sll6cBSsTeVsT4cwxB7zECK3dFxzEjPBii9xLpq4yqqsy/FU5zMfan6G60DKZSCXAa3sHJZrcYw==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "4.22.0", + "eslint-visitor-keys": "^2.0.0" + }, + "engines": { + "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@ungap/promise-all-settled": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz", + "integrity": "sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q==", + "dev": true + }, + "node_modules/acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.1.tgz", + "integrity": "sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==", + "dev": true + }, + "node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "dev": true, + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "dev": true, + "dependencies": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "node_modules/ansi-colors": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", + "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/anymatch": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", + "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", + "dev": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/append-transform": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-2.0.0.tgz", + "integrity": "sha512-7yeyCEurROLQJFv5Xj4lEGTy0borxepjFv1g22oAdqFu//SrAlDl1O1Nxx15SH1RoliUml6p8dwJW9jvZughhg==", + "dev": true, + "dependencies": { + "default-require-extensions": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/archy": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", + "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=", + "dev": true + }, + "node_modules/arg": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", + "dev": true + }, + "node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/argv": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/argv/-/argv-0.0.2.tgz", + "integrity": "sha1-7L0W+JSbFXGDcRsb2jNPN4QBhas=", + "dev": true, + "engines": { + "node": ">=0.6.10" + } + }, + "node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/astral-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" + }, + "node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/bindings": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "dependencies": { + "file-uri-to-path": "1.0.0" + } + }, + "node_modules/bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==" + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=" + }, + "node_modules/browser-stdout": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", + "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", + "dev": true + }, + "node_modules/buffer-from": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", + "dev": true + }, + "node_modules/buffer-to-arraybuffer": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/buffer-to-arraybuffer/-/buffer-to-arraybuffer-0.0.5.tgz", + "integrity": "sha1-YGSkD6dutDxyOrqe+PbhIW0QURo=" + }, + "node_modules/caching-transform": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/caching-transform/-/caching-transform-4.0.0.tgz", + "integrity": "sha512-kpqOvwXnjjN44D89K5ccQC+RUrsy7jB/XLlRrx0D7/2HNcTPqzsb6XgYoErwko6QsV184CA2YgS1fxDiiDZMWA==", + "dev": true, + "dependencies": { + "hasha": "^5.0.0", + "make-dir": "^3.0.0", + "package-hash": "^4.0.0", + "write-file-atomic": "^3.0.0" + }, + "engines": { + "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" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", + "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/chalk/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, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/chalk/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/chalk/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/chalk/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/chalk/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/chokidar": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.1.tgz", + "integrity": "sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==", + "dev": true, + "dependencies": { + "anymatch": "~3.1.1", + "braces": "~3.0.2", + "glob-parent": "~5.1.0", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.5.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.1" + } + }, + "node_modules/clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/cliui": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", + "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", + "dependencies": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wrap-ansi": "^2.0.0" + } + }, + "node_modules/code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/codecov": { + "version": "3.8.1", + "resolved": "https://registry.npmjs.org/codecov/-/codecov-3.8.1.tgz", + "integrity": "sha512-Qm7ltx1pzLPsliZY81jyaQ80dcNR4/JpcX0IHCIWrHBXgseySqbdbYfkdiXd7o/xmzQpGRVCKGYeTrHUpn6Dcw==", + "dev": true, + "dependencies": { + "argv": "0.0.2", + "ignore-walk": "3.0.3", + "js-yaml": "3.14.0", + "teeny-request": "6.0.1", + "urlgrey": "0.4.4" + }, + "bin": { + "codecov": "bin/codecov" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "node_modules/colors": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", + "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", + "dev": true, + "engines": { + "node": ">=0.1.90" + } + }, + "node_modules/command-exists": { + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/command-exists/-/command-exists-1.2.9.tgz", + "integrity": "sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==" + }, + "node_modules/commander": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/commander/-/commander-3.0.2.tgz", + "integrity": "sha512-Gar0ASD4BDyKC4hl4DwHqDrmvjoxWKZigVnAbn5H1owvm4CxCPdb0HQDehwNYMJpla5+M2tPmPARzhtYuwpHow==" + }, + "node_modules/commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", + "dev": true + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + }, + "node_modules/convert-source-map": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", + "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.1" + } + }, + "node_modules/convert-source-map/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/create-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", + "dev": true + }, + "node_modules/cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dependencies": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + }, + "engines": { + "node": ">=4.8" + } + }, + "node_modules/cross-spawn/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/debug": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz", + "integrity": "sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", + "engines": { + "node": ">=0.10" + } + }, + "node_modules/decompress-response": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", + "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", + "dependencies": { + "mimic-response": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/deep-is": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", + "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", + "dev": true + }, + "node_modules/default-require-extensions": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-3.0.0.tgz", + "integrity": "sha512-ek6DpXq/SCpvjhpFsLFRVtIxJCRw6fUR42lYMVZuUMK7n8eMz4Uh5clckdBjEpLhn/gEBZo7hDJnJcwdKLKQjg==", + "dev": true, + "dependencies": { + "strip-bom": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/default-require-extensions/node_modules/strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/detect-file": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz", + "integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/diff": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", + "dev": true, + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/diff-sequences": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-26.6.2.tgz", + "integrity": "sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q==", + "dev": true, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/dir-glob/node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/dom-walk": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.2.tgz", + "integrity": "sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w==" + }, + "node_modules/elliptic": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", + "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", + "dependencies": { + "bn.js": "^4.11.9", + "brorand": "^1.1.0", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.1", + "inherits": "^2.0.4", + "minimalistic-assert": "^1.0.1", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "node_modules/emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==" + }, + "node_modules/end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/enquirer": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", + "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", + "dev": true, + "dependencies": { + "ansi-colors": "^4.1.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/es6-error": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz", + "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==", + "dev": true + }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/eslint": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.25.0.tgz", + "integrity": "sha512-TVpSovpvCNpLURIScDRB6g5CYu/ZFq9GfX2hLNIV4dSBKxIWojeDODvYl3t0k0VtMxYeR8OXPCFE5+oHMlGfhw==", + "dev": true, + "dependencies": { + "@babel/code-frame": "7.12.11", + "@eslint/eslintrc": "^0.4.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.1", + "eslint-utils": "^2.1.0", + "eslint-visitor-keys": "^2.0.0", + "espree": "^7.3.1", + "esquery": "^1.4.0", + "esutils": "^2.0.2", + "file-entry-cache": "^6.0.1", + "functional-red-black-tree": "^1.0.1", + "glob-parent": "^5.0.0", + "globals": "^13.6.0", + "ignore": "^4.0.6", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "js-yaml": "^3.13.1", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash": "^4.17.21", + "minimatch": "^3.0.4", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "progress": "^2.0.0", + "regexpp": "^3.1.0", + "semver": "^7.2.1", + "strip-ansi": "^6.0.0", + "strip-json-comments": "^3.1.0", + "table": "^6.0.4", + "text-table": "^0.2.0", + "v8-compile-cache": "^2.0.3" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-config-prettier": { + "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, + "bin": { + "eslint-config-prettier": "bin/cli.js" + }, + "peerDependencies": { + "eslint": ">=7.0.0" + } + }, + "node_modules/eslint-plugin-prettier": { + "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, + "dependencies": { + "prettier-linter-helpers": "^1.0.0" + }, + "engines": { + "node": ">=6.0.0" + }, + "peerDependencies": { + "eslint": ">=5.0.0", + "prettier": ">=1.13.0" + }, + "peerDependenciesMeta": { + "eslint-config-prettier": { + "optional": true + } + } + }, + "node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/eslint-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", + "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^1.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/eslint-utils/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, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz", + "integrity": "sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/eslint/node_modules/@babel/code-frame": { + "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, + "dependencies": { + "@babel/highlight": "^7.10.4" + } + }, + "node_modules/eslint/node_modules/ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/eslint/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, + "engines": { + "node": ">= 4" + } + }, + "node_modules/eslint/node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, + "node_modules/eslint/node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/espree": { + "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, + "dependencies": { + "acorn": "^7.4.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/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, + "engines": { + "node": ">=4" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true, + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/esquery": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", + "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", + "dev": true, + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "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, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esrecurse/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, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eth-lib": { + "version": "0.2.8", + "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", + "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", + "dependencies": { + "bn.js": "^4.11.6", + "elliptic": "^6.4.0", + "xhr-request-promise": "^0.1.2" + } + }, + "node_modules/ethereum-bloom-filters": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/ethereum-bloom-filters/-/ethereum-bloom-filters-1.0.9.tgz", + "integrity": "sha512-GiK/RQkAkcVaEdxKVkPcG07PQ5vD7v2MFSHgZmBJSfMzNRHimntdBithsHAT89tAXnIpzVDWt8iaCD1DvkaxGg==", + "dependencies": { + "js-sha3": "^0.8.0" + } + }, + "node_modules/ethjs-unit": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/ethjs-unit/-/ethjs-unit-0.1.6.tgz", + "integrity": "sha1-xmWSHkduh7ziqdWIpv4EBbLEFpk=", + "dependencies": { + "bn.js": "4.11.6", + "number-to-bn": "1.7.0" + }, + "engines": { + "node": ">=6.5.0", + "npm": ">=3" + } + }, + "node_modules/ethjs-unit/node_modules/bn.js": { + "version": "4.11.6", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", + "integrity": "sha1-UzRK2xRhehP26N0s4okF0cC6MhU=" + }, + "node_modules/execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "dependencies": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/expand-tilde": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", + "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=", + "dependencies": { + "homedir-polyfill": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expect": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/expect/-/expect-26.6.2.tgz", + "integrity": "sha512-9/hlOBkQl2l/PLHJx6JjoDF6xPKcJEsUlWKb23rKE7KzeDqUZKXKNMW27KIue5JMdBV9HgmoJPcc8HtO85t9IA==", + "dev": true, + "dependencies": { + "@jest/types": "^26.6.2", + "ansi-styles": "^4.0.0", + "jest-get-type": "^26.3.0", + "jest-matcher-utils": "^26.6.2", + "jest-message-util": "^26.6.2", + "jest-regex-util": "^26.0.0" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/expect/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, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/expect/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/expect/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/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "node_modules/fast-diff": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz", + "integrity": "sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==", + "dev": true + }, + "node_modules/fast-glob": { + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.5.tgz", + "integrity": "sha512-2DtFcgT68wiTTiwZ2hNdJfcHNke9XOfnwmBRWXhmeKM8rF0TGwmC/Qto3S7RoZKp5cilZbxzO5iTNTQsJ+EeDg==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.0", + "merge2": "^1.3.0", + "micromatch": "^4.0.2", + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", + "dev": true + }, + "node_modules/fastq": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.11.0.tgz", + "integrity": "sha512-7Eczs8gIPDrVzT+EksYBcupqMyxSHXXrHOLRRxU2/DicV8789MRBRR8+Hc2uWzUupOs4YS4JzBmBxjjCVBxD/g==", + "dev": true, + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/file-entry-cache": { + "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, + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-cache-dir": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.1.tgz", + "integrity": "sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ==", + "dev": true, + "dependencies": { + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "dependencies": { + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/findup-sync": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-4.0.0.tgz", + "integrity": "sha512-6jvvn/12IC4quLBL1KNokxC7wWTvYncaVUYSoxWw7YykPLuRrnv4qdHcSOywOI5RpkOVGeQRtWM8/q+G6W6qfQ==", + "dependencies": { + "detect-file": "^1.0.0", + "is-glob": "^4.0.0", + "micromatch": "^4.0.2", + "resolve-dir": "^1.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/flat": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", + "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", + "dev": true, + "bin": { + "flat": "cli.js" + } + }, + "node_modules/flat-cache": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", + "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "dev": true, + "dependencies": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/flat-cache/node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/flatted": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.1.1.tgz", + "integrity": "sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA==", + "dev": true + }, + "node_modules/follow-redirects": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.13.0.tgz", + "integrity": "sha512-aq6gF1BEKje4a9i9+5jimNFIpq4Q1WiwBToeRK5NvZBd/TRsmW8BsJfOEGkr76TbOyPVD3OVDN910EcUNtRYEA==", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/foreground-child": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-2.0.0.tgz", + "integrity": "sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/foreground-child/node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/foreground-child/node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/foreground-child/node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/foreground-child/node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/foreground-child/node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/fromentries": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/fromentries/-/fromentries-1.2.1.tgz", + "integrity": "sha512-Xu2Qh8yqYuDhQGOhD5iJGninErSfI9A3FrriD3tjUgV5VbJFeH8vfgZ9HnC6jWN80QDVNQK5vmxRAmEAp7Mevw==", + "dev": true + }, + "node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + }, + "node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.1", + "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", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", + "dev": true + }, + "node_modules/gensync": { + "version": "1.0.0-beta.1", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.1.tgz", + "integrity": "sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-caller-file": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", + "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==" + }, + "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, + "dependencies": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1" + } + }, + "node_modules/get-package-type": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", + "dev": true, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + } + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/global": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/global/-/global-4.4.0.tgz", + "integrity": "sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w==", + "dependencies": { + "min-document": "^2.19.0", + "process": "^0.11.10" + } + }, + "node_modules/global-modules": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", + "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", + "dependencies": { + "global-prefix": "^1.0.1", + "is-windows": "^1.0.1", + "resolve-dir": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/global-prefix": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", + "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=", + "dependencies": { + "expand-tilde": "^2.0.2", + "homedir-polyfill": "^1.0.1", + "ini": "^1.3.4", + "is-windows": "^1.0.1", + "which": "^1.2.14" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/globals": { + "version": "13.7.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.7.0.tgz", + "integrity": "sha512-Aipsz6ZKRxa/xQkZhNg0qIWXT6x6rD46f6x/PCnBomlttdIyAPak4YD9jTmKpZ72uROSMU87qJtcgpgHaVchiA==", + "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/globals/node_modules/type-fest": { + "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, + "engines": { + "node": ">=10" + } + }, + "node_modules/globby": { + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.3.tgz", + "integrity": "sha512-ffdmosjA807y7+lA1NM0jELARVmYul/715xiILEjo3hBLPTcirgQNnXECn5g3mtR8TOLCVbkfua1Hpen25/Xcg==", + "dev": true, + "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/graceful-fs": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", + "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==" + }, + "node_modules/growl": { + "version": "1.10.5", + "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz", + "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==", + "dev": true, + "engines": { + "node": ">=4.x" + } + }, + "node_modules/handlebars": { + "version": "4.7.7", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.7.tgz", + "integrity": "sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==", + "dev": true, + "dependencies": { + "minimist": "^1.2.5", + "neo-async": "^2.6.0", + "source-map": "^0.6.1", + "wordwrap": "^1.0.0" + }, + "bin": { + "handlebars": "bin/handlebars" + }, + "engines": { + "node": ">=0.4.7" + }, + "optionalDependencies": { + "uglify-js": "^3.1.4" + } + }, + "node_modules/handlebars/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "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, + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/has-symbols": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", + "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/hash.js": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", + "dependencies": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } + }, + "node_modules/hasha": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/hasha/-/hasha-5.2.1.tgz", + "integrity": "sha512-x15jnRSHTi3VmH+oHtVb9kgU/HuKOK8mjK8iCL3dPQXh4YJlUb9YSI8ZLiiqLAIvY2wuDIlZYZppy8vB2XISkQ==", + "dev": true, + "dependencies": { + "is-stream": "^2.0.0", + "type-fest": "^0.8.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/hasha/node_modules/is-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz", + "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "dev": true, + "bin": { + "he": "bin/he" + } + }, + "node_modules/hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", + "dependencies": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "node_modules/homedir-polyfill": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", + "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", + "dependencies": { + "parse-passwd": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/hosted-git-info": { + "version": "2.8.8", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz", + "integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==" + }, + "node_modules/html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", + "dev": true + }, + "node_modules/http-proxy-agent": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", + "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", + "dev": true, + "dependencies": { + "@tootallnate/once": "1", + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/https-proxy-agent": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-4.0.0.tgz", + "integrity": "sha512-zoDhWrkR3of1l9QAL8/scJZyLu8j/gBkcwcaQOZh7Gyh/+uJQzGVETdgT30akuwkpL8HTRfssqI3BZuV18teDg==", + "dev": true, + "dependencies": { + "agent-base": "5", + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/https-proxy-agent/node_modules/agent-base": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-5.1.1.tgz", + "integrity": "sha512-TMeqbNl2fMW0nMjTEPOwe3J/PRFP4vqeoNuQMG0HlMrtm5QxKqdvAkZ1pRBQ/ulIyDD5Yq0nJ7YbdD8ey0TO3g==", + "dev": true, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/ignore": { + "version": "5.1.8", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", + "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/ignore-walk": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.3.tgz", + "integrity": "sha512-m7o6xuOaT1aqheYHKf8W6J5pYH85ZI9w077erOzLje3JsB1gkafkAhHHY19dqjulgIZHFm32Cp5uNZgcQqdJKw==", + "dev": true, + "dependencies": { + "minimatch": "^3.0.4" + } + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "dev": true, + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" + }, + "node_modules/interpret": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", + "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/invert-kv": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", + "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-boolean-object": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.0.tgz", + "integrity": "sha512-a7Uprx8UtD+HWdyYwnD1+ExtTgqQtD2k/1yJgtXP6wnMm8byhkoTZRl+95LLThpzNZJ5aEvi46cdH+ayMFRwmA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "dependencies": { + "number-is-nan": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-function": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-function/-/is-function-1.0.2.tgz", + "integrity": "sha512-lw7DUp0aWXYg+CBCN+JKkcE0Q2RayZnSvnZBlwgxHBQhqt5pZNVy4Ri7H9GmmXkdu7LUthszM+Tor1u/2iBcpQ==" + }, + "node_modules/is-glob": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-hex-prefixed": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-hex-prefixed/-/is-hex-prefixed-1.0.0.tgz", + "integrity": "sha1-fY035q135dEnFIkTxXPggtd39VQ=", + "engines": { + "node": ">=6.5.0", + "npm": ">=3" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-number-object": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.4.tgz", + "integrity": "sha512-zohwelOAur+5uXtk8O3GPQ1eAcu4ZX3UwxQhUlfFFMNpUd83gXgjbhJh6HmB6LUNV/ieOLQuDwJO3dWJosUeMw==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-plain-obj": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", + "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-string": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.5.tgz", + "integrity": "sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", + "dev": true + }, + "node_modules/is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=" + }, + "node_modules/is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" + }, + "node_modules/istanbul-lib-coverage": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz", + "integrity": "sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-hook": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-3.0.0.tgz", + "integrity": "sha512-Pt/uge1Q9s+5VAZ+pCo16TYMWPBIl+oaNIjgLQxcX0itS6ueeaA+pEfThZpH8WxhFgCiEb8sAJY6MdUKgiIWaQ==", + "dev": true, + "dependencies": { + "append-transform": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-instrument": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz", + "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==", + "dev": true, + "dependencies": { + "@babel/core": "^7.7.5", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.0.0", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-instrument/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/istanbul-lib-processinfo": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-processinfo/-/istanbul-lib-processinfo-2.0.2.tgz", + "integrity": "sha512-kOwpa7z9hme+IBPZMzQ5vdQj8srYgAtaRqeI48NGmAQ+/5yKiHLV0QbYqQpxsdEF0+w14SoB8YbnHKcXE2KnYw==", + "dev": true, + "dependencies": { + "archy": "^1.0.0", + "cross-spawn": "^7.0.0", + "istanbul-lib-coverage": "^3.0.0-alpha.1", + "make-dir": "^3.0.0", + "p-map": "^3.0.0", + "rimraf": "^3.0.0", + "uuid": "^3.3.3" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-processinfo/node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/istanbul-lib-processinfo/node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-processinfo/node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/istanbul-lib-processinfo/node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-processinfo/node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-processinfo/node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", + "dev": true, + "dependencies": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^3.0.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-report/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-report/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-source-maps": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz", + "integrity": "sha512-c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg==", + "dev": true, + "dependencies": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-source-maps/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/istanbul-reports": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.0.2.tgz", + "integrity": "sha512-9tZvz7AiR3PEDNGiV9vIouQ/EAcqMXFmkcA1CDFTwOB98OZVDL0PH9glHotf5Ugp6GCOTypfzGWI/OqjWNCRUw==", + "dev": true, + "dependencies": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-diff": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-26.6.2.tgz", + "integrity": "sha512-6m+9Z3Gv9wN0WFVasqjCL/06+EFCMTqDEUl/b87HYK2rAPTyfz4ZIuSlPhY51PIQRWx5TaxeF1qmXKe9gfN3sA==", + "dev": true, + "dependencies": { + "chalk": "^4.0.0", + "diff-sequences": "^26.6.2", + "jest-get-type": "^26.3.0", + "pretty-format": "^26.6.2" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-get-type": { + "version": "26.3.0", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.3.0.tgz", + "integrity": "sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig==", + "dev": true, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-matcher-utils": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-26.6.2.tgz", + "integrity": "sha512-llnc8vQgYcNqDrqRDXWwMr9i7rS5XFiCwvh6DTP7Jqa2mqpcCBBlpCbn+trkG0KNhPu/h8rzyBkriOtBstvWhw==", + "dev": true, + "dependencies": { + "chalk": "^4.0.0", + "jest-diff": "^26.6.2", + "jest-get-type": "^26.3.0", + "pretty-format": "^26.6.2" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-message-util": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-26.6.2.tgz", + "integrity": "sha512-rGiLePzQ3AzwUshu2+Rn+UMFk0pHN58sOG+IaJbk5Jxuqo3NYO1U2/MIR4S1sKgsoYSXSzdtSa0TgrmtUwEbmA==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "@jest/types": "^26.6.2", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "micromatch": "^4.0.2", + "pretty-format": "^26.6.2", + "slash": "^3.0.0", + "stack-utils": "^2.0.2" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-regex-util": { + "version": "26.0.0", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-26.0.0.tgz", + "integrity": "sha512-Gv3ZIs/nA48/Zvjrl34bf+oD76JHiGDUxNOVgUjh3j890sblXryjY4rss71fPtD/njchl6PSE2hIhvyWa1eT0A==", + "dev": true, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/js-sha3": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", + "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==" + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "node_modules/js-yaml": { + "version": "3.14.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz", + "integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==", + "dev": true, + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsel": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/jsel/-/jsel-1.1.6.tgz", + "integrity": "sha512-7E6r8kVzjmKhwXR/82Z+43edfOJGRvLvx6cJZ+SS2MGAPPtYZGnaIsFHpQMA1IbIPA9twDProkob4IIAJ0ZqSw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", + "dev": true + }, + "node_modules/json5": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz", + "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==", + "dev": true, + "dependencies": { + "minimist": "^1.2.5" + }, + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dependencies": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + } + }, + "node_modules/keccak": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/keccak/-/keccak-1.4.0.tgz", + "integrity": "sha512-eZVaCpblK5formjPjeTBik7TAg+pqnDrMHIffSvi9Lh7PQgM1+hSzakUeZFCk9DVVG0dacZJuaz2ntwlzZUIBw==", + "dependencies": { + "bindings": "^1.2.1", + "inherits": "^2.0.3", + "nan": "^2.2.1", + "safe-buffer": "^5.1.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/klaw": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz", + "integrity": "sha1-QIhDO0azsbolnXh4XY6W9zugJDk=", + "dependencies": { + "graceful-fs": "^4.1.9" + } + }, + "node_modules/lcid": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", + "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", + "dependencies": { + "invert-kv": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/load-json-file": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "dependencies": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "dependencies": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/locate-path/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=", + "engines": { + "node": ">=4" + } + }, + "node_modules/lodash": { + "version": "4.17.20", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", + "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", + "dev": true + }, + "node_modules/lodash.assign": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz", + "integrity": "sha1-DZnzzNem0mHRm9rrkkUAXShYCOc=" + }, + "node_modules/lodash.clonedeep": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", + "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=", + "dev": true + }, + "node_modules/lodash.flatten": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz", + "integrity": "sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8=", + "dev": true + }, + "node_modules/lodash.flattendeep": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz", + "integrity": "sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI=", + "dev": true + }, + "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/log-symbols": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.0.0.tgz", + "integrity": "sha512-FN8JBzLx6CzeMrB0tg6pqlGU1wCrXW+ZXGH481kfsBqer0hToTIiHdjH4Mq8xJUbvATujKCvaREGWpGUionraA==", + "dev": true, + "dependencies": { + "chalk": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "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/lunr": { + "version": "2.3.9", + "resolved": "https://registry.npmjs.org/lunr/-/lunr-2.3.9.tgz", + "integrity": "sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==", + "dev": true + }, + "node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/make-dir/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", + "dev": true + }, + "node_modules/map-age-cleaner": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz", + "integrity": "sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==", + "dependencies": { + "p-defer": "^1.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/marked": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/marked/-/marked-2.0.3.tgz", + "integrity": "sha512-5otztIIcJfPc2qGTN8cVtOJEjNJZ0jwa46INMagrYfk0EvqtRuEHLsEe0LrFS0/q+ZRKT0+kXK7P2T1AN5lWRA==", + "dev": true, + "bin": { + "marked": "bin/marked" + }, + "engines": { + "node": ">= 8.16.2" + } + }, + "node_modules/mem": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/mem/-/mem-4.3.0.tgz", + "integrity": "sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w==", + "dependencies": { + "map-age-cleaner": "^0.1.1", + "mimic-fn": "^2.0.0", + "p-is-promise": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/memorystream": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz", + "integrity": "sha1-htcJCzDORV1j+64S3aUaR93K+bI=", + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "dependencies": { + "braces": "^3.0.1", + "picomatch": "^2.0.5" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/mimic-response": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", + "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", + "engines": { + "node": ">=4" + } + }, + "node_modules/min-document": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz", + "integrity": "sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU=", + "dependencies": { + "dom-walk": "^0.1.0" + } + }, + "node_modules/minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" + }, + "node_modules/minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=" + }, + "node_modules/minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" + }, + "node_modules/mocha": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-8.3.2.tgz", + "integrity": "sha512-UdmISwr/5w+uXLPKspgoV7/RXZwKRTiTjJ2/AC5ZiEztIoOYdfKb19+9jNmEInzx5pBsCyJQzarAxqIGBNYJhg==", + "dev": true, + "dependencies": { + "@ungap/promise-all-settled": "1.1.2", + "ansi-colors": "4.1.1", + "browser-stdout": "1.3.1", + "chokidar": "3.5.1", + "debug": "4.3.1", + "diff": "5.0.0", + "escape-string-regexp": "4.0.0", + "find-up": "5.0.0", + "glob": "7.1.6", + "growl": "1.10.5", + "he": "1.2.0", + "js-yaml": "4.0.0", + "log-symbols": "4.0.0", + "minimatch": "3.0.4", + "ms": "2.1.3", + "nanoid": "3.1.20", + "serialize-javascript": "5.0.1", + "strip-json-comments": "3.1.1", + "supports-color": "8.1.1", + "which": "2.0.2", + "wide-align": "1.1.3", + "workerpool": "6.1.0", + "yargs": "16.2.0", + "yargs-parser": "20.2.4", + "yargs-unparser": "2.0.0" + }, + "bin": { + "_mocha": "bin/_mocha", + "mocha": "bin/mocha" + }, + "engines": { + "node": ">= 10.12.0" + } + }, + "node_modules/mocha/node_modules/ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/mocha/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, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/mocha/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "node_modules/mocha/node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "node_modules/mocha/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/mocha/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/mocha/node_modules/debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/mocha/node_modules/debug/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/mocha/node_modules/diff": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", + "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==", + "dev": true, + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/mocha/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/mocha/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, + "engines": { + "node": ">=10" + } + }, + "node_modules/mocha/node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/mocha/node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/mocha/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/mocha/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/mocha/node_modules/js-yaml": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.0.0.tgz", + "integrity": "sha512-pqon0s+4ScYUvX30wxQi3PogGFAlUyH0awepWvwkj4jD4v+ova3RiYw8bmA6x2rDrEaj8i/oWKoRxpVNW+Re8Q==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/mocha/node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/mocha/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + }, + "node_modules/mocha/node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/mocha/node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/mocha/node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/mocha/node_modules/string-width": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", + "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/mocha/node_modules/strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/mocha/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/mocha/node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/mocha/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/mocha/node_modules/y18n": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.5.tgz", + "integrity": "sha512-hsRUr4FFrvhhRH12wOdfs38Gy7k2FFzB9qgN9v3aLykRq0dRcdcpz5C9FxdS2NuhOrI/628b/KSTJ3rwHysYSg==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/mocha/node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dev": true, + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/mocha/node_modules/yargs-parser": { + "version": "20.2.4", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", + "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/nan": { + "version": "2.14.1", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.1.tgz", + "integrity": "sha512-isWHgVjnFjh2x2yuJ/tj3JbwoHu3UC2dX5G/88Cm24yB6YopVgxvBObDY7n5xW6ExmFhJpSEQqFPvq9zaXc8Jw==" + }, + "node_modules/nanoid": { + "version": "3.1.20", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.20.tgz", + "integrity": "sha512-a1cQNyczgKbLX9jwbS/+d7W8fX/RfgYR7lVWwWOGIPNgK2m0MWvrGF6/m4kk6U3QcFMnZf3RIhL0v2Jgh/0Uxw==", + "dev": true, + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", + "dev": true + }, + "node_modules/neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true + }, + "node_modules/nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==" + }, + "node_modules/node-fetch": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz", + "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==", + "dev": true, + "engines": { + "node": "4.x || >=6.0.0" + } + }, + "node_modules/node-preload": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/node-preload/-/node-preload-0.2.1.tgz", + "integrity": "sha512-RM5oyBy45cLEoHqCeh+MNuFAxO0vTFBLskvQbOKnEE7YTTSN4tbN8QWDIPQ6L+WvKsB/qLEGpYe2ZZ9d4W9OIQ==", + "dev": true, + "dependencies": { + "process-on-spawn": "^1.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dependencies": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "node_modules/normalize-package-data/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "dependencies": { + "path-key": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/number-to-bn": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/number-to-bn/-/number-to-bn-1.7.0.tgz", + "integrity": "sha1-uzYjWS9+X54AMLGXe9QaDFP+HqA=", + "dependencies": { + "bn.js": "4.11.6", + "strip-hex-prefix": "1.0.0" + }, + "engines": { + "node": ">=6.5.0", + "npm": ">=3" + } + }, + "node_modules/number-to-bn/node_modules/bn.js": { + "version": "4.11.6", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", + "integrity": "sha1-UzRK2xRhehP26N0s4okF0cC6MhU=" + }, + "node_modules/nyc": { + "version": "15.1.0", + "resolved": "https://registry.npmjs.org/nyc/-/nyc-15.1.0.tgz", + "integrity": "sha512-jMW04n9SxKdKi1ZMGhvUTHBN0EICCRkHemEoE5jm6mTYcqcdas0ATzgUgejlQUHMvpnOZqGB5Xxsv9KxJW1j8A==", + "dev": true, + "dependencies": { + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "caching-transform": "^4.0.0", + "convert-source-map": "^1.7.0", + "decamelize": "^1.2.0", + "find-cache-dir": "^3.2.0", + "find-up": "^4.1.0", + "foreground-child": "^2.0.0", + "get-package-type": "^0.1.0", + "glob": "^7.1.6", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-hook": "^3.0.0", + "istanbul-lib-instrument": "^4.0.0", + "istanbul-lib-processinfo": "^2.0.2", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.0.2", + "make-dir": "^3.0.0", + "node-preload": "^0.2.1", + "p-map": "^3.0.0", + "process-on-spawn": "^1.0.0", + "resolve-from": "^5.0.0", + "rimraf": "^3.0.0", + "signal-exit": "^3.0.2", + "spawn-wrap": "^2.0.0", + "test-exclude": "^6.0.0", + "yargs": "^15.0.2" + }, + "bin": { + "nyc": "bin/nyc.js" + }, + "engines": { + "node": ">=8.9" + } + }, + "node_modules/nyc/node_modules/ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/nyc/node_modules/ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "dependencies": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/nyc/node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/nyc/node_modules/cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + } + }, + "node_modules/nyc/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/nyc/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/nyc/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/nyc/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/nyc/node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/nyc/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/nyc/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/nyc/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/nyc/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/nyc/node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/nyc/node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/nyc/node_modules/require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "dev": true + }, + "node_modules/nyc/node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/nyc/node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/nyc/node_modules/string-width": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", + "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/nyc/node_modules/strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/nyc/node_modules/which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", + "dev": true + }, + "node_modules/nyc/node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/nyc/node_modules/y18n": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", + "dev": true + }, + "node_modules/nyc/node_modules/yargs": { + "version": "15.4.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", + "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", + "dev": true, + "dependencies": { + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^4.2.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^18.1.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/nyc/node_modules/yargs-parser": { + "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "dev": true, + "dependencies": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onigasm": { + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/onigasm/-/onigasm-2.2.5.tgz", + "integrity": "sha512-F+th54mPc0l1lp1ZcFMyL/jTs2Tlq4SqIHKIXGZOR/VkHkF9A7Fr5rRr5+ZG/lWeRsyrClLYRq7s/yFQ/XhWCA==", + "dev": true, + "dependencies": { + "lru-cache": "^5.1.1" + } + }, + "node_modules/onigasm/node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/onigasm/node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + }, + "node_modules/optionator": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", + "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "dev": true, + "dependencies": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/os-locale": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", + "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", + "dependencies": { + "lcid": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/p-defer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz", + "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=", + "engines": { + "node": ">=4" + } + }, + "node_modules/p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", + "engines": { + "node": ">=4" + } + }, + "node_modules/p-is-promise": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-2.1.0.tgz", + "integrity": "sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg==", + "engines": { + "node": ">=6" + } + }, + "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==", + "dependencies": { + "p-try": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "dependencies": { + "p-limit": "^1.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/p-map": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz", + "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==", + "dev": true, + "dependencies": { + "aggregate-error": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "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=", + "engines": { + "node": ">=4" + } + }, + "node_modules/package-hash": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/package-hash/-/package-hash-4.0.0.tgz", + "integrity": "sha512-whdkPIooSu/bASggZ96BWVvZTRMOFxnyUG5PnTSGKoJE2gd5mbVNmR2Nj20QFzxYYgAXpoqC+AiXzl+UMRh7zQ==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.15", + "hasha": "^5.0.0", + "lodash.flattendeep": "^4.4.0", + "release-zalgo": "^1.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "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, + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-headers": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/parse-headers/-/parse-headers-2.0.3.tgz", + "integrity": "sha512-QhhZ+DCCit2Coi2vmAKbq5RGTRcQUOE2+REgv8vdyu7MnYx2eZztegqtTx99TZ86GTIwqiy3+4nQTWZ2tgmdCA==" + }, + "node_modules/parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "dependencies": { + "error-ex": "^1.2.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/parse-passwd": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", + "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "dependencies": { + "pinkie-promise": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "engines": { + "node": ">=4" + } + }, + "node_modules/path-parse": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", + "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==" + }, + "node_modules/path-type": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", + "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", + "dependencies": { + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pegjs": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/pegjs/-/pegjs-0.10.0.tgz", + "integrity": "sha1-z4uvrm7d/0tafvsYUmnqr0YQ3b0=", + "dev": true, + "bin": { + "pegjs": "bin/pegjs" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/picomatch": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", + "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==", + "engines": { + "node": ">=8.6" + } + }, + "node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "dependencies": { + "pinkie": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-dir/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-dir/node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/prettier": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.2.1.tgz", + "integrity": "sha512-PqyhM2yCjg/oKkFPtTGUojv7gnZAoG80ttl45O6x2Ug/rMJw4wcc9k6aaf2hibP7BGVCCM33gZoGjyvt9mm16Q==", + "dev": true, + "bin": { + "prettier": "bin-prettier.js" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "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, + "dependencies": { + "fast-diff": "^1.1.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/pretty-format": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", + "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==", + "dev": true, + "dependencies": { + "@jest/types": "^26.6.2", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^17.0.1" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/pretty-format/node_modules/ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/pretty-format/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, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pretty-format/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/pretty-format/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/process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", + "engines": { + "node": ">= 0.6.0" + } + }, + "node_modules/process-on-spawn": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/process-on-spawn/-/process-on-spawn-1.0.0.tgz", + "integrity": "sha512-1WsPDsUSMmZH5LeMLegqkPDrsGgsWwk1Exipy2hvB0o/F0ASzbpIctSCcZIK1ykJvtTJULEH+20WOFjMvGnCTg==", + "dev": true, + "dependencies": { + "fromentries": "^1.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "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, + "engines": { + "node": ">=6" + } + }, + "node_modules/query-string": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-5.1.1.tgz", + "integrity": "sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==", + "dependencies": { + "decode-uri-component": "^0.2.0", + "object-assign": "^4.1.0", + "strict-uri-encode": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, + "node_modules/react-is": { + "version": "17.0.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.1.tgz", + "integrity": "sha512-NAnt2iGDXohE5LI7uBnLnqvLQMtzhkiAOLXTmv+qnF9Ky7xAPcX8Up/xWIhxvLVGJvuLiNc4xQLtuqDRzb4fSA==", + "dev": true + }, + "node_modules/read-pkg": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", + "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", + "dependencies": { + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/read-pkg-up": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", + "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", + "dependencies": { + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/readdirp": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz", + "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==", + "dev": true, + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/rechoir": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", + "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", + "dev": true, + "dependencies": { + "resolve": "^1.1.6" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/regexpp": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.1.0.tgz", + "integrity": "sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/release-zalgo": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/release-zalgo/-/release-zalgo-1.0.0.tgz", + "integrity": "sha1-CXALflB0Mpc5Mw5TXFqQ+2eFFzA=", + "dev": true, + "dependencies": { + "es6-error": "^4.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-from-string": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-1.2.1.tgz", + "integrity": "sha1-UpyczvJzgK3+yaL5ZbZJu+5jZBg=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-main-filename": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", + "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=" + }, + "node_modules/resolve": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz", + "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==", + "dependencies": { + "path-parse": "^1.0.6" + } + }, + "node_modules/resolve-dir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", + "integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=", + "dependencies": { + "expand-tilde": "^2.0.0", + "global-modules": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "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, + "engines": { + "node": ">=4" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true, + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" + }, + "node_modules/semver": { + "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" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/serialize-javascript": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-5.0.1.tgz", + "integrity": "sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA==", + "dev": true, + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" + }, + "node_modules/shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "dependencies": { + "shebang-regex": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/shelljs": { + "version": "0.8.4", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.4.tgz", + "integrity": "sha512-7gk3UZ9kOfPLIAbslLzyWeGiEqx9e3rxwZM0KE6EL8GlGwjym9Mrlx5/p33bWTu9YG6vcS4MBxYZDHYr5lr8BQ==", + "dev": true, + "dependencies": { + "glob": "^7.0.0", + "interpret": "^1.0.0", + "rechoir": "^0.6.2" + }, + "bin": { + "shjs": "bin/shjs" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/shiki": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/shiki/-/shiki-0.9.3.tgz", + "integrity": "sha512-NEjg1mVbAUrzRv2eIcUt3TG7X9svX7l3n3F5/3OdFq+/BxUdmBOeKGiH4icZJBLHy354Shnj6sfBTemea2e7XA==", + "dev": true, + "dependencies": { + "onigasm": "^2.2.5", + "vscode-textmate": "^5.2.0" + } + }, + "node_modules/signal-exit": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", + "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==" + }, + "node_modules/simple-concat": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", + "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/simple-get": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-2.8.1.tgz", + "integrity": "sha512-lSSHRSw3mQNUGPAYRqo7xy9dhKmxFXIjLjp4KHpf99GEH2VH7C3AM+Qfx6du6jhfUi6Vm7XnbEVEf7Wb6N8jRw==", + "dependencies": { + "decompress-response": "^3.3.0", + "once": "^1.3.1", + "simple-concat": "^1.0.0" + } + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/slice-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/slice-ansi/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, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/slice-ansi/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/slice-ansi/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/slice-ansi/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/solc-0.4.13": { + "name": "solc", + "version": "0.4.13", + "resolved": "https://registry.npmjs.org/solc/-/solc-0.4.13.tgz", + "integrity": "sha1-qly9zOPmrjwZDSD1/fi8iAcC7HU=", + "dependencies": { + "fs-extra": "^0.30.0", + "memorystream": "^0.3.1", + "require-from-string": "^1.1.0", + "semver": "^5.3.0", + "yargs": "^4.7.1" + }, + "bin": { + "solcjs": "solcjs" + } + }, + "node_modules/solc-0.4.13/node_modules/fs-extra": { + "version": "0.30.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", + "integrity": "sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A=", + "dependencies": { + "graceful-fs": "^4.1.2", + "jsonfile": "^2.1.0", + "klaw": "^1.0.0", + "path-is-absolute": "^1.0.0", + "rimraf": "^2.2.8" + } + }, + "node_modules/solc-0.4.13/node_modules/jsonfile": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", + "dependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/solc-0.4.13/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/solc-0.4.14": { + "name": "solc", + "version": "0.4.14", + "resolved": "https://registry.npmjs.org/solc/-/solc-0.4.14.tgz", + "integrity": "sha1-phS7zxWYOePwIh0cQbudq53Hg/4=", + "dependencies": { + "fs-extra": "^0.30.0", + "memorystream": "^0.3.1", + "require-from-string": "^1.1.0", + "semver": "^5.3.0", + "yargs": "^4.7.1" + }, + "bin": { + "solcjs": "solcjs" + } + }, + "node_modules/solc-0.4.14/node_modules/fs-extra": { + "version": "0.30.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", + "integrity": "sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A=", + "dependencies": { + "graceful-fs": "^4.1.2", + "jsonfile": "^2.1.0", + "klaw": "^1.0.0", + "path-is-absolute": "^1.0.0", + "rimraf": "^2.2.8" + } + }, + "node_modules/solc-0.4.14/node_modules/jsonfile": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", + "dependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/solc-0.4.14/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/solc-0.4.15": { + "name": "solc", + "version": "0.4.15", + "resolved": "https://registry.npmjs.org/solc/-/solc-0.4.15.tgz", + "integrity": "sha1-iujxYGoSSj+BwoudzssJZOvfnyU=", + "dependencies": { + "fs-extra": "^0.30.0", + "memorystream": "^0.3.1", + "require-from-string": "^1.1.0", + "semver": "^5.3.0", + "yargs": "^4.7.1" + }, + "bin": { + "solcjs": "solcjs" + } + }, + "node_modules/solc-0.4.15/node_modules/fs-extra": { + "version": "0.30.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", + "integrity": "sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A=", + "dependencies": { + "graceful-fs": "^4.1.2", + "jsonfile": "^2.1.0", + "klaw": "^1.0.0", + "path-is-absolute": "^1.0.0", + "rimraf": "^2.2.8" + } + }, + "node_modules/solc-0.4.15/node_modules/jsonfile": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", + "dependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/solc-0.4.15/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/solc-0.4.16": { + "name": "solc", + "version": "0.4.16", + "resolved": "https://registry.npmjs.org/solc/-/solc-0.4.16.tgz", + "integrity": "sha1-gJpbElfHwgDhGoQbN36uwnRphTk=", + "dependencies": { + "fs-extra": "^0.30.0", + "memorystream": "^0.3.1", + "require-from-string": "^1.1.0", + "semver": "^5.3.0", + "yargs": "^4.7.1" + }, + "bin": { + "solcjs": "solcjs" + } + }, + "node_modules/solc-0.4.16/node_modules/fs-extra": { + "version": "0.30.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", + "integrity": "sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A=", + "dependencies": { + "graceful-fs": "^4.1.2", + "jsonfile": "^2.1.0", + "klaw": "^1.0.0", + "path-is-absolute": "^1.0.0", + "rimraf": "^2.2.8" + } + }, + "node_modules/solc-0.4.16/node_modules/jsonfile": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", + "dependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/solc-0.4.16/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/solc-0.4.17": { + "name": "solc", + "version": "0.4.17", + "resolved": "https://registry.npmjs.org/solc/-/solc-0.4.17.tgz", + "integrity": "sha512-39Tmo2r+qclwW7ooLXMLzMSxmoGtHy3/p2sDKdA9NM/+MRtzLm/AFKj4BY2Cocg3gwkfJzKTEx6X0wiI4fIZ/A==", + "dependencies": { + "fs-extra": "^0.30.0", + "memorystream": "^0.3.1", + "require-from-string": "^1.1.0", + "semver": "^5.3.0", + "yargs": "^4.7.1" + }, + "bin": { + "solcjs": "solcjs" + } + }, + "node_modules/solc-0.4.17/node_modules/fs-extra": { + "version": "0.30.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", + "integrity": "sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A=", + "dependencies": { + "graceful-fs": "^4.1.2", + "jsonfile": "^2.1.0", + "klaw": "^1.0.0", + "path-is-absolute": "^1.0.0", + "rimraf": "^2.2.8" + } + }, + "node_modules/solc-0.4.17/node_modules/jsonfile": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", + "dependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/solc-0.4.17/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/solc-0.4.18": { + "name": "solc", + "version": "0.4.18", + "resolved": "https://registry.npmjs.org/solc/-/solc-0.4.18.tgz", + "integrity": "sha512-Kq+O3PNF9Pfq7fB+lDYAuoqRdghLmZyfngsg0h1Hj38NKAeVHeGPOGeZasn5KqdPeCzbMFvaGyTySxzGv6aXCg==", + "dependencies": { + "fs-extra": "^0.30.0", + "memorystream": "^0.3.1", + "require-from-string": "^1.1.0", + "semver": "^5.3.0", + "yargs": "^4.7.1" + }, + "bin": { + "solcjs": "solcjs" + } + }, + "node_modules/solc-0.4.18/node_modules/fs-extra": { + "version": "0.30.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", + "integrity": "sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A=", + "dependencies": { + "graceful-fs": "^4.1.2", + "jsonfile": "^2.1.0", + "klaw": "^1.0.0", + "path-is-absolute": "^1.0.0", + "rimraf": "^2.2.8" + } + }, + "node_modules/solc-0.4.18/node_modules/jsonfile": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", + "dependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/solc-0.4.18/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/solc-0.4.19": { + "name": "solc", + "version": "0.4.19", + "resolved": "https://registry.npmjs.org/solc/-/solc-0.4.19.tgz", + "integrity": "sha512-hvi/vi9rQcB73poRLoLRfQIYKwmdhrNbZlOOFCGd5v58gEsYEUr3+oHPSXhyk4CFNchWC2ojpMYrHDJNm0h4jQ==", + "dependencies": { + "fs-extra": "^0.30.0", + "memorystream": "^0.3.1", + "require-from-string": "^1.1.0", + "semver": "^5.3.0", + "yargs": "^4.7.1" + }, + "bin": { + "solcjs": "solcjs" + } + }, + "node_modules/solc-0.4.19/node_modules/fs-extra": { + "version": "0.30.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", + "integrity": "sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A=", + "dependencies": { + "graceful-fs": "^4.1.2", + "jsonfile": "^2.1.0", + "klaw": "^1.0.0", + "path-is-absolute": "^1.0.0", + "rimraf": "^2.2.8" + } + }, + "node_modules/solc-0.4.19/node_modules/jsonfile": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", + "dependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/solc-0.4.19/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/solc-0.4.20": { + "name": "solc", + "version": "0.4.20", + "resolved": "https://registry.npmjs.org/solc/-/solc-0.4.20.tgz", + "integrity": "sha512-LrP3Jp4FS3y8sduIR67y8Ss1riR3fggk5sMnx4OSCcU88Ro0e51+KVXyfH3NP6ghLo7COrLx/lGUaDDugCzdgA==", + "dependencies": { + "fs-extra": "^0.30.0", + "memorystream": "^0.3.1", + "require-from-string": "^1.1.0", + "semver": "^5.3.0", + "yargs": "^4.7.1" + }, + "bin": { + "solcjs": "solcjs" + } + }, + "node_modules/solc-0.4.20/node_modules/fs-extra": { + "version": "0.30.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", + "integrity": "sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A=", + "dependencies": { + "graceful-fs": "^4.1.2", + "jsonfile": "^2.1.0", + "klaw": "^1.0.0", + "path-is-absolute": "^1.0.0", + "rimraf": "^2.2.8" + } + }, + "node_modules/solc-0.4.20/node_modules/jsonfile": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", + "dependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/solc-0.4.20/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/solc-0.4.21": { + "name": "solc", + "version": "0.4.21", + "resolved": "https://registry.npmjs.org/solc/-/solc-0.4.21.tgz", + "integrity": "sha512-8lJmimVjOG9AJOQRWS2ph4rSctPMsPGZ4H360HLs5iI+euUlt7iAvUxSLeFZZzwk0kas4Qta7HmlMXNU3yYwhw==", + "dependencies": { + "fs-extra": "^0.30.0", + "memorystream": "^0.3.1", + "require-from-string": "^1.1.0", + "semver": "^5.3.0", + "yargs": "^4.7.1" + }, + "bin": { + "solcjs": "solcjs" + } + }, + "node_modules/solc-0.4.21/node_modules/fs-extra": { + "version": "0.30.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", + "integrity": "sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A=", + "dependencies": { + "graceful-fs": "^4.1.2", + "jsonfile": "^2.1.0", + "klaw": "^1.0.0", + "path-is-absolute": "^1.0.0", + "rimraf": "^2.2.8" + } + }, + "node_modules/solc-0.4.21/node_modules/jsonfile": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", + "dependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/solc-0.4.21/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/solc-0.4.22": { + "name": "solc", + "version": "0.4.22", + "resolved": "https://registry.npmjs.org/solc/-/solc-0.4.22.tgz", + "integrity": "sha512-ExrPo2qqCPXo4vXEJaROHExlBdIqgV1vv5fwXMwIc19AUujlQyfyXX8AM7kOQ7xkyHqZ3rj7LJ/BHssAbHym6w==", + "dependencies": { + "fs-extra": "^0.30.0", + "memorystream": "^0.3.1", + "require-from-string": "^1.1.0", + "semver": "^5.3.0", + "yargs": "^4.7.1" + }, + "bin": { + "solcjs": "solcjs" + } + }, + "node_modules/solc-0.4.22/node_modules/fs-extra": { + "version": "0.30.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", + "integrity": "sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A=", + "dependencies": { + "graceful-fs": "^4.1.2", + "jsonfile": "^2.1.0", + "klaw": "^1.0.0", + "path-is-absolute": "^1.0.0", + "rimraf": "^2.2.8" + } + }, + "node_modules/solc-0.4.22/node_modules/jsonfile": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", + "dependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/solc-0.4.22/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/solc-0.4.23": { + "name": "solc", + "version": "0.4.23", + "resolved": "https://registry.npmjs.org/solc/-/solc-0.4.23.tgz", + "integrity": "sha512-AT7anLHY6uIRg2It6N0UlCHeZ7YeecIkUhnlirrCgCPCUevtnoN48BxvgigN/4jJTRljv5oFhAJtI6gvHzT5DQ==", + "dependencies": { + "fs-extra": "^0.30.0", + "memorystream": "^0.3.1", + "require-from-string": "^1.1.0", + "semver": "^5.3.0", + "yargs": "^4.7.1" + }, + "bin": { + "solcjs": "solcjs" + } + }, + "node_modules/solc-0.4.23/node_modules/fs-extra": { + "version": "0.30.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", + "integrity": "sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A=", + "dependencies": { + "graceful-fs": "^4.1.2", + "jsonfile": "^2.1.0", + "klaw": "^1.0.0", + "path-is-absolute": "^1.0.0", + "rimraf": "^2.2.8" + } + }, + "node_modules/solc-0.4.23/node_modules/jsonfile": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", + "dependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/solc-0.4.23/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/solc-0.4.24": { + "name": "solc", + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/solc/-/solc-0.4.24.tgz", + "integrity": "sha512-2xd7Cf1HeVwrIb6Bu1cwY2/TaLRodrppCq3l7rhLimFQgmxptXhTC3+/wesVLpB09F1A2kZgvbMOgH7wvhFnBQ==", + "dependencies": { + "fs-extra": "^0.30.0", + "memorystream": "^0.3.1", + "require-from-string": "^1.1.0", + "semver": "^5.3.0", + "yargs": "^4.7.1" + }, + "bin": { + "solcjs": "solcjs" + } + }, + "node_modules/solc-0.4.24/node_modules/fs-extra": { + "version": "0.30.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", + "integrity": "sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A=", + "dependencies": { + "graceful-fs": "^4.1.2", + "jsonfile": "^2.1.0", + "klaw": "^1.0.0", + "path-is-absolute": "^1.0.0", + "rimraf": "^2.2.8" + } + }, + "node_modules/solc-0.4.24/node_modules/jsonfile": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", + "dependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/solc-0.4.24/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/solc-0.4.25": { + "name": "solc", + "version": "0.4.25", + "resolved": "https://registry.npmjs.org/solc/-/solc-0.4.25.tgz", + "integrity": "sha512-jU1YygRVy6zatgXrLY2rRm7HW1d7a8CkkEgNJwvH2VLpWhMFsMdWcJn6kUqZwcSz/Vm+w89dy7Z/aB5p6AFTrg==", + "dependencies": { + "fs-extra": "^0.30.0", + "memorystream": "^0.3.1", + "require-from-string": "^1.1.0", + "semver": "^5.3.0", + "yargs": "^4.7.1" + }, + "bin": { + "solcjs": "solcjs" + } + }, + "node_modules/solc-0.4.25/node_modules/fs-extra": { + "version": "0.30.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", + "integrity": "sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A=", + "dependencies": { + "graceful-fs": "^4.1.2", + "jsonfile": "^2.1.0", + "klaw": "^1.0.0", + "path-is-absolute": "^1.0.0", + "rimraf": "^2.2.8" + } + }, + "node_modules/solc-0.4.25/node_modules/jsonfile": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", + "dependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/solc-0.4.25/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/solc-0.4.26": { + "name": "solc", + "version": "0.4.26", + "resolved": "https://registry.npmjs.org/solc/-/solc-0.4.26.tgz", + "integrity": "sha512-o+c6FpkiHd+HPjmjEVpQgH7fqZ14tJpXhho+/bQXlXbliLIS/xjXb42Vxh+qQY1WCSTMQ0+a5vR9vi0MfhU6mA==", + "dependencies": { + "fs-extra": "^0.30.0", + "memorystream": "^0.3.1", + "require-from-string": "^1.1.0", + "semver": "^5.3.0", + "yargs": "^4.7.1" + }, + "bin": { + "solcjs": "solcjs" + } + }, + "node_modules/solc-0.4.26/node_modules/fs-extra": { + "version": "0.30.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", + "integrity": "sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A=", + "dependencies": { + "graceful-fs": "^4.1.2", + "jsonfile": "^2.1.0", + "klaw": "^1.0.0", + "path-is-absolute": "^1.0.0", + "rimraf": "^2.2.8" + } + }, + "node_modules/solc-0.4.26/node_modules/jsonfile": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", + "dependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/solc-0.4.26/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/solc-0.5.0": { + "name": "solc", + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/solc/-/solc-0.5.0.tgz", + "integrity": "sha512-mdLHDl9WeYrN+FIKcMc9PlPfnA9DG9ur5QpCDKcv6VC4RINAsTF4EMuXMZMKoQTvZhtLyJIVH/BZ+KU830Z8Xg==", + "dependencies": { + "fs-extra": "^0.30.0", + "keccak": "^1.0.2", + "memorystream": "^0.3.1", + "require-from-string": "^2.0.0", + "semver": "^5.5.0", + "yargs": "^11.0.0" + }, + "bin": { + "solcjs": "solcjs" + } + }, + "node_modules/solc-0.5.0/node_modules/ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "engines": { + "node": ">=4" + } + }, + "node_modules/solc-0.5.0/node_modules/camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "engines": { + "node": ">=4" + } + }, + "node_modules/solc-0.5.0/node_modules/cliui": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", + "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", + "dependencies": { + "string-width": "^2.1.1", + "strip-ansi": "^4.0.0", + "wrap-ansi": "^2.0.0" + } + }, + "node_modules/solc-0.5.0/node_modules/find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dependencies": { + "locate-path": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/solc-0.5.0/node_modules/fs-extra": { + "version": "0.30.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", + "integrity": "sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A=", + "dependencies": { + "graceful-fs": "^4.1.2", + "jsonfile": "^2.1.0", + "klaw": "^1.0.0", + "path-is-absolute": "^1.0.0", + "rimraf": "^2.2.8" + } + }, + "node_modules/solc-0.5.0/node_modules/invert-kv": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz", + "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==", + "engines": { + "node": ">=4" + } + }, + "node_modules/solc-0.5.0/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "engines": { + "node": ">=4" + } + }, + "node_modules/solc-0.5.0/node_modules/jsonfile": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", + "dependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/solc-0.5.0/node_modules/lcid": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz", + "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==", + "dependencies": { + "invert-kv": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/solc-0.5.0/node_modules/os-locale": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz", + "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==", + "dependencies": { + "execa": "^1.0.0", + "lcid": "^2.0.0", + "mem": "^4.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/solc-0.5.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==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/solc-0.5.0/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/solc-0.5.0/node_modules/string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dependencies": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/solc-0.5.0/node_modules/strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dependencies": { + "ansi-regex": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/solc-0.5.0/node_modules/which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" + }, + "node_modules/solc-0.5.0/node_modules/yargs": { + "version": "11.1.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-11.1.1.tgz", + "integrity": "sha512-PRU7gJrJaXv3q3yQZ/+/X6KBswZiaQ+zOmdprZcouPYtQgvNU35i+68M4b1ZHLZtYFT5QObFLV+ZkmJYcwKdiw==", + "dependencies": { + "cliui": "^4.0.0", + "decamelize": "^1.1.1", + "find-up": "^2.1.0", + "get-caller-file": "^1.0.1", + "os-locale": "^3.1.0", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^2.0.0", + "which-module": "^2.0.0", + "y18n": "^3.2.1", + "yargs-parser": "^9.0.2" + } + }, + "node_modules/solc-0.5.0/node_modules/yargs-parser": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-9.0.2.tgz", + "integrity": "sha1-nM9qQ0YP5O1Aqbto9I1DuKaMwHc=", + "dependencies": { + "camelcase": "^4.1.0" + } + }, + "node_modules/solc-0.5.1": { + "name": "solc", + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/solc/-/solc-0.5.1.tgz", + "integrity": "sha512-+RJfa5zRpWBm8DhEiEScIzEzPHWppwHSp/2yV9qvM/lNr0Y8cCv2mcNiXy+R6SSV0OoskhPEfe6Fwa4QQEgxlg==", + "dependencies": { + "command-exists": "^1.2.8", + "fs-extra": "^0.30.0", + "keccak": "^1.0.2", + "memorystream": "^0.3.1", + "require-from-string": "^2.0.0", + "semver": "^5.5.0", + "tmp": "0.0.33", + "yargs": "^11.0.0" + }, + "bin": { + "solcjs": "solcjs" + } + }, + "node_modules/solc-0.5.1/node_modules/ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "engines": { + "node": ">=4" + } + }, + "node_modules/solc-0.5.1/node_modules/camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "engines": { + "node": ">=4" + } + }, + "node_modules/solc-0.5.1/node_modules/cliui": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", + "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", + "dependencies": { + "string-width": "^2.1.1", + "strip-ansi": "^4.0.0", + "wrap-ansi": "^2.0.0" + } + }, + "node_modules/solc-0.5.1/node_modules/find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dependencies": { + "locate-path": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/solc-0.5.1/node_modules/fs-extra": { + "version": "0.30.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", + "integrity": "sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A=", + "dependencies": { + "graceful-fs": "^4.1.2", + "jsonfile": "^2.1.0", + "klaw": "^1.0.0", + "path-is-absolute": "^1.0.0", + "rimraf": "^2.2.8" + } + }, + "node_modules/solc-0.5.1/node_modules/invert-kv": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz", + "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==", + "engines": { + "node": ">=4" + } + }, + "node_modules/solc-0.5.1/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "engines": { + "node": ">=4" + } + }, + "node_modules/solc-0.5.1/node_modules/jsonfile": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", + "dependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/solc-0.5.1/node_modules/lcid": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz", + "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==", + "dependencies": { + "invert-kv": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/solc-0.5.1/node_modules/os-locale": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz", + "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==", + "dependencies": { + "execa": "^1.0.0", + "lcid": "^2.0.0", + "mem": "^4.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/solc-0.5.1/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==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/solc-0.5.1/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/solc-0.5.1/node_modules/string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dependencies": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/solc-0.5.1/node_modules/strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dependencies": { + "ansi-regex": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/solc-0.5.1/node_modules/which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" + }, + "node_modules/solc-0.5.1/node_modules/yargs": { + "version": "11.1.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-11.1.1.tgz", + "integrity": "sha512-PRU7gJrJaXv3q3yQZ/+/X6KBswZiaQ+zOmdprZcouPYtQgvNU35i+68M4b1ZHLZtYFT5QObFLV+ZkmJYcwKdiw==", + "dependencies": { + "cliui": "^4.0.0", + "decamelize": "^1.1.1", + "find-up": "^2.1.0", + "get-caller-file": "^1.0.1", + "os-locale": "^3.1.0", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^2.0.0", + "which-module": "^2.0.0", + "y18n": "^3.2.1", + "yargs-parser": "^9.0.2" + } + }, + "node_modules/solc-0.5.1/node_modules/yargs-parser": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-9.0.2.tgz", + "integrity": "sha1-nM9qQ0YP5O1Aqbto9I1DuKaMwHc=", + "dependencies": { + "camelcase": "^4.1.0" + } + }, + "node_modules/solc-0.5.10": { + "name": "solc", + "version": "0.5.10", + "resolved": "https://registry.npmjs.org/solc/-/solc-0.5.10.tgz", + "integrity": "sha512-Stdrh/MDkopsXYPRzPehTNYuV80Grr2CnQMuFvWj+EeRVbe3piGHxW47KebWn1sGdmK8FLaMfUehccqJP0KovQ==", + "dependencies": { + "command-exists": "^1.2.8", + "fs-extra": "^0.30.0", + "keccak": "^1.0.2", + "memorystream": "^0.3.1", + "require-from-string": "^2.0.0", + "semver": "^5.5.0", + "tmp": "0.0.33", + "yargs": "^11.0.0" + }, + "bin": { + "solcjs": "solcjs" + } + }, + "node_modules/solc-0.5.10/node_modules/ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "engines": { + "node": ">=4" + } + }, + "node_modules/solc-0.5.10/node_modules/camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "engines": { + "node": ">=4" + } + }, + "node_modules/solc-0.5.10/node_modules/cliui": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", + "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", + "dependencies": { + "string-width": "^2.1.1", + "strip-ansi": "^4.0.0", + "wrap-ansi": "^2.0.0" + } + }, + "node_modules/solc-0.5.10/node_modules/find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dependencies": { + "locate-path": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/solc-0.5.10/node_modules/fs-extra": { + "version": "0.30.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", + "integrity": "sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A=", + "dependencies": { + "graceful-fs": "^4.1.2", + "jsonfile": "^2.1.0", + "klaw": "^1.0.0", + "path-is-absolute": "^1.0.0", + "rimraf": "^2.2.8" + } + }, + "node_modules/solc-0.5.10/node_modules/invert-kv": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz", + "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==", + "engines": { + "node": ">=4" + } + }, + "node_modules/solc-0.5.10/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "engines": { + "node": ">=4" + } + }, + "node_modules/solc-0.5.10/node_modules/jsonfile": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", + "dependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/solc-0.5.10/node_modules/lcid": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz", + "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==", + "dependencies": { + "invert-kv": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/solc-0.5.10/node_modules/os-locale": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz", + "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==", + "dependencies": { + "execa": "^1.0.0", + "lcid": "^2.0.0", + "mem": "^4.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/solc-0.5.10/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==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/solc-0.5.10/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/solc-0.5.10/node_modules/string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dependencies": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/solc-0.5.10/node_modules/strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dependencies": { + "ansi-regex": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/solc-0.5.10/node_modules/which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" + }, + "node_modules/solc-0.5.10/node_modules/yargs": { + "version": "11.1.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-11.1.1.tgz", + "integrity": "sha512-PRU7gJrJaXv3q3yQZ/+/X6KBswZiaQ+zOmdprZcouPYtQgvNU35i+68M4b1ZHLZtYFT5QObFLV+ZkmJYcwKdiw==", + "dependencies": { + "cliui": "^4.0.0", + "decamelize": "^1.1.1", + "find-up": "^2.1.0", + "get-caller-file": "^1.0.1", + "os-locale": "^3.1.0", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^2.0.0", + "which-module": "^2.0.0", + "y18n": "^3.2.1", + "yargs-parser": "^9.0.2" + } + }, + "node_modules/solc-0.5.10/node_modules/yargs-parser": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-9.0.2.tgz", + "integrity": "sha1-nM9qQ0YP5O1Aqbto9I1DuKaMwHc=", + "dependencies": { + "camelcase": "^4.1.0" + } + }, + "node_modules/solc-0.5.11": { + "name": "solc", + "version": "0.5.11", + "resolved": "https://registry.npmjs.org/solc/-/solc-0.5.11.tgz", + "integrity": "sha512-F8avCCVDYnJzvIm/ITsU11GFNdFI4HaNsME+zw9lK5a3ojD3LZN2Op2cIfWg7w1HeRYRiMOU1dM77saX6jUIKw==", + "dependencies": { + "command-exists": "^1.2.8", + "fs-extra": "^0.30.0", + "js-sha3": "0.8.0", + "memorystream": "^0.3.1", + "require-from-string": "^2.0.0", + "semver": "^5.5.0", + "tmp": "0.0.33", + "yargs": "^13.2.0" + }, + "bin": { + "solcjs": "solcjs" + } + }, + "node_modules/solc-0.5.11/node_modules/ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/solc-0.5.11/node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/solc-0.5.11/node_modules/cliui": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", + "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", + "dependencies": { + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" + } + }, + "node_modules/solc-0.5.11/node_modules/find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dependencies": { + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/solc-0.5.11/node_modules/fs-extra": { + "version": "0.30.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", + "integrity": "sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A=", + "dependencies": { + "graceful-fs": "^4.1.2", + "jsonfile": "^2.1.0", + "klaw": "^1.0.0", + "path-is-absolute": "^1.0.0", + "rimraf": "^2.2.8" + } + }, + "node_modules/solc-0.5.11/node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/solc-0.5.11/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "engines": { + "node": ">=4" + } + }, + "node_modules/solc-0.5.11/node_modules/jsonfile": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", + "dependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/solc-0.5.11/node_modules/locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dependencies": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/solc-0.5.11/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/solc-0.5.11/node_modules/p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dependencies": { + "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/solc-0.5.11/node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/solc-0.5.11/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=", + "engines": { + "node": ">=4" + } + }, + "node_modules/solc-0.5.11/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==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/solc-0.5.11/node_modules/require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==" + }, + "node_modules/solc-0.5.11/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/solc-0.5.11/node_modules/string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dependencies": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/solc-0.5.11/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/solc-0.5.11/node_modules/which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" + }, + "node_modules/solc-0.5.11/node_modules/wrap-ansi": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", + "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", + "dependencies": { + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/solc-0.5.11/node_modules/y18n": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==" + }, + "node_modules/solc-0.5.11/node_modules/yargs": { + "version": "13.3.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", + "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", + "dependencies": { + "cliui": "^5.0.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^13.1.2" + } + }, + "node_modules/solc-0.5.11/node_modules/yargs-parser": { + "version": "13.1.2", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", + "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", + "dependencies": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + }, + "node_modules/solc-0.5.12": { + "name": "solc", + "version": "0.5.12", + "resolved": "https://registry.npmjs.org/solc/-/solc-0.5.12.tgz", + "integrity": "sha512-OX/AGZT04tuUsagoVXSZBiBZYJReA02hdwZOfRkB03/eeYP9Dl3pr+M+au+1MhssgiuWBlFPN7sRXFiqwkAW2g==", + "dependencies": { + "command-exists": "^1.2.8", + "fs-extra": "^0.30.0", + "js-sha3": "0.8.0", + "memorystream": "^0.3.1", + "require-from-string": "^2.0.0", + "semver": "^5.5.0", + "tmp": "0.0.33", + "yargs": "^13.2.0" + }, + "bin": { + "solcjs": "solcjs" + } + }, + "node_modules/solc-0.5.12/node_modules/ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/solc-0.5.12/node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/solc-0.5.12/node_modules/cliui": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", + "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", + "dependencies": { + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" + } + }, + "node_modules/solc-0.5.12/node_modules/find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dependencies": { + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/solc-0.5.12/node_modules/fs-extra": { + "version": "0.30.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", + "integrity": "sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A=", + "dependencies": { + "graceful-fs": "^4.1.2", + "jsonfile": "^2.1.0", + "klaw": "^1.0.0", + "path-is-absolute": "^1.0.0", + "rimraf": "^2.2.8" + } + }, + "node_modules/solc-0.5.12/node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/solc-0.5.12/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "engines": { + "node": ">=4" + } + }, + "node_modules/solc-0.5.12/node_modules/jsonfile": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", + "dependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/solc-0.5.12/node_modules/locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dependencies": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/solc-0.5.12/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/solc-0.5.12/node_modules/p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dependencies": { + "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/solc-0.5.12/node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/solc-0.5.12/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=", + "engines": { + "node": ">=4" + } + }, + "node_modules/solc-0.5.12/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==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/solc-0.5.12/node_modules/require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==" + }, + "node_modules/solc-0.5.12/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/solc-0.5.12/node_modules/string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dependencies": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/solc-0.5.12/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/solc-0.5.12/node_modules/which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" + }, + "node_modules/solc-0.5.12/node_modules/wrap-ansi": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", + "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", + "dependencies": { + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/solc-0.5.12/node_modules/y18n": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==" + }, + "node_modules/solc-0.5.12/node_modules/yargs": { + "version": "13.3.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", + "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", + "dependencies": { + "cliui": "^5.0.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^13.1.2" + } + }, + "node_modules/solc-0.5.12/node_modules/yargs-parser": { + "version": "13.1.2", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", + "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", + "dependencies": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + }, + "node_modules/solc-0.5.13": { + "name": "solc", + "version": "0.5.13", + "resolved": "https://registry.npmjs.org/solc/-/solc-0.5.13.tgz", + "integrity": "sha512-osybDVPGjAqcmSKLU3vh5iHuxbhGlJjQI5ZvI7nRDR0fgblQqYte4MGvNjbew8DPvCrmoH0ZBiz/KBBLlPxfMg==", + "dependencies": { + "command-exists": "^1.2.8", + "commander": "3.0.2", + "fs-extra": "^0.30.0", + "js-sha3": "0.8.0", + "memorystream": "^0.3.1", + "require-from-string": "^2.0.0", + "semver": "^5.5.0", + "tmp": "0.0.33" + }, + "bin": { + "solcjs": "solcjs" + } + }, + "node_modules/solc-0.5.13/node_modules/fs-extra": { + "version": "0.30.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", + "integrity": "sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A=", + "dependencies": { + "graceful-fs": "^4.1.2", + "jsonfile": "^2.1.0", + "klaw": "^1.0.0", + "path-is-absolute": "^1.0.0", + "rimraf": "^2.2.8" + } + }, + "node_modules/solc-0.5.13/node_modules/jsonfile": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", + "dependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/solc-0.5.13/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==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/solc-0.5.13/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/solc-0.5.14": { + "name": "solc", + "version": "0.5.14", + "resolved": "https://registry.npmjs.org/solc/-/solc-0.5.14.tgz", + "integrity": "sha512-I/MCeOKjnLXxcD65wA+E37BxdERoAYoLeyJ5GnXFijICLmvhzt0xz59R92Zw3TPyJYnHSErKBYpMsfnZVyQJaQ==", + "dependencies": { + "command-exists": "^1.2.8", + "commander": "3.0.2", + "fs-extra": "^0.30.0", + "js-sha3": "0.8.0", + "memorystream": "^0.3.1", + "require-from-string": "^2.0.0", + "semver": "^5.5.0", + "tmp": "0.0.33" + }, + "bin": { + "solcjs": "solcjs" + } + }, + "node_modules/solc-0.5.14/node_modules/fs-extra": { + "version": "0.30.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", + "integrity": "sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A=", + "dependencies": { + "graceful-fs": "^4.1.2", + "jsonfile": "^2.1.0", + "klaw": "^1.0.0", + "path-is-absolute": "^1.0.0", + "rimraf": "^2.2.8" + } + }, + "node_modules/solc-0.5.14/node_modules/jsonfile": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", + "dependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/solc-0.5.14/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==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/solc-0.5.14/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/solc-0.5.15": { + "name": "solc", + "version": "0.5.15", + "resolved": "https://registry.npmjs.org/solc/-/solc-0.5.15.tgz", + "integrity": "sha512-uI+7XtBu/0CXRc8IMjzxbh0haLwaBF32VxAkkks06zEk+mVcsQbHdjvojXX6zQYtZVuXdVYPVccoIjEhvvqKnQ==", + "dependencies": { + "command-exists": "^1.2.8", + "commander": "3.0.2", + "fs-extra": "^0.30.0", + "js-sha3": "0.8.0", + "memorystream": "^0.3.1", + "require-from-string": "^2.0.0", + "semver": "^5.5.0", + "tmp": "0.0.33" + }, + "bin": { + "solcjs": "solcjs" + } + }, + "node_modules/solc-0.5.15/node_modules/fs-extra": { + "version": "0.30.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", + "integrity": "sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A=", + "dependencies": { + "graceful-fs": "^4.1.2", + "jsonfile": "^2.1.0", + "klaw": "^1.0.0", + "path-is-absolute": "^1.0.0", + "rimraf": "^2.2.8" + } + }, + "node_modules/solc-0.5.15/node_modules/jsonfile": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", + "dependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/solc-0.5.15/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==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/solc-0.5.15/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/solc-0.5.16": { + "name": "solc", + "version": "0.5.16", + "resolved": "https://registry.npmjs.org/solc/-/solc-0.5.16.tgz", + "integrity": "sha512-weEtRtisJyf+8UjELs7S4ST1KK7UIq6SRB7tpprfJBL9b5mTrZAT7m4gJKi2h6MiBpuSWfnraK8BnkyWzuTMRA==", + "dependencies": { + "command-exists": "^1.2.8", + "commander": "3.0.2", + "fs-extra": "^0.30.0", + "js-sha3": "0.8.0", + "memorystream": "^0.3.1", + "require-from-string": "^2.0.0", + "semver": "^5.5.0", + "tmp": "0.0.33" + }, + "bin": { + "solcjs": "solcjs" + } + }, + "node_modules/solc-0.5.16/node_modules/fs-extra": { + "version": "0.30.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", + "integrity": "sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A=", + "dependencies": { + "graceful-fs": "^4.1.2", + "jsonfile": "^2.1.0", + "klaw": "^1.0.0", + "path-is-absolute": "^1.0.0", + "rimraf": "^2.2.8" + } + }, + "node_modules/solc-0.5.16/node_modules/jsonfile": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", + "dependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/solc-0.5.16/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==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/solc-0.5.16/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/solc-0.5.17": { + "name": "solc", + "version": "0.5.17", + "resolved": "https://registry.npmjs.org/solc/-/solc-0.5.17.tgz", + "integrity": "sha512-qpX+PGaU0Q3c6lh2vDzMoIbhv6bIrecI4bYsx+xUs01xsGFnY6Nr0L8y/QMyutTnrHN6Lb/Yl672ZVRqxka96w==", + "dependencies": { + "command-exists": "^1.2.8", + "commander": "3.0.2", + "fs-extra": "^0.30.0", + "js-sha3": "0.8.0", + "memorystream": "^0.3.1", + "require-from-string": "^2.0.0", + "semver": "^5.5.0", + "tmp": "0.0.33" + }, + "bin": { + "solcjs": "solcjs" + } + }, + "node_modules/solc-0.5.17/node_modules/fs-extra": { + "version": "0.30.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", + "integrity": "sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A=", + "dependencies": { + "graceful-fs": "^4.1.2", + "jsonfile": "^2.1.0", + "klaw": "^1.0.0", + "path-is-absolute": "^1.0.0", + "rimraf": "^2.2.8" + } + }, + "node_modules/solc-0.5.17/node_modules/jsonfile": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", + "dependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/solc-0.5.17/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==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/solc-0.5.17/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/solc-0.5.2": { + "name": "solc", + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/solc/-/solc-0.5.2.tgz", + "integrity": "sha512-gZSRM+2HKe8TXeXE+RJtdPq9+8IxpukMnUXXfphJ4d5duHfKfi7lu0eBFh6WSWvnYQ8xis+sfidiurOop2q1KQ==", + "dependencies": { + "command-exists": "^1.2.8", + "fs-extra": "^0.30.0", + "keccak": "^1.0.2", + "memorystream": "^0.3.1", + "require-from-string": "^2.0.0", + "semver": "^5.5.0", + "tmp": "0.0.33", + "yargs": "^11.0.0" + }, + "bin": { + "solcjs": "solcjs" + } + }, + "node_modules/solc-0.5.2/node_modules/ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "engines": { + "node": ">=4" + } + }, + "node_modules/solc-0.5.2/node_modules/camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "engines": { + "node": ">=4" + } + }, + "node_modules/solc-0.5.2/node_modules/cliui": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", + "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", + "dependencies": { + "string-width": "^2.1.1", + "strip-ansi": "^4.0.0", + "wrap-ansi": "^2.0.0" + } + }, + "node_modules/solc-0.5.2/node_modules/find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dependencies": { + "locate-path": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/solc-0.5.2/node_modules/fs-extra": { + "version": "0.30.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", + "integrity": "sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A=", + "dependencies": { + "graceful-fs": "^4.1.2", + "jsonfile": "^2.1.0", + "klaw": "^1.0.0", + "path-is-absolute": "^1.0.0", + "rimraf": "^2.2.8" + } + }, + "node_modules/solc-0.5.2/node_modules/invert-kv": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz", + "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==", + "engines": { + "node": ">=4" + } + }, + "node_modules/solc-0.5.2/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "engines": { + "node": ">=4" + } + }, + "node_modules/solc-0.5.2/node_modules/jsonfile": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", + "dependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/solc-0.5.2/node_modules/lcid": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz", + "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==", + "dependencies": { + "invert-kv": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/solc-0.5.2/node_modules/os-locale": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz", + "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==", + "dependencies": { + "execa": "^1.0.0", + "lcid": "^2.0.0", + "mem": "^4.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/solc-0.5.2/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==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/solc-0.5.2/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/solc-0.5.2/node_modules/string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dependencies": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/solc-0.5.2/node_modules/strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dependencies": { + "ansi-regex": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/solc-0.5.2/node_modules/which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" + }, + "node_modules/solc-0.5.2/node_modules/yargs": { + "version": "11.1.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-11.1.1.tgz", + "integrity": "sha512-PRU7gJrJaXv3q3yQZ/+/X6KBswZiaQ+zOmdprZcouPYtQgvNU35i+68M4b1ZHLZtYFT5QObFLV+ZkmJYcwKdiw==", + "dependencies": { + "cliui": "^4.0.0", + "decamelize": "^1.1.1", + "find-up": "^2.1.0", + "get-caller-file": "^1.0.1", + "os-locale": "^3.1.0", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^2.0.0", + "which-module": "^2.0.0", + "y18n": "^3.2.1", + "yargs-parser": "^9.0.2" + } + }, + "node_modules/solc-0.5.2/node_modules/yargs-parser": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-9.0.2.tgz", + "integrity": "sha1-nM9qQ0YP5O1Aqbto9I1DuKaMwHc=", + "dependencies": { + "camelcase": "^4.1.0" + } + }, + "node_modules/solc-0.5.3": { + "name": "solc", + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/solc/-/solc-0.5.3.tgz", + "integrity": "sha512-H9apkutqTa+zEF1T13q5fvAC0aMcbdg6JkUiGXObTJuZydq6Z6EgjI1OS9MGz0y3z4c0Vp1Ww2waEq0jMRm/Rw==", + "dependencies": { + "command-exists": "^1.2.8", + "fs-extra": "^0.30.0", + "keccak": "^1.0.2", + "memorystream": "^0.3.1", + "require-from-string": "^2.0.0", + "semver": "^5.5.0", + "tmp": "0.0.33", + "yargs": "^11.0.0" + }, + "bin": { + "solcjs": "solcjs" + } + }, + "node_modules/solc-0.5.3/node_modules/ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "engines": { + "node": ">=4" + } + }, + "node_modules/solc-0.5.3/node_modules/camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "engines": { + "node": ">=4" + } + }, + "node_modules/solc-0.5.3/node_modules/cliui": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", + "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", + "dependencies": { + "string-width": "^2.1.1", + "strip-ansi": "^4.0.0", + "wrap-ansi": "^2.0.0" + } + }, + "node_modules/solc-0.5.3/node_modules/find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dependencies": { + "locate-path": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/solc-0.5.3/node_modules/fs-extra": { + "version": "0.30.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", + "integrity": "sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A=", + "dependencies": { + "graceful-fs": "^4.1.2", + "jsonfile": "^2.1.0", + "klaw": "^1.0.0", + "path-is-absolute": "^1.0.0", + "rimraf": "^2.2.8" + } + }, + "node_modules/solc-0.5.3/node_modules/invert-kv": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz", + "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==", + "engines": { + "node": ">=4" + } + }, + "node_modules/solc-0.5.3/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "engines": { + "node": ">=4" + } + }, + "node_modules/solc-0.5.3/node_modules/jsonfile": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", + "dependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/solc-0.5.3/node_modules/lcid": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz", + "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==", + "dependencies": { + "invert-kv": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/solc-0.5.3/node_modules/os-locale": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz", + "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==", + "dependencies": { + "execa": "^1.0.0", + "lcid": "^2.0.0", + "mem": "^4.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/solc-0.5.3/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==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/solc-0.5.3/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/solc-0.5.3/node_modules/string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dependencies": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/solc-0.5.3/node_modules/strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dependencies": { + "ansi-regex": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/solc-0.5.3/node_modules/which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" + }, + "node_modules/solc-0.5.3/node_modules/yargs": { + "version": "11.1.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-11.1.1.tgz", + "integrity": "sha512-PRU7gJrJaXv3q3yQZ/+/X6KBswZiaQ+zOmdprZcouPYtQgvNU35i+68M4b1ZHLZtYFT5QObFLV+ZkmJYcwKdiw==", + "dependencies": { + "cliui": "^4.0.0", + "decamelize": "^1.1.1", + "find-up": "^2.1.0", + "get-caller-file": "^1.0.1", + "os-locale": "^3.1.0", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^2.0.0", + "which-module": "^2.0.0", + "y18n": "^3.2.1", + "yargs-parser": "^9.0.2" + } + }, + "node_modules/solc-0.5.3/node_modules/yargs-parser": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-9.0.2.tgz", + "integrity": "sha1-nM9qQ0YP5O1Aqbto9I1DuKaMwHc=", + "dependencies": { + "camelcase": "^4.1.0" + } + }, + "node_modules/solc-0.5.4": { + "name": "solc", + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/solc/-/solc-0.5.4.tgz", + "integrity": "sha512-Jz3yz2mct0AYzR83/jBgxDqrLXTHhYUg2G2PVJbMMt5Vu+8e3Of1Mn3nvjPw5mh46jrzt8l4fBN7vHqG5ZF0cw==", + "dependencies": { + "command-exists": "^1.2.8", + "fs-extra": "^0.30.0", + "keccak": "^1.0.2", + "memorystream": "^0.3.1", + "require-from-string": "^2.0.0", + "semver": "^5.5.0", + "tmp": "0.0.33", + "yargs": "^11.0.0" + }, + "bin": { + "solcjs": "solcjs" + } + }, + "node_modules/solc-0.5.4/node_modules/ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "engines": { + "node": ">=4" + } + }, + "node_modules/solc-0.5.4/node_modules/camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "engines": { + "node": ">=4" + } + }, + "node_modules/solc-0.5.4/node_modules/cliui": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", + "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", + "dependencies": { + "string-width": "^2.1.1", + "strip-ansi": "^4.0.0", + "wrap-ansi": "^2.0.0" + } + }, + "node_modules/solc-0.5.4/node_modules/find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dependencies": { + "locate-path": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/solc-0.5.4/node_modules/fs-extra": { + "version": "0.30.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", + "integrity": "sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A=", + "dependencies": { + "graceful-fs": "^4.1.2", + "jsonfile": "^2.1.0", + "klaw": "^1.0.0", + "path-is-absolute": "^1.0.0", + "rimraf": "^2.2.8" + } + }, + "node_modules/solc-0.5.4/node_modules/invert-kv": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz", + "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==", + "engines": { + "node": ">=4" + } + }, + "node_modules/solc-0.5.4/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "engines": { + "node": ">=4" + } + }, + "node_modules/solc-0.5.4/node_modules/jsonfile": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", + "dependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/solc-0.5.4/node_modules/lcid": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz", + "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==", + "dependencies": { + "invert-kv": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/solc-0.5.4/node_modules/os-locale": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz", + "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==", + "dependencies": { + "execa": "^1.0.0", + "lcid": "^2.0.0", + "mem": "^4.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/solc-0.5.4/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==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/solc-0.5.4/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/solc-0.5.4/node_modules/string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dependencies": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/solc-0.5.4/node_modules/strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dependencies": { + "ansi-regex": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/solc-0.5.4/node_modules/which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" + }, + "node_modules/solc-0.5.4/node_modules/yargs": { + "version": "11.1.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-11.1.1.tgz", + "integrity": "sha512-PRU7gJrJaXv3q3yQZ/+/X6KBswZiaQ+zOmdprZcouPYtQgvNU35i+68M4b1ZHLZtYFT5QObFLV+ZkmJYcwKdiw==", + "dependencies": { + "cliui": "^4.0.0", + "decamelize": "^1.1.1", + "find-up": "^2.1.0", + "get-caller-file": "^1.0.1", + "os-locale": "^3.1.0", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^2.0.0", + "which-module": "^2.0.0", + "y18n": "^3.2.1", + "yargs-parser": "^9.0.2" + } + }, + "node_modules/solc-0.5.4/node_modules/yargs-parser": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-9.0.2.tgz", + "integrity": "sha1-nM9qQ0YP5O1Aqbto9I1DuKaMwHc=", + "dependencies": { + "camelcase": "^4.1.0" + } + }, + "node_modules/solc-0.5.5": { + "name": "solc", + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/solc/-/solc-0.5.5.tgz", + "integrity": "sha512-eh24ieiUC/M0tQPvK/YtORXzW4QNinFzDmF9Nj7/zXlxD06pLz4cnWExz7mzAmiI7f5xFfXlitLbLn2w3U6niw==", + "dependencies": { + "command-exists": "^1.2.8", + "fs-extra": "^0.30.0", + "keccak": "^1.0.2", + "memorystream": "^0.3.1", + "require-from-string": "^2.0.0", + "semver": "^5.5.0", + "tmp": "0.0.33", + "yargs": "^11.0.0" + }, + "bin": { + "solcjs": "solcjs" + } + }, + "node_modules/solc-0.5.5/node_modules/ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "engines": { + "node": ">=4" + } + }, + "node_modules/solc-0.5.5/node_modules/camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "engines": { + "node": ">=4" + } + }, + "node_modules/solc-0.5.5/node_modules/cliui": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", + "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", + "dependencies": { + "string-width": "^2.1.1", + "strip-ansi": "^4.0.0", + "wrap-ansi": "^2.0.0" + } + }, + "node_modules/solc-0.5.5/node_modules/find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dependencies": { + "locate-path": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/solc-0.5.5/node_modules/fs-extra": { + "version": "0.30.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", + "integrity": "sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A=", + "dependencies": { + "graceful-fs": "^4.1.2", + "jsonfile": "^2.1.0", + "klaw": "^1.0.0", + "path-is-absolute": "^1.0.0", + "rimraf": "^2.2.8" + } + }, + "node_modules/solc-0.5.5/node_modules/invert-kv": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz", + "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==", + "engines": { + "node": ">=4" + } + }, + "node_modules/solc-0.5.5/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "engines": { + "node": ">=4" + } + }, + "node_modules/solc-0.5.5/node_modules/jsonfile": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", + "dependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/solc-0.5.5/node_modules/lcid": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz", + "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==", + "dependencies": { + "invert-kv": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/solc-0.5.5/node_modules/os-locale": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz", + "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==", + "dependencies": { + "execa": "^1.0.0", + "lcid": "^2.0.0", + "mem": "^4.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/solc-0.5.5/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==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/solc-0.5.5/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/solc-0.5.5/node_modules/string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dependencies": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/solc-0.5.5/node_modules/strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dependencies": { + "ansi-regex": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/solc-0.5.5/node_modules/which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" + }, + "node_modules/solc-0.5.5/node_modules/yargs": { + "version": "11.1.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-11.1.1.tgz", + "integrity": "sha512-PRU7gJrJaXv3q3yQZ/+/X6KBswZiaQ+zOmdprZcouPYtQgvNU35i+68M4b1ZHLZtYFT5QObFLV+ZkmJYcwKdiw==", + "dependencies": { + "cliui": "^4.0.0", + "decamelize": "^1.1.1", + "find-up": "^2.1.0", + "get-caller-file": "^1.0.1", + "os-locale": "^3.1.0", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^2.0.0", + "which-module": "^2.0.0", + "y18n": "^3.2.1", + "yargs-parser": "^9.0.2" + } + }, + "node_modules/solc-0.5.5/node_modules/yargs-parser": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-9.0.2.tgz", + "integrity": "sha1-nM9qQ0YP5O1Aqbto9I1DuKaMwHc=", + "dependencies": { + "camelcase": "^4.1.0" + } + }, + "node_modules/solc-0.5.6": { + "name": "solc", + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/solc/-/solc-0.5.6.tgz", + "integrity": "sha512-BuvrLwOSAGEUbE4jffLBcO9Vm8OVgxImE5qFTHzjH2n+RqBHeqDDOY0gU4LvGWsA6ttjADJyRriF9Pp0vjIq2g==", + "dependencies": { + "command-exists": "^1.2.8", + "fs-extra": "^0.30.0", + "keccak": "^1.0.2", + "memorystream": "^0.3.1", + "require-from-string": "^2.0.0", + "semver": "^5.5.0", + "tmp": "0.0.33", + "yargs": "^11.0.0" + }, + "bin": { + "solcjs": "solcjs" + } + }, + "node_modules/solc-0.5.6/node_modules/ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "engines": { + "node": ">=4" + } + }, + "node_modules/solc-0.5.6/node_modules/camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "engines": { + "node": ">=4" + } + }, + "node_modules/solc-0.5.6/node_modules/cliui": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", + "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", + "dependencies": { + "string-width": "^2.1.1", + "strip-ansi": "^4.0.0", + "wrap-ansi": "^2.0.0" + } + }, + "node_modules/solc-0.5.6/node_modules/find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dependencies": { + "locate-path": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/solc-0.5.6/node_modules/fs-extra": { + "version": "0.30.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", + "integrity": "sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A=", + "dependencies": { + "graceful-fs": "^4.1.2", + "jsonfile": "^2.1.0", + "klaw": "^1.0.0", + "path-is-absolute": "^1.0.0", + "rimraf": "^2.2.8" + } + }, + "node_modules/solc-0.5.6/node_modules/invert-kv": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz", + "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==", + "engines": { + "node": ">=4" + } + }, + "node_modules/solc-0.5.6/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "engines": { + "node": ">=4" + } + }, + "node_modules/solc-0.5.6/node_modules/jsonfile": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", + "dependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/solc-0.5.6/node_modules/lcid": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz", + "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==", + "dependencies": { + "invert-kv": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/solc-0.5.6/node_modules/os-locale": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz", + "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==", + "dependencies": { + "execa": "^1.0.0", + "lcid": "^2.0.0", + "mem": "^4.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/solc-0.5.6/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==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/solc-0.5.6/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/solc-0.5.6/node_modules/string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dependencies": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/solc-0.5.6/node_modules/strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dependencies": { + "ansi-regex": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/solc-0.5.6/node_modules/which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" + }, + "node_modules/solc-0.5.6/node_modules/yargs": { + "version": "11.1.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-11.1.1.tgz", + "integrity": "sha512-PRU7gJrJaXv3q3yQZ/+/X6KBswZiaQ+zOmdprZcouPYtQgvNU35i+68M4b1ZHLZtYFT5QObFLV+ZkmJYcwKdiw==", + "dependencies": { + "cliui": "^4.0.0", + "decamelize": "^1.1.1", + "find-up": "^2.1.0", + "get-caller-file": "^1.0.1", + "os-locale": "^3.1.0", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^2.0.0", + "which-module": "^2.0.0", + "y18n": "^3.2.1", + "yargs-parser": "^9.0.2" + } + }, + "node_modules/solc-0.5.6/node_modules/yargs-parser": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-9.0.2.tgz", + "integrity": "sha1-nM9qQ0YP5O1Aqbto9I1DuKaMwHc=", + "dependencies": { + "camelcase": "^4.1.0" + } + }, + "node_modules/solc-0.5.7": { + "name": "solc", + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/solc/-/solc-0.5.7.tgz", + "integrity": "sha512-DaYFzB3AAYjzPtgUl9LenPY2xjI3wG9k8U8T8YE/sXHVIoCirCY5MB6mhcFPgk/VyUtaWZPUCWiYS1E6RSiiqw==", + "dependencies": { + "command-exists": "^1.2.8", + "fs-extra": "^0.30.0", + "keccak": "^1.0.2", + "memorystream": "^0.3.1", + "require-from-string": "^2.0.0", + "semver": "^5.5.0", + "tmp": "0.0.33", + "yargs": "^11.0.0" + }, + "bin": { + "solcjs": "solcjs" + } + }, + "node_modules/solc-0.5.7/node_modules/ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "engines": { + "node": ">=4" + } + }, + "node_modules/solc-0.5.7/node_modules/camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "engines": { + "node": ">=4" + } + }, + "node_modules/solc-0.5.7/node_modules/cliui": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", + "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", + "dependencies": { + "string-width": "^2.1.1", + "strip-ansi": "^4.0.0", + "wrap-ansi": "^2.0.0" + } + }, + "node_modules/solc-0.5.7/node_modules/find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dependencies": { + "locate-path": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/solc-0.5.7/node_modules/fs-extra": { + "version": "0.30.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", + "integrity": "sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A=", + "dependencies": { + "graceful-fs": "^4.1.2", + "jsonfile": "^2.1.0", + "klaw": "^1.0.0", + "path-is-absolute": "^1.0.0", + "rimraf": "^2.2.8" + } + }, + "node_modules/solc-0.5.7/node_modules/invert-kv": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz", + "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==", + "engines": { + "node": ">=4" + } + }, + "node_modules/solc-0.5.7/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "engines": { + "node": ">=4" + } + }, + "node_modules/solc-0.5.7/node_modules/jsonfile": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", + "dependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/solc-0.5.7/node_modules/lcid": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz", + "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==", + "dependencies": { + "invert-kv": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/solc-0.5.7/node_modules/os-locale": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz", + "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==", + "dependencies": { + "execa": "^1.0.0", + "lcid": "^2.0.0", + "mem": "^4.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/solc-0.5.7/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==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/solc-0.5.7/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/solc-0.5.7/node_modules/string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dependencies": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/solc-0.5.7/node_modules/strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dependencies": { + "ansi-regex": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/solc-0.5.7/node_modules/which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" + }, + "node_modules/solc-0.5.7/node_modules/yargs": { + "version": "11.1.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-11.1.1.tgz", + "integrity": "sha512-PRU7gJrJaXv3q3yQZ/+/X6KBswZiaQ+zOmdprZcouPYtQgvNU35i+68M4b1ZHLZtYFT5QObFLV+ZkmJYcwKdiw==", + "dependencies": { + "cliui": "^4.0.0", + "decamelize": "^1.1.1", + "find-up": "^2.1.0", + "get-caller-file": "^1.0.1", + "os-locale": "^3.1.0", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^2.0.0", + "which-module": "^2.0.0", + "y18n": "^3.2.1", + "yargs-parser": "^9.0.2" + } + }, + "node_modules/solc-0.5.7/node_modules/yargs-parser": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-9.0.2.tgz", + "integrity": "sha1-nM9qQ0YP5O1Aqbto9I1DuKaMwHc=", + "dependencies": { + "camelcase": "^4.1.0" + } + }, + "node_modules/solc-0.5.8": { + "name": "solc", + "version": "0.5.8", + "resolved": "https://registry.npmjs.org/solc/-/solc-0.5.8.tgz", + "integrity": "sha512-RQ2SlwPBOBSV7ktNQJkvbiQks3t+3V9dsqD014EdstxnJzSxBuOvbt3P5QXpNPYW1DsEmF7dhOaT3JL7yEae/A==", + "dependencies": { + "command-exists": "^1.2.8", + "fs-extra": "^0.30.0", + "keccak": "^1.0.2", + "memorystream": "^0.3.1", + "require-from-string": "^2.0.0", + "semver": "^5.5.0", + "tmp": "0.0.33", + "yargs": "^11.0.0" + }, + "bin": { + "solcjs": "solcjs" + } + }, + "node_modules/solc-0.5.8/node_modules/ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "engines": { + "node": ">=4" + } + }, + "node_modules/solc-0.5.8/node_modules/camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "engines": { + "node": ">=4" + } + }, + "node_modules/solc-0.5.8/node_modules/cliui": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", + "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", + "dependencies": { + "string-width": "^2.1.1", + "strip-ansi": "^4.0.0", + "wrap-ansi": "^2.0.0" + } + }, + "node_modules/solc-0.5.8/node_modules/find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dependencies": { + "locate-path": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/solc-0.5.8/node_modules/fs-extra": { + "version": "0.30.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", + "integrity": "sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A=", + "dependencies": { + "graceful-fs": "^4.1.2", + "jsonfile": "^2.1.0", + "klaw": "^1.0.0", + "path-is-absolute": "^1.0.0", + "rimraf": "^2.2.8" + } + }, + "node_modules/solc-0.5.8/node_modules/invert-kv": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz", + "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==", + "engines": { + "node": ">=4" + } + }, + "node_modules/solc-0.5.8/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "engines": { + "node": ">=4" + } + }, + "node_modules/solc-0.5.8/node_modules/jsonfile": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", + "dependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/solc-0.5.8/node_modules/lcid": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz", + "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==", + "dependencies": { + "invert-kv": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/solc-0.5.8/node_modules/os-locale": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz", + "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==", + "dependencies": { + "execa": "^1.0.0", + "lcid": "^2.0.0", + "mem": "^4.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/solc-0.5.8/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==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/solc-0.5.8/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/solc-0.5.8/node_modules/string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dependencies": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/solc-0.5.8/node_modules/strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dependencies": { + "ansi-regex": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/solc-0.5.8/node_modules/which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" + }, + "node_modules/solc-0.5.8/node_modules/yargs": { + "version": "11.1.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-11.1.1.tgz", + "integrity": "sha512-PRU7gJrJaXv3q3yQZ/+/X6KBswZiaQ+zOmdprZcouPYtQgvNU35i+68M4b1ZHLZtYFT5QObFLV+ZkmJYcwKdiw==", + "dependencies": { + "cliui": "^4.0.0", + "decamelize": "^1.1.1", + "find-up": "^2.1.0", + "get-caller-file": "^1.0.1", + "os-locale": "^3.1.0", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^2.0.0", + "which-module": "^2.0.0", + "y18n": "^3.2.1", + "yargs-parser": "^9.0.2" + } + }, + "node_modules/solc-0.5.8/node_modules/yargs-parser": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-9.0.2.tgz", + "integrity": "sha1-nM9qQ0YP5O1Aqbto9I1DuKaMwHc=", + "dependencies": { + "camelcase": "^4.1.0" + } + }, + "node_modules/solc-0.5.9": { + "name": "solc", + "version": "0.5.9", + "resolved": "https://registry.npmjs.org/solc/-/solc-0.5.9.tgz", + "integrity": "sha512-IyCEXnSbpb3ii8FkgNu0QDtCtnvyGCtYNQejOaIZi6/9/CLJ2ozDHN2oNG26HfGZ8op9yDgqC+5SHziFvkRZuA==", + "dependencies": { + "command-exists": "^1.2.8", + "fs-extra": "^0.30.0", + "keccak": "^1.0.2", + "memorystream": "^0.3.1", + "require-from-string": "^2.0.0", + "semver": "^5.5.0", + "tmp": "0.0.33", + "yargs": "^11.0.0" + }, + "bin": { + "solcjs": "solcjs" + } + }, + "node_modules/solc-0.5.9/node_modules/ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "engines": { + "node": ">=4" + } + }, + "node_modules/solc-0.5.9/node_modules/camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "engines": { + "node": ">=4" + } + }, + "node_modules/solc-0.5.9/node_modules/cliui": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", + "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", + "dependencies": { + "string-width": "^2.1.1", + "strip-ansi": "^4.0.0", + "wrap-ansi": "^2.0.0" + } + }, + "node_modules/solc-0.5.9/node_modules/find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dependencies": { + "locate-path": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/solc-0.5.9/node_modules/fs-extra": { + "version": "0.30.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", + "integrity": "sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A=", + "dependencies": { + "graceful-fs": "^4.1.2", + "jsonfile": "^2.1.0", + "klaw": "^1.0.0", + "path-is-absolute": "^1.0.0", + "rimraf": "^2.2.8" + } + }, + "node_modules/solc-0.5.9/node_modules/invert-kv": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz", + "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==", + "engines": { + "node": ">=4" + } + }, + "node_modules/solc-0.5.9/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "engines": { + "node": ">=4" + } + }, + "node_modules/solc-0.5.9/node_modules/jsonfile": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", + "dependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/solc-0.5.9/node_modules/lcid": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz", + "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==", + "dependencies": { + "invert-kv": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/solc-0.5.9/node_modules/os-locale": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz", + "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==", + "dependencies": { + "execa": "^1.0.0", + "lcid": "^2.0.0", + "mem": "^4.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/solc-0.5.9/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==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/solc-0.5.9/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/solc-0.5.9/node_modules/string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dependencies": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/solc-0.5.9/node_modules/strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dependencies": { + "ansi-regex": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/solc-0.5.9/node_modules/which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" + }, + "node_modules/solc-0.5.9/node_modules/yargs": { + "version": "11.1.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-11.1.1.tgz", + "integrity": "sha512-PRU7gJrJaXv3q3yQZ/+/X6KBswZiaQ+zOmdprZcouPYtQgvNU35i+68M4b1ZHLZtYFT5QObFLV+ZkmJYcwKdiw==", + "dependencies": { + "cliui": "^4.0.0", + "decamelize": "^1.1.1", + "find-up": "^2.1.0", + "get-caller-file": "^1.0.1", + "os-locale": "^3.1.0", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^2.0.0", + "which-module": "^2.0.0", + "y18n": "^3.2.1", + "yargs-parser": "^9.0.2" + } + }, + "node_modules/solc-0.5.9/node_modules/yargs-parser": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-9.0.2.tgz", + "integrity": "sha1-nM9qQ0YP5O1Aqbto9I1DuKaMwHc=", + "dependencies": { + "camelcase": "^4.1.0" + } + }, + "node_modules/solc-0.6.0": { + "name": "solc", + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/solc/-/solc-0.6.0.tgz", + "integrity": "sha512-fYVRKbJLbg0oETBuAJN/ts0X/hj2YgOAl3ly3nrm/qhleVr22ecl3OSXW3hRmOWvH81hJ2KHRYRQWgqioK6d0A==", + "dependencies": { + "command-exists": "^1.2.8", + "commander": "3.0.2", + "fs-extra": "^0.30.0", + "js-sha3": "0.8.0", + "memorystream": "^0.3.1", + "require-from-string": "^2.0.0", + "semver": "^5.5.0", + "tmp": "0.0.33" + }, + "bin": { + "solcjs": "solcjs" + } + }, + "node_modules/solc-0.6.0/node_modules/fs-extra": { + "version": "0.30.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", + "integrity": "sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A=", + "dependencies": { + "graceful-fs": "^4.1.2", + "jsonfile": "^2.1.0", + "klaw": "^1.0.0", + "path-is-absolute": "^1.0.0", + "rimraf": "^2.2.8" + } + }, + "node_modules/solc-0.6.0/node_modules/jsonfile": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", + "dependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/solc-0.6.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==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/solc-0.6.0/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/solc-0.6.1": { + "name": "solc", + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/solc/-/solc-0.6.1.tgz", + "integrity": "sha512-iKqNYps2p++x8L9sBg7JeAJb7EmW8VJ/2asAzwlLYcUhj86AzuWLe94UTSQHv1SSCCj/x6lya8twvXkZtlTbIQ==", + "dependencies": { + "command-exists": "^1.2.8", + "commander": "3.0.2", + "fs-extra": "^0.30.0", + "js-sha3": "0.8.0", + "memorystream": "^0.3.1", + "require-from-string": "^2.0.0", + "semver": "^5.5.0", + "tmp": "0.0.33" + }, + "bin": { + "solcjs": "solcjs" + } + }, + "node_modules/solc-0.6.1/node_modules/fs-extra": { + "version": "0.30.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", + "integrity": "sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A=", + "dependencies": { + "graceful-fs": "^4.1.2", + "jsonfile": "^2.1.0", + "klaw": "^1.0.0", + "path-is-absolute": "^1.0.0", + "rimraf": "^2.2.8" + } + }, + "node_modules/solc-0.6.1/node_modules/jsonfile": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", + "dependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/solc-0.6.1/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==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/solc-0.6.1/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/solc-0.6.10": { + "name": "solc", + "version": "0.6.10", + "resolved": "https://registry.npmjs.org/solc/-/solc-0.6.10.tgz", + "integrity": "sha512-+oHwIvNjg3bxXvL9yua/Z4ZFEdkCkgRSh7aIGGb+mf/gzoA8PRKiKGYDsjMaj0CJLH1BTBOUpNFeYhhnUFfjRg==", + "dependencies": { + "command-exists": "^1.2.8", + "commander": "3.0.2", + "fs-extra": "^0.30.0", + "js-sha3": "0.8.0", + "memorystream": "^0.3.1", + "require-from-string": "^2.0.0", + "semver": "^5.5.0", + "tmp": "0.0.33" + }, + "bin": { + "solcjs": "solcjs" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/solc-0.6.10/node_modules/fs-extra": { + "version": "0.30.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", + "integrity": "sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A=", + "dependencies": { + "graceful-fs": "^4.1.2", + "jsonfile": "^2.1.0", + "klaw": "^1.0.0", + "path-is-absolute": "^1.0.0", + "rimraf": "^2.2.8" + } + }, + "node_modules/solc-0.6.10/node_modules/jsonfile": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", + "dependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/solc-0.6.10/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==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/solc-0.6.10/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/solc-0.6.11": { + "name": "solc", + "version": "0.6.11", + "resolved": "https://registry.npmjs.org/solc/-/solc-0.6.11.tgz", + "integrity": "sha512-qMe8epy45eMzXZ9IGDk986NGjakC5/s+yPGuO99YsDaJQitxDAd3rIItlzxgfEvjr0xNJ3IaqGAGvvJ0/59nfA==", + "dependencies": { + "command-exists": "^1.2.8", + "commander": "3.0.2", + "fs-extra": "^0.30.0", + "js-sha3": "0.8.0", + "memorystream": "^0.3.1", + "require-from-string": "^2.0.0", + "semver": "^5.5.0", + "tmp": "0.0.33" + }, + "bin": { + "solcjs": "solcjs" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/solc-0.6.11/node_modules/fs-extra": { + "version": "0.30.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", + "integrity": "sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A=", + "dependencies": { + "graceful-fs": "^4.1.2", + "jsonfile": "^2.1.0", + "klaw": "^1.0.0", + "path-is-absolute": "^1.0.0", + "rimraf": "^2.2.8" + } + }, + "node_modules/solc-0.6.11/node_modules/jsonfile": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", + "dependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/solc-0.6.11/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==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/solc-0.6.11/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/solc-0.6.12": { + "name": "solc", + "version": "0.6.12", + "resolved": "https://registry.npmjs.org/solc/-/solc-0.6.12.tgz", + "integrity": "sha512-Lm0Ql2G9Qc7yPP2Ba+WNmzw2jwsrd3u4PobHYlSOxaut3TtUbj9+5ZrT6f4DUpNPEoBaFUOEg9Op9C0mk7ge9g==", + "dependencies": { + "command-exists": "^1.2.8", + "commander": "3.0.2", + "fs-extra": "^0.30.0", + "js-sha3": "0.8.0", + "memorystream": "^0.3.1", + "require-from-string": "^2.0.0", + "semver": "^5.5.0", + "tmp": "0.0.33" + }, + "bin": { + "solcjs": "solcjs" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/solc-0.6.12/node_modules/fs-extra": { + "version": "0.30.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", + "integrity": "sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A=", + "dependencies": { + "graceful-fs": "^4.1.2", + "jsonfile": "^2.1.0", + "klaw": "^1.0.0", + "path-is-absolute": "^1.0.0", + "rimraf": "^2.2.8" + } + }, + "node_modules/solc-0.6.12/node_modules/jsonfile": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", + "dependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/solc-0.6.12/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==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/solc-0.6.12/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/solc-0.6.2": { + "name": "solc", + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/solc/-/solc-0.6.2.tgz", + "integrity": "sha512-PIFb/i7HSQXXfsXHlGDR+B2BCaQ+Bx7gpZ7bz+zLz2rPePyxkIJgLmb4rgRKYxEnIp5dKilcjKRPbrz8GNlIHQ==", + "dependencies": { + "command-exists": "^1.2.8", + "commander": "3.0.2", + "fs-extra": "^0.30.0", + "js-sha3": "0.8.0", + "memorystream": "^0.3.1", + "require-from-string": "^2.0.0", + "semver": "^5.5.0", + "tmp": "0.0.33" + }, + "bin": { + "solcjs": "solcjs" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/solc-0.6.2/node_modules/fs-extra": { + "version": "0.30.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", + "integrity": "sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A=", + "dependencies": { + "graceful-fs": "^4.1.2", + "jsonfile": "^2.1.0", + "klaw": "^1.0.0", + "path-is-absolute": "^1.0.0", + "rimraf": "^2.2.8" + } + }, + "node_modules/solc-0.6.2/node_modules/jsonfile": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", + "dependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/solc-0.6.2/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==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/solc-0.6.2/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/solc-0.6.3": { + "name": "solc", + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/solc/-/solc-0.6.3.tgz", + "integrity": "sha512-Mu4orZUrNYJAOab4Tdq36EGYsFBnaji4ykiT5COQWOPTo3gJ6dBKKszmeOaox96sKyt1MeZTS0/pcY5n8qQiXg==", + "dependencies": { + "command-exists": "^1.2.8", + "commander": "3.0.2", + "fs-extra": "^0.30.0", + "js-sha3": "0.8.0", + "memorystream": "^0.3.1", + "require-from-string": "^2.0.0", + "semver": "^5.5.0", + "tmp": "0.0.33" + }, + "bin": { + "solcjs": "solcjs" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/solc-0.6.3/node_modules/fs-extra": { + "version": "0.30.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", + "integrity": "sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A=", + "dependencies": { + "graceful-fs": "^4.1.2", + "jsonfile": "^2.1.0", + "klaw": "^1.0.0", + "path-is-absolute": "^1.0.0", + "rimraf": "^2.2.8" + } + }, + "node_modules/solc-0.6.3/node_modules/jsonfile": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", + "dependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/solc-0.6.3/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==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/solc-0.6.3/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/solc-0.6.4": { + "name": "solc", + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/solc/-/solc-0.6.4.tgz", + "integrity": "sha512-HjUCys7ue9n7lGCa1XNf+wDdEY/wY64CpwnD4iPxW+BYYUX6ytwWXKitoolPXOOVxq4jewvwtL7Pngs+5k954A==", + "dependencies": { + "command-exists": "^1.2.8", + "commander": "3.0.2", + "fs-extra": "^0.30.0", + "js-sha3": "0.8.0", + "memorystream": "^0.3.1", + "require-from-string": "^2.0.0", + "semver": "^5.5.0", + "tmp": "0.0.33" + }, + "bin": { + "solcjs": "solcjs" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/solc-0.6.4/node_modules/fs-extra": { + "version": "0.30.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", + "integrity": "sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A=", + "dependencies": { + "graceful-fs": "^4.1.2", + "jsonfile": "^2.1.0", + "klaw": "^1.0.0", + "path-is-absolute": "^1.0.0", + "rimraf": "^2.2.8" + } + }, + "node_modules/solc-0.6.4/node_modules/jsonfile": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", + "dependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/solc-0.6.4/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==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/solc-0.6.4/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/solc-0.6.5": { + "name": "solc", + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/solc/-/solc-0.6.5.tgz", + "integrity": "sha512-syvJgAYia/hOXIYTGSPSQYQmDLlMXhOZW5J7dGBUFU0oYoDyZ8jRsHYq9D12w8iNlum0tzWJ+vGV4EEvAJe+0Q==", + "dependencies": { + "command-exists": "^1.2.8", + "commander": "3.0.2", + "fs-extra": "^0.30.0", + "js-sha3": "0.8.0", + "memorystream": "^0.3.1", + "require-from-string": "^2.0.0", + "semver": "^5.5.0", + "tmp": "0.0.33" + }, + "bin": { + "solcjs": "solcjs" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/solc-0.6.5/node_modules/fs-extra": { + "version": "0.30.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", + "integrity": "sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A=", + "dependencies": { + "graceful-fs": "^4.1.2", + "jsonfile": "^2.1.0", + "klaw": "^1.0.0", + "path-is-absolute": "^1.0.0", + "rimraf": "^2.2.8" + } + }, + "node_modules/solc-0.6.5/node_modules/jsonfile": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", + "dependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/solc-0.6.5/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==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/solc-0.6.5/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/solc-0.6.6": { + "name": "solc", + "version": "0.6.6", + "resolved": "https://registry.npmjs.org/solc/-/solc-0.6.6.tgz", + "integrity": "sha512-p0IO/1fRaHWKN+qR+mUivpwnBpFYD8EoFAzT8VL4lmllNwsyEO7TJJAc2QK0XUeWOYOT92NWKhDNNNLTVbHShA==", + "dependencies": { + "command-exists": "^1.2.8", + "commander": "3.0.2", + "fs-extra": "^0.30.0", + "js-sha3": "0.8.0", + "memorystream": "^0.3.1", + "require-from-string": "^2.0.0", + "semver": "^5.5.0", + "tmp": "0.0.33" + }, + "bin": { + "solcjs": "solcjs" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/solc-0.6.6/node_modules/fs-extra": { + "version": "0.30.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", + "integrity": "sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A=", + "dependencies": { + "graceful-fs": "^4.1.2", + "jsonfile": "^2.1.0", + "klaw": "^1.0.0", + "path-is-absolute": "^1.0.0", + "rimraf": "^2.2.8" + } + }, + "node_modules/solc-0.6.6/node_modules/jsonfile": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", + "dependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/solc-0.6.6/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==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/solc-0.6.6/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/solc-0.6.7": { + "name": "solc", + "version": "0.6.7", + "resolved": "https://registry.npmjs.org/solc/-/solc-0.6.7.tgz", + "integrity": "sha512-a3iocjS1yGzw3Wy7jkqSLX3Vg1lMDCyoKZoVfpOagRGWkh37f11BrcUDO8f73rjdpw2WUBSLJtTQ26i52/0JOg==", + "dependencies": { + "command-exists": "^1.2.8", + "commander": "3.0.2", + "fs-extra": "^0.30.0", + "js-sha3": "0.8.0", + "memorystream": "^0.3.1", + "require-from-string": "^2.0.0", + "semver": "^5.5.0", + "tmp": "0.0.33" + }, + "bin": { + "solcjs": "solcjs" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/solc-0.6.7/node_modules/fs-extra": { + "version": "0.30.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", + "integrity": "sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A=", + "dependencies": { + "graceful-fs": "^4.1.2", + "jsonfile": "^2.1.0", + "klaw": "^1.0.0", + "path-is-absolute": "^1.0.0", + "rimraf": "^2.2.8" + } + }, + "node_modules/solc-0.6.7/node_modules/jsonfile": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", + "dependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/solc-0.6.7/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==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/solc-0.6.7/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/solc-0.6.8": { + "name": "solc", + "version": "0.6.8", + "resolved": "https://registry.npmjs.org/solc/-/solc-0.6.8.tgz", + "integrity": "sha512-7URBAisWVjO7dwWNpEkQ5dpRSpSF4Wm0aD5EB82D5BQKh+q7jhOxhgkG4K5gax/geM0kPZUAxnaLcgl2ZXBgMQ==", + "dependencies": { + "command-exists": "^1.2.8", + "commander": "3.0.2", + "fs-extra": "^0.30.0", + "js-sha3": "0.8.0", + "memorystream": "^0.3.1", + "require-from-string": "^2.0.0", + "semver": "^5.5.0", + "tmp": "0.0.33" + }, + "bin": { + "solcjs": "solcjs" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/solc-0.6.8/node_modules/fs-extra": { + "version": "0.30.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", + "integrity": "sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A=", + "dependencies": { + "graceful-fs": "^4.1.2", + "jsonfile": "^2.1.0", + "klaw": "^1.0.0", + "path-is-absolute": "^1.0.0", + "rimraf": "^2.2.8" + } + }, + "node_modules/solc-0.6.8/node_modules/jsonfile": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", + "dependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/solc-0.6.8/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==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/solc-0.6.8/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/solc-0.6.9": { + "name": "solc", + "version": "0.6.9", + "resolved": "https://registry.npmjs.org/solc/-/solc-0.6.9.tgz", + "integrity": "sha512-DZ7lO6fpJQVMffN0vnVufyjQCkJMnqAOaqKWoqqK3ZjqA/Wl/emwFjUgMArUjtNSlQKcPUHN1GsvKZzaOOycXA==", + "dependencies": { + "command-exists": "^1.2.8", + "commander": "3.0.2", + "fs-extra": "^0.30.0", + "js-sha3": "0.8.0", + "memorystream": "^0.3.1", + "require-from-string": "^2.0.0", + "semver": "^5.5.0", + "tmp": "0.0.33" + }, + "bin": { + "solcjs": "solcjs" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/solc-0.6.9/node_modules/fs-extra": { + "version": "0.30.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", + "integrity": "sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A=", + "dependencies": { + "graceful-fs": "^4.1.2", + "jsonfile": "^2.1.0", + "klaw": "^1.0.0", + "path-is-absolute": "^1.0.0", + "rimraf": "^2.2.8" + } + }, + "node_modules/solc-0.6.9/node_modules/jsonfile": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", + "dependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/solc-0.6.9/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==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/solc-0.6.9/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/solc-0.7.0": { + "name": "solc", + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/solc/-/solc-0.7.0.tgz", + "integrity": "sha512-4mpz0XimxHpR7X/YIpM2C4hX+wGTenACJX8Vch6I1jgwwQoZElqnaKHD/f2z9/B8jdU5eim5NGcgg3XEY5rcrA==", + "dependencies": { + "command-exists": "^1.2.8", + "commander": "3.0.2", + "follow-redirects": "^1.12.1", + "fs-extra": "^0.30.0", + "js-sha3": "0.8.0", + "memorystream": "^0.3.1", + "require-from-string": "^2.0.0", + "semver": "^5.5.0", + "tmp": "0.0.33" + }, + "bin": { + "solcjs": "solcjs" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/solc-0.7.0/node_modules/fs-extra": { + "version": "0.30.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", + "integrity": "sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A=", + "dependencies": { + "graceful-fs": "^4.1.2", + "jsonfile": "^2.1.0", + "klaw": "^1.0.0", + "path-is-absolute": "^1.0.0", + "rimraf": "^2.2.8" + } + }, + "node_modules/solc-0.7.0/node_modules/jsonfile": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", + "dependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/solc-0.7.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==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/solc-0.7.0/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/solc-0.7.1": { + "name": "solc", + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/solc/-/solc-0.7.1.tgz", + "integrity": "sha512-LepFVKDOcZ1O3OskOy45XTQ6G4rMRTmsGjn4gssaOrI9uyJI9LL6/X2MlYqeJx22UrpPUtCjQAb5IFWRoOSe+w==", + "dependencies": { + "command-exists": "^1.2.8", + "commander": "3.0.2", + "follow-redirects": "^1.12.1", + "fs-extra": "^0.30.0", + "js-sha3": "0.8.0", + "memorystream": "^0.3.1", + "require-from-string": "^2.0.0", + "semver": "^5.5.0", + "tmp": "0.0.33" + }, + "bin": { + "solcjs": "solcjs" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/solc-0.7.1/node_modules/fs-extra": { + "version": "0.30.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", + "integrity": "sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A=", + "dependencies": { + "graceful-fs": "^4.1.2", + "jsonfile": "^2.1.0", + "klaw": "^1.0.0", + "path-is-absolute": "^1.0.0", + "rimraf": "^2.2.8" + } + }, + "node_modules/solc-0.7.1/node_modules/jsonfile": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", + "dependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/solc-0.7.1/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==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/solc-0.7.1/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/solc-0.7.2": { + "name": "solc", + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/solc/-/solc-0.7.2.tgz", + "integrity": "sha512-fFaeyXAxzOCTNxtXWHCIlGh3AHTV93+luQG2fSmXhvO0Hl6mxgfW8Fc6UVnydXMt3ifna5xKpgjjk+VSWS8jfw==", + "dependencies": { + "command-exists": "^1.2.8", + "commander": "3.0.2", + "follow-redirects": "^1.12.1", + "fs-extra": "^0.30.0", + "js-sha3": "0.8.0", + "memorystream": "^0.3.1", + "require-from-string": "^2.0.0", + "semver": "^5.5.0", + "tmp": "0.0.33" + }, + "bin": { + "solcjs": "solcjs" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/solc-0.7.2/node_modules/fs-extra": { + "version": "0.30.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", + "integrity": "sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A=", + "dependencies": { + "graceful-fs": "^4.1.2", + "jsonfile": "^2.1.0", + "klaw": "^1.0.0", + "path-is-absolute": "^1.0.0", + "rimraf": "^2.2.8" + } + }, + "node_modules/solc-0.7.2/node_modules/jsonfile": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", + "dependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/solc-0.7.2/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==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/solc-0.7.2/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/solc-0.7.3": { + "name": "solc", + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/solc/-/solc-0.7.3.tgz", + "integrity": "sha512-GAsWNAjGzIDg7VxzP6mPjdurby3IkGCjQcM8GFYZT6RyaoUZKmMU6Y7YwG+tFGhv7dwZ8rmR4iwFDrrD99JwqA==", + "dependencies": { + "command-exists": "^1.2.8", + "commander": "3.0.2", + "follow-redirects": "^1.12.1", + "fs-extra": "^0.30.0", + "js-sha3": "0.8.0", + "memorystream": "^0.3.1", + "require-from-string": "^2.0.0", + "semver": "^5.5.0", + "tmp": "0.0.33" + }, + "bin": { + "solcjs": "solcjs" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/solc-0.7.3/node_modules/fs-extra": { + "version": "0.30.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", + "integrity": "sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A=", + "dependencies": { + "graceful-fs": "^4.1.2", + "jsonfile": "^2.1.0", + "klaw": "^1.0.0", + "path-is-absolute": "^1.0.0", + "rimraf": "^2.2.8" + } + }, + "node_modules/solc-0.7.3/node_modules/jsonfile": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", + "dependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/solc-0.7.3/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==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/solc-0.7.3/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/solc-0.7.4": { + "name": "solc", + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/solc/-/solc-0.7.4.tgz", + "integrity": "sha512-IVLqAfUkJqgTS0JIgFPeC50ehUeBXu2eE+iU+rqb6UeOyf6w/BB/EsNcTSTpjtUti8BTG/sCd2qVhrWVYy7p0g==", + "dependencies": { + "command-exists": "^1.2.8", + "commander": "3.0.2", + "follow-redirects": "^1.12.1", + "fs-extra": "^0.30.0", + "js-sha3": "0.8.0", + "memorystream": "^0.3.1", + "require-from-string": "^2.0.0", + "semver": "^5.5.0", + "tmp": "0.0.33" + }, + "bin": { + "solcjs": "solcjs" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/solc-0.7.4/node_modules/fs-extra": { + "version": "0.30.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", + "integrity": "sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A=", + "dependencies": { + "graceful-fs": "^4.1.2", + "jsonfile": "^2.1.0", + "klaw": "^1.0.0", + "path-is-absolute": "^1.0.0", + "rimraf": "^2.2.8" + } + }, + "node_modules/solc-0.7.4/node_modules/jsonfile": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", + "dependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/solc-0.7.4/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==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/solc-0.7.4/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/solc-0.7.5": { + "name": "solc", + "version": "0.7.5", + "resolved": "https://registry.npmjs.org/solc/-/solc-0.7.5.tgz", + "integrity": "sha512-RdcYGj2qjg+maWYRZPW65QvOOYbwexDT9xaOEQJtRI0TIYfzTJmslJ4f9S56VNjJsIR1zHdUIiPyuhF7wGIylw==", + "dependencies": { + "command-exists": "^1.2.8", + "commander": "3.0.2", + "follow-redirects": "^1.12.1", + "fs-extra": "^0.30.0", + "js-sha3": "0.8.0", + "memorystream": "^0.3.1", + "require-from-string": "^2.0.0", + "semver": "^5.5.0", + "tmp": "0.0.33" + }, + "bin": { + "solcjs": "solcjs" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/solc-0.7.5/node_modules/fs-extra": { + "version": "0.30.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", + "integrity": "sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A=", + "dependencies": { + "graceful-fs": "^4.1.2", + "jsonfile": "^2.1.0", + "klaw": "^1.0.0", + "path-is-absolute": "^1.0.0", + "rimraf": "^2.2.8" + } + }, + "node_modules/solc-0.7.5/node_modules/jsonfile": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", + "dependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/solc-0.7.5/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==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/solc-0.7.5/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/solc-0.7.6": { + "name": "solc", + "version": "0.7.6", + "resolved": "https://registry.npmjs.org/solc/-/solc-0.7.6.tgz", + "integrity": "sha512-WsR/W7CXwh2VnmZapB4JrsDeLlshoKBz5Pz/zYNulB6LBsOEHI2Zj/GeKLMFcvv57OHiXHvxq5ZOQB+EdqxlxQ==", + "dependencies": { + "command-exists": "^1.2.8", + "commander": "3.0.2", + "follow-redirects": "^1.12.1", + "fs-extra": "^0.30.0", + "js-sha3": "0.8.0", + "memorystream": "^0.3.1", + "require-from-string": "^2.0.0", + "semver": "^5.5.0", + "tmp": "0.0.33" + }, + "bin": { + "solcjs": "solcjs" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/solc-0.7.6/node_modules/fs-extra": { + "version": "0.30.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", + "integrity": "sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A=", + "dependencies": { + "graceful-fs": "^4.1.2", + "jsonfile": "^2.1.0", + "klaw": "^1.0.0", + "path-is-absolute": "^1.0.0", + "rimraf": "^2.2.8" + } + }, + "node_modules/solc-0.7.6/node_modules/jsonfile": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", + "dependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/solc-0.7.6/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==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/solc-0.7.6/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/solc-0.8.0": { + "name": "solc", + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/solc/-/solc-0.8.0.tgz", + "integrity": "sha512-ypgvqYZhb/i5BM6cw9/5QkSlDJm/rLynsbWGP3kz6HeB6oNxPK6UMiB7jMr+tNVbQbBM/8l47vrI3XaDCHShjQ==", + "dependencies": { + "command-exists": "^1.2.8", + "commander": "3.0.2", + "follow-redirects": "^1.12.1", + "fs-extra": "^0.30.0", + "js-sha3": "0.8.0", + "memorystream": "^0.3.1", + "require-from-string": "^2.0.0", + "semver": "^5.5.0", + "tmp": "0.0.33" + }, + "bin": { + "solcjs": "solcjs" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/solc-0.8.0/node_modules/fs-extra": { + "version": "0.30.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", + "integrity": "sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A=", + "dependencies": { + "graceful-fs": "^4.1.2", + "jsonfile": "^2.1.0", + "klaw": "^1.0.0", + "path-is-absolute": "^1.0.0", + "rimraf": "^2.2.8" + } + }, + "node_modules/solc-0.8.0/node_modules/jsonfile": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", + "dependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/solc-0.8.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==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/solc-0.8.0/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/solc-0.8.1": { + "name": "solc-0.8.1-fixed", + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/solc-0.8.1-fixed/-/solc-0.8.1-fixed-0.8.1.tgz", + "integrity": "sha512-/vZrgw0mwX5yt648ur5AitUUJhnDckjxIxQYXPEMScNUueb1tLjo93UH+6Tivc0m3YYM9KCRqhURLT80H9BGVw==", + "dependencies": { + "command-exists": "^1.2.8", + "commander": "3.0.2", + "follow-redirects": "^1.12.1", + "fs-extra": "^0.30.0", + "js-sha3": "0.8.0", + "memorystream": "^0.3.1", + "require-from-string": "^2.0.0", + "semver": "^5.5.0", + "tmp": "0.0.33" + }, + "bin": { + "solcjs": "solcjs" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/solc-0.8.1/node_modules/fs-extra": { + "version": "0.30.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", + "integrity": "sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A=", + "dependencies": { + "graceful-fs": "^4.1.2", + "jsonfile": "^2.1.0", + "klaw": "^1.0.0", + "path-is-absolute": "^1.0.0", + "rimraf": "^2.2.8" + } + }, + "node_modules/solc-0.8.1/node_modules/jsonfile": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", + "dependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/solc-0.8.1/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==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/solc-0.8.1/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/solc-0.8.2": { + "name": "solc", + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/solc/-/solc-0.8.2.tgz", + "integrity": "sha512-fMfcAPaePLfsOY82jqONt0RMh5M8m+pK6QtnMGMUFUm8uEDlUmoqnyLxGVFelosJaVfXhygAB+mTlb+HxiV7DQ==", + "dependencies": { + "command-exists": "^1.2.8", + "commander": "3.0.2", + "follow-redirects": "^1.12.1", + "fs-extra": "^0.30.0", + "js-sha3": "0.8.0", + "memorystream": "^0.3.1", + "require-from-string": "^2.0.0", + "semver": "^5.5.0", + "tmp": "0.0.33" + }, + "bin": { + "solcjs": "solcjs" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/solc-0.8.2/node_modules/fs-extra": { + "version": "0.30.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", + "integrity": "sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A=", + "dependencies": { + "graceful-fs": "^4.1.2", + "jsonfile": "^2.1.0", + "klaw": "^1.0.0", + "path-is-absolute": "^1.0.0", + "rimraf": "^2.2.8" + } + }, + "node_modules/solc-0.8.2/node_modules/jsonfile": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", + "dependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/solc-0.8.2/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==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/solc-0.8.2/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/solc-0.8.3": { + "name": "solc", + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/solc/-/solc-0.8.3.tgz", + "integrity": "sha512-VZvSHtwe2zAsoviClIpWjvrg22bIZ0pLtzFrYD9BtPfR7mhMZYwpptnzRizNaSvMngTR+gB9Ul8IyL5xaC7+jw==", + "dependencies": { + "command-exists": "^1.2.8", + "commander": "3.0.2", + "follow-redirects": "^1.12.1", + "fs-extra": "^0.30.0", + "js-sha3": "0.8.0", + "memorystream": "^0.3.1", + "require-from-string": "^2.0.0", + "semver": "^5.5.0", + "tmp": "0.0.33" + }, + "bin": { + "solcjs": "solcjs" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/solc-0.8.3/node_modules/fs-extra": { + "version": "0.30.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", + "integrity": "sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A=", + "dependencies": { + "graceful-fs": "^4.1.2", + "jsonfile": "^2.1.0", + "klaw": "^1.0.0", + "path-is-absolute": "^1.0.0", + "rimraf": "^2.2.8" + } + }, + "node_modules/solc-0.8.3/node_modules/jsonfile": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", + "dependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/solc-0.8.3/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==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/solc-0.8.3/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/solc-0.8.4": { + "name": "solc", + "version": "0.8.4", + "resolved": "https://registry.npmjs.org/solc/-/solc-0.8.4.tgz", + "integrity": "sha512-krEdbucX9yY362l79gXTK2UHhsZ02aQjQOYTzcgTd/waApueo3yWGzjX0CDJ1ByOuW46WuKAyzfbRWdFNr6OYQ==", + "dependencies": { + "command-exists": "^1.2.8", + "commander": "3.0.2", + "follow-redirects": "^1.12.1", + "fs-extra": "^0.30.0", + "js-sha3": "0.8.0", + "memorystream": "^0.3.1", + "require-from-string": "^2.0.0", + "semver": "^5.5.0", + "tmp": "0.0.33" + }, + "bin": { + "solcjs": "solcjs" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/solc-0.8.4/node_modules/fs-extra": { + "version": "0.30.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", + "integrity": "sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A=", + "dependencies": { + "graceful-fs": "^4.1.2", + "jsonfile": "^2.1.0", + "klaw": "^1.0.0", + "path-is-absolute": "^1.0.0", + "rimraf": "^2.2.8" + } + }, + "node_modules/solc-0.8.4/node_modules/jsonfile": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/solc-0.8.4/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==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/solc-0.8.4/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.19", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", + "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", + "dev": true, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/source-map-support/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/spawn-wrap": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/spawn-wrap/-/spawn-wrap-2.0.0.tgz", + "integrity": "sha512-EeajNjfN9zMnULLwhZZQU3GWBoFNkbngTUPfaawT4RkMiviTxcX0qfhVbGey39mfctfDHkWtuecgQ8NJcyQWHg==", + "dev": true, + "dependencies": { + "foreground-child": "^2.0.0", + "is-windows": "^1.0.2", + "make-dir": "^3.0.0", + "rimraf": "^3.0.0", + "signal-exit": "^3.0.2", + "which": "^2.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/spawn-wrap/node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/spawn-wrap/node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/spdx-correct": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", + "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==" + }, + "node_modules/spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-license-ids": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.6.tgz", + "integrity": "sha512-+orQK83kyMva3WyPf59k1+Y525csj5JejicWut55zeTWANuN17qSiSLUXWtzHeNWORSvT7GLDJ/E/XiIWoXBTw==" + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true + }, + "node_modules/src-location": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/src-location/-/src-location-1.1.0.tgz", + "integrity": "sha1-P1DusMcWlDLlW0Jr5uOmjruhYhg=" + }, + "node_modules/stack-utils": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.2.tgz", + "integrity": "sha512-0H7QK2ECz3fyZMzQ8rH0j2ykpfbnd20BFtfg/SqVC2+sCTtcw0aDTGB7dk+de4U4uUeuz6nOtJcrkFFLG1B0Rg==", + "dev": true, + "dependencies": { + "escape-string-regexp": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/stack-utils/node_modules/escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/stream-events": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/stream-events/-/stream-events-1.0.5.tgz", + "integrity": "sha512-E1GUzBSgvct8Jsb3v2X15pjzN1tYebtbLaMg+eBOUOAxgbLoSbT2NS91ckc5lJD1KfLjId+jXJRgo0qnV5Nerg==", + "dev": true, + "dependencies": { + "stubs": "^3.0.0" + } + }, + "node_modules/strict-uri-encode": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", + "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dependencies": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "dependencies": { + "is-utf8": "^0.2.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strip-hex-prefix": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-hex-prefix/-/strip-hex-prefix-1.0.0.tgz", + "integrity": "sha1-DF8VX+8RUTczd96du1iNoFUA428=", + "dependencies": { + "is-hex-prefixed": "1.0.0" + }, + "engines": { + "node": ">=6.5.0", + "npm": ">=3" + } + }, + "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, + "engines": { + "node": ">=8" + } + }, + "node_modules/stubs": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/stubs/-/stubs-3.0.0.tgz", + "integrity": "sha1-6NK6H6nJBXAwPAMLaQD31fiavls=", + "dev": true + }, + "node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/table": { + "version": "6.0.8", + "resolved": "https://registry.npmjs.org/table/-/table-6.0.8.tgz", + "integrity": "sha512-OBAdezyozae8IvjHGXBDHByVkLCcsmffXUSj8LXkNb0SluRd4ug3GFCjk6JynZONIPhOkyr0Nnvbq1rlIspXyQ==", + "dev": true, + "dependencies": { + "ajv": "^8.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "lodash.clonedeep": "^4.5.0", + "lodash.flatten": "^4.4.0", + "lodash.truncate": "^4.4.2", + "slice-ansi": "^4.0.0", + "string-width": "^4.2.0" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/table/node_modules/ajv": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.0.1.tgz", + "integrity": "sha512-46ZA4TalFcLLqX1dEU3dhdY38wAtDydJ4e7QQTVekLUTzXkb1LfqU6VOBXC/a9wiv4T094WURqJH6ZitF92Kqw==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "node_modules/table/node_modules/ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/table/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/table/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "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/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/table/node_modules/string-width": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", + "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/table/node_modules/strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/teeny-request": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/teeny-request/-/teeny-request-6.0.1.tgz", + "integrity": "sha512-TAK0c9a00ELOqLrZ49cFxvPVogMUFaWY8dUsQc/0CuQPGF+BOxOQzXfE413BAk2kLomwNplvdtMpeaeGWmoc2g==", + "dev": true, + "dependencies": { + "http-proxy-agent": "^4.0.0", + "https-proxy-agent": "^4.0.0", + "node-fetch": "^2.2.0", + "stream-events": "^1.0.5", + "uuid": "^3.3.2" + } + }, + "node_modules/test-exclude": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", + "dev": true, + "dependencies": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", + "dev": true + }, + "node_modules/timed-out": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz", + "integrity": "sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "dependencies": { + "os-tmpdir": "~1.0.2" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/ts-node": { + "version": "9.1.1", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-9.1.1.tgz", + "integrity": "sha512-hPlt7ZACERQGf03M253ytLY3dHbGNGrAq9qIHWUY9XHYl1z7wYngSr3OQ5xmui8o2AaxsONxIzjafLUiWBo1Fg==", + "dev": true, + "dependencies": { + "arg": "^4.1.0", + "create-require": "^1.1.0", + "diff": "^4.0.1", + "make-error": "^1.1.1", + "source-map-support": "^0.5.17", + "yn": "3.1.1" + }, + "bin": { + "ts-node": "dist/bin.js", + "ts-node-script": "dist/bin-script.js", + "ts-node-transpile-only": "dist/bin-transpile.js", + "ts-script": "dist/bin-script-deprecated.js" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/ts-pegjs": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/ts-pegjs/-/ts-pegjs-0.3.1.tgz", + "integrity": "sha512-4FqLW/HdZ4KvKHUpnaf7yeZM2L/1Y9cHlQ0Z59bVNABPbMEFQnKAYs/3p0zMvvCWkY3fnjMyr/F7wKzZ//vHIw==", + "dev": true, + "dependencies": { + "pegjs": "^0.10.0" + }, + "bin": { + "tspegjs": "src/cli.js" + } + }, + "node_modules/tslib": { + "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, + "dependencies": { + "tslib": "^1.8.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "dev": true, + "dependencies": { + "is-typedarray": "^1.0.0" + } + }, + "node_modules/typedoc": { + "version": "0.20.36", + "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.20.36.tgz", + "integrity": "sha512-qFU+DWMV/hifQ9ZAlTjdFO9wbUIHuUBpNXzv68ZyURAP9pInjZiO4+jCPeAzHVcaBCHER9WL/+YzzTt6ZlN/Nw==", + "dev": true, + "dependencies": { + "colors": "^1.4.0", + "fs-extra": "^9.1.0", + "handlebars": "^4.7.7", + "lodash": "^4.17.21", + "lunr": "^2.3.9", + "marked": "^2.0.3", + "minimatch": "^3.0.0", + "progress": "^2.0.3", + "shelljs": "^0.8.4", + "shiki": "^0.9.3", + "typedoc-default-themes": "^0.12.10" + }, + "bin": { + "typedoc": "bin/typedoc" + }, + "engines": { + "node": ">= 10.8.0" + }, + "peerDependencies": { + "typescript": "3.9.x || 4.0.x || 4.1.x || 4.2.x" + } + }, + "node_modules/typedoc-default-themes": { + "version": "0.12.10", + "resolved": "https://registry.npmjs.org/typedoc-default-themes/-/typedoc-default-themes-0.12.10.tgz", + "integrity": "sha512-fIS001cAYHkyQPidWXmHuhs8usjP5XVJjWB8oZGqkTowZaz3v7g3KDZeeqE82FBrmkAnIBOY3jgy7lnPnqATbA==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/typedoc/node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, + "node_modules/typescript": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.2.4.tgz", + "integrity": "sha512-V+evlYHZnQkaz8TRBuxTA92yZBPotr5H+WhQ7bD3hZUndx5tGOa1fuCgeSjxAzM1RiN5IzvadIXTVefuuwZCRg==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } + }, + "node_modules/uglify-js": { + "version": "3.13.2", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.13.2.tgz", + "integrity": "sha512-SbMu4D2Vo95LMC/MetNaso1194M1htEA+JrqE9Hk+G2DhI+itfS9TRu9ZKeCahLDNa/J3n4MqUJ/fOHMzQpRWw==", + "dev": true, + "optional": true, + "bin": { + "uglifyjs": "bin/uglifyjs" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/underscore": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.9.1.tgz", + "integrity": "sha512-5/4etnCkd9c8gwgowi5/om/mYO5ajCaOgdzj/oW+0eQV9WxKBDZw5+ycmKmeaTXjInS/W0BzpGLo2xR2aBwZdg==" + }, + "node_modules/universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/url-set-query": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/url-set-query/-/url-set-query-1.0.0.tgz", + "integrity": "sha1-AW6M/Xwg7gXK/neV6JK9BwL6ozk=" + }, + "node_modules/urlgrey": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/urlgrey/-/urlgrey-0.4.4.tgz", + "integrity": "sha1-iS/pWWCAXoVRnxzUOJ8stMu3ZS8=", + "dev": true + }, + "node_modules/utf8": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/utf8/-/utf8-3.0.0.tgz", + "integrity": "sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ==" + }, + "node_modules/uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "dev": true, + "bin": { + "uuid": "bin/uuid" + } + }, + "node_modules/v8-compile-cache": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", + "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", + "dev": true + }, + "node_modules/validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dependencies": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "node_modules/vscode-textmate": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/vscode-textmate/-/vscode-textmate-5.3.1.tgz", + "integrity": "sha512-X4E7iPJzmMsL9AY4MyZrxUt0Dm/kGWreJEGdQgAHXHQrRGDdlwAu9X1LCsQ0VKUCg5wjwSS1LPpy1BOfxIw4Tw==", + "dev": true + }, + "node_modules/web3-eth-abi": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/web3-eth-abi/-/web3-eth-abi-1.3.5.tgz", + "integrity": "sha512-bkbG2v/mOW5DH6rF/SEgqunusjYoEi2IBw+fkmD3rzWDaEY7+/i1xY94AeO257d06QMgld75GtV/N+aEs7A6vQ==", + "dependencies": { + "@ethersproject/abi": "5.0.7", + "underscore": "1.9.1", + "web3-utils": "1.3.5" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/web3-utils": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.3.5.tgz", + "integrity": "sha512-5apMRm8ElYjI/92GHqijmaLC+s+d5lgjpjHft+rJSs/dsnX8I8tQreqev0dmU+wzU+2EEe4Sx9a/OwGWHhQv3A==", + "dependencies": { + "bn.js": "^4.11.9", + "eth-lib": "0.2.8", + "ethereum-bloom-filters": "^1.0.6", + "ethjs-unit": "0.1.6", + "number-to-bn": "1.7.0", + "randombytes": "^2.1.0", + "underscore": "1.9.1", + "utf8": "3.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/which-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz", + "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=" + }, + "node_modules/wide-align": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", + "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", + "dev": true, + "dependencies": { + "string-width": "^1.0.2 || 2" + } + }, + "node_modules/window-size": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.2.0.tgz", + "integrity": "sha1-tDFbtCFKPXBY6+7okuE/ok2YsHU=", + "bin": { + "window-size": "cli.js" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wordwrap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", + "dev": true + }, + "node_modules/workerpool": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.1.0.tgz", + "integrity": "sha512-toV7q9rWNYha963Pl/qyeZ6wG+3nnsyvolaNUS8+R5Wtw6qJPTxIlOP1ZSvcGhEJw+l3HMMmtiNo9Gl61G4GVg==", + "dev": true + }, + "node_modules/wrap-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", + "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", + "dependencies": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, + "node_modules/write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "dev": true, + "dependencies": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + }, + "node_modules/xhr": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/xhr/-/xhr-2.6.0.tgz", + "integrity": "sha512-/eCGLb5rxjx5e3mF1A7s+pLlR6CGyqWN91fv1JgER5mVWg1MZmlhBvy9kjcsOdRk8RrIujotWyJamfyrp+WIcA==", + "dependencies": { + "global": "~4.4.0", + "is-function": "^1.0.1", + "parse-headers": "^2.0.0", + "xtend": "^4.0.0" + } + }, + "node_modules/xhr-request": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/xhr-request/-/xhr-request-1.1.0.tgz", + "integrity": "sha512-Y7qzEaR3FDtL3fP30k9wO/e+FBnBByZeybKOhASsGP30NIkRAAkKD/sCnLvgEfAIEC1rcmK7YG8f4oEnIrrWzA==", + "dependencies": { + "buffer-to-arraybuffer": "^0.0.5", + "object-assign": "^4.1.1", + "query-string": "^5.0.1", + "simple-get": "^2.7.0", + "timed-out": "^4.0.1", + "url-set-query": "^1.0.0", + "xhr": "^2.0.4" + } + }, + "node_modules/xhr-request-promise": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/xhr-request-promise/-/xhr-request-promise-0.1.3.tgz", + "integrity": "sha512-YUBytBsuwgitWtdRzXDDkWAXzhdGB8bYm0sSzMPZT7Z2MBjMSTHFsyCT1yCRATY+XC69DUrQraRAEgcoCRaIPg==", + "dependencies": { + "xhr-request": "^1.1.0" + } + }, + "node_modules/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "engines": { + "node": ">=0.4" + } + }, + "node_modules/y18n": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.2.tgz", + "integrity": "sha512-uGZHXkHnhF0XeeAPgnKfPv1bgKAYyVvmNL1xlKsPYZPaIHxGti2hHqvOCQv71XMsLxu1QjergkqogUnms5D3YQ==" + }, + "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": "4.8.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-4.8.1.tgz", + "integrity": "sha1-wMQpJMpKqmsObaFznfshZDn53cA=", + "dependencies": { + "cliui": "^3.2.0", + "decamelize": "^1.1.1", + "get-caller-file": "^1.0.1", + "lodash.assign": "^4.0.3", + "os-locale": "^1.4.0", + "read-pkg-up": "^1.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^1.0.1", + "which-module": "^1.0.0", + "window-size": "^0.2.0", + "y18n": "^3.2.1", + "yargs-parser": "^2.4.1" + } + }, + "node_modules/yargs-parser": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-2.4.1.tgz", + "integrity": "sha1-hVaN488VD/SfpRgl8DqMiA3cxcQ=", + "dependencies": { + "camelcase": "^3.0.0", + "lodash.assign": "^4.0.6" + } + }, + "node_modules/yargs-unparser": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz", + "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==", + "dev": true, + "dependencies": { + "camelcase": "^6.0.0", + "decamelize": "^4.0.0", + "flat": "^5.0.2", + "is-plain-obj": "^2.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/yargs-unparser/node_modules/camelcase": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz", + "integrity": "sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/yargs-unparser/node_modules/decamelize": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz", + "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/yn": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "engines": { + "node": ">=10" + } + } + }, "dependencies": { "@babel/code-frame": { "version": "7.10.4", @@ -610,9 +11643,9 @@ "dev": true }, "@types/fs-extra": { - "version": "9.0.9", - "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-9.0.9.tgz", - "integrity": "sha512-5TqDycCl0oMzwzd1cIjSJWMKMvLCDVErle4ZTjU4EmHDURR/+yZghe6GDHMCpHtcVfq0x0gMoOM546/5TbYHrg==", + "version": "9.0.11", + "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-9.0.11.tgz", + "integrity": "sha512-mZsifGG4QeQ7hlkhO56u7zt/ycBgGxSVsFI/6lGTU34VtwkiqrrSDgw0+ygs8kFGWcXnFQWMrzF2h7TtDFNixA==", "dev": true, "requires": { "@types/node": "*" @@ -661,15 +11694,15 @@ "dev": true }, "@types/node": { - "version": "12.20.7", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.7.tgz", - "integrity": "sha512-gWL8VUkg8VRaCAUgG9WmhefMqHmMblxe2rVpMF86nZY/+ZysU+BkAp+3cz03AixWDSSz0ks5WX59yAhv/cDwFA==", + "version": "12.20.11", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.11.tgz", + "integrity": "sha512-gema+apZ6qLQK7k7F0dGkGCWQYsL0qqKORWOQO6tq46q+x+1C0vbOiOqOwRVlh4RAdbQwV/j/ryr3u5NOG1fPQ==", "dev": true }, "@types/semver": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.3.4.tgz", - "integrity": "sha512-+nVsLKlcUCeMzD2ufHEYuJ9a2ovstb6Dp52A5VsoKxDXgvE051XgHI/33I1EymwkRGQkwnA0LkhnUzituGs4EQ==", + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-iotVxtCCsPLRAvxMFFgxL8HD2l4mAZ2Oin7/VJ2ooWO0VOK4EGOGmZWZn1uCq7RofR3I/1IOSjCHlFT71eVK0Q==", "dev": true }, "@types/stack-utils": { @@ -694,13 +11727,13 @@ "dev": true }, "@typescript-eslint/eslint-plugin": { - "version": "4.19.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.19.0.tgz", - "integrity": "sha512-CRQNQ0mC2Pa7VLwKFbrGVTArfdVDdefS+gTw0oC98vSI98IX5A8EVH4BzJ2FOB0YlCmm8Im36Elad/Jgtvveaw==", + "version": "4.22.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.22.0.tgz", + "integrity": "sha512-U8SP9VOs275iDXaL08Ln1Fa/wLXfj5aTr/1c0t0j6CdbOnxh+TruXu1p4I0NAvdPBQgoPjHsgKn28mOi0FzfoA==", "dev": true, "requires": { - "@typescript-eslint/experimental-utils": "4.19.0", - "@typescript-eslint/scope-manager": "4.19.0", + "@typescript-eslint/experimental-utils": "4.22.0", + "@typescript-eslint/scope-manager": "4.22.0", "debug": "^4.1.1", "functional-red-black-tree": "^1.0.1", "lodash": "^4.17.15", @@ -710,55 +11743,55 @@ } }, "@typescript-eslint/experimental-utils": { - "version": "4.19.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.19.0.tgz", - "integrity": "sha512-9/23F1nnyzbHKuoTqFN1iXwN3bvOm/PRIXSBR3qFAYotK/0LveEOHr5JT1WZSzcD6BESl8kPOG3OoDRKO84bHA==", + "version": "4.22.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.22.0.tgz", + "integrity": "sha512-xJXHHl6TuAxB5AWiVrGhvbGL8/hbiCQ8FiWwObO3r0fnvBdrbWEDy1hlvGQOAWc6qsCWuWMKdVWlLAEMpxnddg==", "dev": true, "requires": { "@types/json-schema": "^7.0.3", - "@typescript-eslint/scope-manager": "4.19.0", - "@typescript-eslint/types": "4.19.0", - "@typescript-eslint/typescript-estree": "4.19.0", + "@typescript-eslint/scope-manager": "4.22.0", + "@typescript-eslint/types": "4.22.0", + "@typescript-eslint/typescript-estree": "4.22.0", "eslint-scope": "^5.0.0", "eslint-utils": "^2.0.0" } }, "@typescript-eslint/parser": { - "version": "4.19.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.19.0.tgz", - "integrity": "sha512-/uabZjo2ZZhm66rdAu21HA8nQebl3lAIDcybUoOxoI7VbZBYavLIwtOOmykKCJy+Xq6Vw6ugkiwn8Js7D6wieA==", + "version": "4.22.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.22.0.tgz", + "integrity": "sha512-z/bGdBJJZJN76nvAY9DkJANYgK3nlRstRRi74WHm3jjgf2I8AglrSY+6l7ogxOmn55YJ6oKZCLLy+6PW70z15Q==", "dev": true, "requires": { - "@typescript-eslint/scope-manager": "4.19.0", - "@typescript-eslint/types": "4.19.0", - "@typescript-eslint/typescript-estree": "4.19.0", + "@typescript-eslint/scope-manager": "4.22.0", + "@typescript-eslint/types": "4.22.0", + "@typescript-eslint/typescript-estree": "4.22.0", "debug": "^4.1.1" } }, "@typescript-eslint/scope-manager": { - "version": "4.19.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.19.0.tgz", - "integrity": "sha512-GGy4Ba/hLXwJXygkXqMzduqOMc+Na6LrJTZXJWVhRrSuZeXmu8TAnniQVKgj8uTRKe4igO2ysYzH+Np879G75g==", + "version": "4.22.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.22.0.tgz", + "integrity": "sha512-OcCO7LTdk6ukawUM40wo61WdeoA7NM/zaoq1/2cs13M7GyiF+T4rxuA4xM+6LeHWjWbss7hkGXjFDRcKD4O04Q==", "dev": true, "requires": { - "@typescript-eslint/types": "4.19.0", - "@typescript-eslint/visitor-keys": "4.19.0" + "@typescript-eslint/types": "4.22.0", + "@typescript-eslint/visitor-keys": "4.22.0" } }, "@typescript-eslint/types": { - "version": "4.19.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.19.0.tgz", - "integrity": "sha512-A4iAlexVvd4IBsSTNxdvdepW0D4uR/fwxDrKUa+iEY9UWvGREu2ZyB8ylTENM1SH8F7bVC9ac9+si3LWNxcBuA==", + "version": "4.22.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.22.0.tgz", + "integrity": "sha512-sW/BiXmmyMqDPO2kpOhSy2Py5w6KvRRsKZnV0c4+0nr4GIcedJwXAq+RHNK4lLVEZAJYFltnnk1tJSlbeS9lYA==", "dev": true }, "@typescript-eslint/typescript-estree": { - "version": "4.19.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.19.0.tgz", - "integrity": "sha512-3xqArJ/A62smaQYRv2ZFyTA+XxGGWmlDYrsfZG68zJeNbeqRScnhf81rUVa6QG4UgzHnXw5VnMT5cg75dQGDkA==", + "version": "4.22.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.22.0.tgz", + "integrity": "sha512-TkIFeu5JEeSs5ze/4NID+PIcVjgoU3cUQUIZnH3Sb1cEn1lBo7StSV5bwPuJQuoxKXlzAObjYTilOEKRuhR5yg==", "dev": true, "requires": { - "@typescript-eslint/types": "4.19.0", - "@typescript-eslint/visitor-keys": "4.19.0", + "@typescript-eslint/types": "4.22.0", + "@typescript-eslint/visitor-keys": "4.22.0", "debug": "^4.1.1", "globby": "^11.0.1", "is-glob": "^4.0.1", @@ -767,12 +11800,12 @@ } }, "@typescript-eslint/visitor-keys": { - "version": "4.19.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.19.0.tgz", - "integrity": "sha512-aGPS6kz//j7XLSlgpzU2SeTqHPsmRYxFztj2vPuMMFJXZudpRSehE3WCV+BaxwZFvfAqMoSd86TEuM0PQ59E/A==", + "version": "4.22.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.22.0.tgz", + "integrity": "sha512-nnMu4F+s4o0sll6cBSsTeVsT4cwxB7zECK3dFxzEjPBii9xLpq4yqqsy/FU5zMfan6G60DKZSCXAa3sHJZrcYw==", "dev": true, "requires": { - "@typescript-eslint/types": "4.19.0", + "@typescript-eslint/types": "4.22.0", "eslint-visitor-keys": "^2.0.0" } }, @@ -1347,9 +12380,9 @@ "dev": true }, "eslint": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.23.0.tgz", - "integrity": "sha512-kqvNVbdkjzpFy0XOszNwjkKzZ+6TcwCQ/h+ozlcIWwaimBBuhlQ4nN6kbiM2L+OjDcznkTJxzYfRFH92sx4a0Q==", + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.25.0.tgz", + "integrity": "sha512-TVpSovpvCNpLURIScDRB6g5CYu/ZFq9GfX2hLNIV4dSBKxIWojeDODvYl3t0k0VtMxYeR8OXPCFE5+oHMlGfhw==", "dev": true, "requires": { "@babel/code-frame": "7.12.11", @@ -1471,15 +12504,16 @@ } }, "eslint-config-prettier": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.1.0.tgz", - "integrity": "sha512-oKMhGv3ihGbCIimCAjqkdzx2Q+jthoqnXSP+d86M9tptwugycmTFdVR4IpLgq2c4SHifbwO90z2fQ8/Aio73yw==", - "dev": true + "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, + "requires": {} }, "eslint-plugin-prettier": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-3.3.1.tgz", - "integrity": "sha512-Rq3jkcFY8RYeQLgk2cCwuc0P7SEFwDravPhsJZOQ5N4YI4DSg50NyqJ/9gdZHzQlHf8MvafSesbNJCcP/FF6pQ==", + "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, "requires": { "prettier-linter-helpers": "^1.0.0" @@ -2780,9 +13814,9 @@ } }, "marked": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/marked/-/marked-2.0.1.tgz", - "integrity": "sha512-5+/fKgMv2hARmMW7DOpykr2iLhl0NgjyELk5yn92iE7z8Se1IS9n3UsFm86hFXIkvMBmVxki8+ckcpjBeyo/hw==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/marked/-/marked-2.0.3.tgz", + "integrity": "sha512-5otztIIcJfPc2qGTN8cVtOJEjNJZ0jwa46INMagrYfk0EvqtRuEHLsEe0LrFS0/q+ZRKT0+kXK7P2T1AN5lWRA==", "dev": true }, "mem": { @@ -8085,6 +19119,54 @@ } } }, + "solc-0.8.4": { + "version": "npm:solc@0.8.4", + "resolved": "https://registry.npmjs.org/solc/-/solc-0.8.4.tgz", + "integrity": "sha512-krEdbucX9yY362l79gXTK2UHhsZ02aQjQOYTzcgTd/waApueo3yWGzjX0CDJ1ByOuW46WuKAyzfbRWdFNr6OYQ==", + "requires": { + "command-exists": "^1.2.8", + "commander": "3.0.2", + "follow-redirects": "^1.12.1", + "fs-extra": "^0.30.0", + "js-sha3": "0.8.0", + "memorystream": "^0.3.1", + "require-from-string": "^2.0.0", + "semver": "^5.5.0", + "tmp": "0.0.33" + }, + "dependencies": { + "fs-extra": { + "version": "0.30.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", + "integrity": "sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A=", + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^2.1.0", + "klaw": "^1.0.0", + "path-is-absolute": "^1.0.0", + "rimraf": "^2.2.8" + } + }, + "jsonfile": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "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==" + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + } + } + }, "source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", @@ -8474,9 +19556,9 @@ } }, "typedoc": { - "version": "0.20.34", - "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.20.34.tgz", - "integrity": "sha512-es+N/KyGPcHl9cAuYh1Z5m7HzwcmfNLghkmb2pzGz7HRDS5GS2uA3hu/c2cv4gCxDsw8pPUPCOvww+Hzf48Kug==", + "version": "0.20.36", + "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.20.36.tgz", + "integrity": "sha512-qFU+DWMV/hifQ9ZAlTjdFO9wbUIHuUBpNXzv68ZyURAP9pInjZiO4+jCPeAzHVcaBCHER9WL/+YzzTt6ZlN/Nw==", "dev": true, "requires": { "colors": "^1.4.0", @@ -8484,12 +19566,12 @@ "handlebars": "^4.7.7", "lodash": "^4.17.21", "lunr": "^2.3.9", - "marked": "^2.0.1", + "marked": "^2.0.3", "minimatch": "^3.0.0", "progress": "^2.0.3", "shelljs": "^0.8.4", "shiki": "^0.9.3", - "typedoc-default-themes": "^0.12.9" + "typedoc-default-themes": "^0.12.10" }, "dependencies": { "lodash": { @@ -8501,15 +19583,15 @@ } }, "typedoc-default-themes": { - "version": "0.12.9", - "resolved": "https://registry.npmjs.org/typedoc-default-themes/-/typedoc-default-themes-0.12.9.tgz", - "integrity": "sha512-Jd5fYTiqzinZdoIY382W7tQXTwAzWRdg8KbHfaxmb78m1/3jL9riXtk23oBOKwhi8GFVykCOdPzEJKY87/D0LQ==", + "version": "0.12.10", + "resolved": "https://registry.npmjs.org/typedoc-default-themes/-/typedoc-default-themes-0.12.10.tgz", + "integrity": "sha512-fIS001cAYHkyQPidWXmHuhs8usjP5XVJjWB8oZGqkTowZaz3v7g3KDZeeqE82FBrmkAnIBOY3jgy7lnPnqATbA==", "dev": true }, "typescript": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.2.3.tgz", - "integrity": "sha512-qOcYwxaByStAWrBf4x0fibwZvMRG+r4cQoTjbPtUlrWjBHbmCAww1i448U0GJ+3cNNEtebDteo/cHOR3xJ4wEw==", + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.2.4.tgz", + "integrity": "sha512-V+evlYHZnQkaz8TRBuxTA92yZBPotr5H+WhQ7bD3hZUndx5tGOa1fuCgeSjxAzM1RiN5IzvadIXTVefuuwZCRg==", "dev": true }, "uglify-js": { @@ -8582,19 +19664,19 @@ "dev": true }, "web3-eth-abi": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/web3-eth-abi/-/web3-eth-abi-1.3.4.tgz", - "integrity": "sha512-PVSLXJ2dzdXsC+R24llIIEOS6S1KhG5qwNznJjJvXZFe3sqgdSe47eNvwUamZtCBjcrdR/HQr+L/FTxqJSf80Q==", + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/web3-eth-abi/-/web3-eth-abi-1.3.5.tgz", + "integrity": "sha512-bkbG2v/mOW5DH6rF/SEgqunusjYoEi2IBw+fkmD3rzWDaEY7+/i1xY94AeO257d06QMgld75GtV/N+aEs7A6vQ==", "requires": { "@ethersproject/abi": "5.0.7", "underscore": "1.9.1", - "web3-utils": "1.3.4" + "web3-utils": "1.3.5" } }, "web3-utils": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.3.4.tgz", - "integrity": "sha512-/vC2v0MaZNpWooJfpRw63u0Y3ag2gNjAWiLtMSL6QQLmCqCy4SQIndMt/vRyx0uMoeGt1YTwSXEcHjUzOhLg0A==", + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.3.5.tgz", + "integrity": "sha512-5apMRm8ElYjI/92GHqijmaLC+s+d5lgjpjHft+rJSs/dsnX8I8tQreqev0dmU+wzU+2EEe4Sx9a/OwGWHhQv3A==", "requires": { "bn.js": "^4.11.9", "eth-lib": "0.2.8", diff --git a/package.json b/package.json index 01d33f26..4413bdb2 100644 --- a/package.json +++ b/package.json @@ -87,30 +87,31 @@ "solc-0.8.1": "npm:solc-0.8.1-fixed@0.8.1", "solc-0.8.2": "npm:solc@0.8.2", "solc-0.8.3": "npm:solc@0.8.3", + "solc-0.8.4": "npm:solc@0.8.4", "src-location": "^1.1.0", - "web3-eth-abi": "^1.3.4" + "web3-eth-abi": "^1.3.5" }, "devDependencies": { - "@types/fs-extra": "^9.0.9", + "@types/fs-extra": "^9.0.11", "@types/minimist": "^1.2.1", "@types/mocha": "^8.2.2", - "@types/node": "^12.20.7", - "@types/semver": "^7.3.4", - "@typescript-eslint/eslint-plugin": "^4.19.0", - "@typescript-eslint/parser": "^4.19.0", + "@types/node": "^12.20.10", + "@types/semver": "^7.3.5", + "@typescript-eslint/eslint-plugin": "^4.22.0", + "@typescript-eslint/parser": "^4.22.0", "codecov": "^3.8.1", - "eslint": "^7.23.0", - "eslint-config-prettier": "^8.1.0", - "eslint-plugin-prettier": "^3.3.1", + "eslint": "^7.25.0", + "eslint-config-prettier": "^8.3.0", + "eslint-plugin-prettier": "^3.4.0", "expect": "^26.6.2", "mocha": "^8.3.2", "nyc": "^15.1.0", + "pegjs": "^0.10.0", "prettier": "2.2.1", "ts-node": "^9.1.1", - "typedoc": "^0.20.34", - "typescript": "^4.2.3", - "pegjs": "^0.10.0", - "ts-pegjs": "^0.3.1" + "ts-pegjs": "^0.3.1", + "typedoc": "^0.20.36", + "typescript": "^4.2.4" }, "homepage": "https://consensys.github.io/solc-typed-ast", "bugs": "https://github.com/ConsenSys/solc-typed-ast/issues", diff --git a/src/ast/ast_node_factory.ts b/src/ast/ast_node_factory.ts index 63e5a092..77c488fd 100644 --- a/src/ast/ast_node_factory.ts +++ b/src/ast/ast_node_factory.ts @@ -4,6 +4,7 @@ import { FunctionStateMutability, FunctionVisibility } from "./constants"; import { ContractDefinition } from "./implementation/declaration/contract_definition"; import { EnumDefinition } from "./implementation/declaration/enum_definition"; import { EnumValue } from "./implementation/declaration/enum_value"; +import { ErrorDefinition } from "./implementation/declaration/error_definition"; import { EventDefinition } from "./implementation/declaration/event_definition"; import { FunctionDefinition } from "./implementation/declaration/function_definition"; import { ModifierDefinition } from "./implementation/declaration/modifier_definition"; @@ -46,6 +47,7 @@ import { IfStatement } from "./implementation/statement/if_statement"; import { InlineAssembly } from "./implementation/statement/inline_assembly"; import { PlaceholderStatement } from "./implementation/statement/placeholder_statement"; import { Return } from "./implementation/statement/return"; +import { RevertStatement } from "./implementation/statement/revert_statement"; import { Statement } from "./implementation/statement/statement"; import { Throw } from "./implementation/statement/throw"; import { TryCatchClause } from "./implementation/statement/try_catch_clause"; @@ -96,6 +98,7 @@ const argExtractionMapping = new Map, (node: any) => node.abstract, node.fullyImplemented, node.linearizedBaseContracts, + node.usedErrors, node.documentation, node.children, node.nameLocation, @@ -120,6 +123,16 @@ const argExtractionMapping = new Map, (node: any) => node.raw ] ], + [ + ErrorDefinition, + (node: ErrorDefinition): Specific> => [ + node.name, + node.vParameters, + node.documentation, + node.nameLocation, + node.raw + ] + ], [ EventDefinition, (node: EventDefinition): Specific> => [ @@ -535,6 +548,14 @@ const argExtractionMapping = new Map, (node: any) => node.raw ] ], + [ + RevertStatement, + (node: RevertStatement): Specific> => [ + node.errorCall, + node.documentation, + node.raw + ] + ], [ Statement, (node: Statement): Specific> => [ @@ -677,6 +698,12 @@ export class ASTNodeFactory { return this.make(EnumValue, ...args); } + makeErrorDefinition( + ...args: Specific> + ): ErrorDefinition { + return this.make(ErrorDefinition, ...args); + } + makeEventDefinition( ...args: Specific> ): EventDefinition { @@ -905,6 +932,12 @@ export class ASTNodeFactory { return this.make(Return, ...args); } + makeRevertStatement( + ...args: Specific> + ): RevertStatement { + return this.make(RevertStatement, ...args); + } + makeStatement(...args: Specific>): Statement { return this.make(Statement, ...args); } @@ -977,6 +1010,7 @@ export class ASTNodeFactory { | ContractDefinition | FunctionDefinition | StructDefinition + | ErrorDefinition | EventDefinition | EnumDefinition | ImportDirective @@ -1007,7 +1041,7 @@ export class ASTNodeFactory { typeString = result.join(" "); } else if (target instanceof ContractDefinition) { typeString = `type(contract ${target.name})`; - } else if (target instanceof EventDefinition) { + } else if (target instanceof EventDefinition || target instanceof ErrorDefinition) { const args = target.vParameters.vParameters.map(this.typeExtractor); typeString = `function (${args.join(",")})`; @@ -1092,6 +1126,7 @@ export class ASTNodeFactory { if (node instanceof ContractDefinition) { node.linearizedBaseContracts = node.linearizedBaseContracts.map(patch); + node.usedErrors = node.usedErrors.map(patch); } if ( diff --git a/src/ast/definitions.ts b/src/ast/definitions.ts index f2dbc7c8..9c0536b7 100644 --- a/src/ast/definitions.ts +++ b/src/ast/definitions.ts @@ -4,6 +4,7 @@ import { ASTNode } from "./ast_node"; import { StateVariableVisibility } from "./constants"; import { EnumDefinition, StructDefinition } from "./implementation/declaration"; import { ContractDefinition } from "./implementation/declaration/contract_definition"; +import { ErrorDefinition } from "./implementation/declaration/error_definition"; import { EventDefinition } from "./implementation/declaration/event_definition"; import { FunctionDefinition } from "./implementation/declaration/function_definition"; import { ModifierDefinition } from "./implementation/declaration/modifier_definition"; @@ -24,6 +25,7 @@ export type AnyResolvable = | VariableDeclaration | FunctionDefinition | ModifierDefinition + | ErrorDefinition | EventDefinition | StructDefinition | EnumDefinition @@ -139,7 +141,8 @@ function* lookupInSourceUnit(name: string, scope: SourceUnit): Iterable} from "..."` or `import {a as } from "..."` for (const [foreignDef, alias] of child.vSymbolAliases) { let symImportName: string; + const originalDef = foreignDef instanceof ImportDirective ? foreignDef.vSourceUnit : foreignDef; @@ -167,6 +171,7 @@ function* lookupInSourceUnit(name: string, scope: SourceUnit): Iterable { let results: Iterable; + if (scope instanceof SourceUnit) { results = lookupInSourceUnit(name, scope); } else if (scope instanceof ContractDefinition) { @@ -323,6 +331,7 @@ export function resolveAny( for (let i = 0; i < elements.length; i++) { const element = elements[i]; + let res: Set | undefined; if (i == 0) { @@ -330,6 +339,7 @@ export function resolveAny( // stack of scopes starting from the current context, looking for `A` while (scope !== undefined) { res = lookupInScope(element, scope); + if (res.size > 0) { // Sanity check - when multiple results are found, they must either be overloaded events // or overloaded functions/public state vars. diff --git a/src/ast/implementation/declaration/contract_definition.ts b/src/ast/implementation/declaration/contract_definition.ts index be4819f4..f5460b4b 100644 --- a/src/ast/implementation/declaration/contract_definition.ts +++ b/src/ast/implementation/declaration/contract_definition.ts @@ -5,6 +5,7 @@ import { SourceUnit } from "../meta/source_unit"; import { StructuredDocumentation } from "../meta/structured_documentation"; import { UsingForDirective } from "../meta/using_for_directive"; import { EnumDefinition } from "./enum_definition"; +import { ErrorDefinition } from "./error_definition"; import { EventDefinition } from "./event_definition"; import { FunctionDefinition } from "./function_definition"; import { ModifierDefinition } from "./modifier_definition"; @@ -54,6 +55,11 @@ export class ContractDefinition extends ASTNodeWithChildren { */ linearizedBaseContracts: number[]; + /** + * Used error definition ids (including external definition ids) + */ + usedErrors: number[]; + constructor( id: number, src: string, @@ -64,6 +70,7 @@ export class ContractDefinition extends ASTNodeWithChildren { abstract: boolean, fullyImplemented: boolean, linearizedBaseContracts: number[], + usedErrors: number[], documentation?: string | StructuredDocumentation, children?: Iterable, nameLocation?: string, @@ -77,6 +84,7 @@ export class ContractDefinition extends ASTNodeWithChildren { this.abstract = abstract; this.fullyImplemented = fullyImplemented; this.linearizedBaseContracts = linearizedBaseContracts; + this.usedErrors = usedErrors; if (children) { for (const node of children) { @@ -150,6 +158,15 @@ export class ContractDefinition extends ASTNodeWithChildren { return this.linearizedBaseContracts.map((id) => context.locate(id)) as ContractDefinition[]; } + /** + * Used error definitions (including external definitions) + */ + get vUsedErrors(): readonly ErrorDefinition[] { + const context = this.requiredContext; + + return this.usedErrors.map((id) => context.locate(id)) as ErrorDefinition[]; + } + /** * Inheritance specifiers */ @@ -188,6 +205,15 @@ export class ContractDefinition extends ASTNodeWithChildren { ) as EventDefinition[]; } + /** + * Errors of the contract + */ + get vErrors(): readonly ErrorDefinition[] { + return this.ownChildren.filter( + (node) => node instanceof ErrorDefinition + ) as ErrorDefinition[]; + } + /** * Functions of the contract */ diff --git a/src/ast/implementation/declaration/error_definition.ts b/src/ast/implementation/declaration/error_definition.ts new file mode 100644 index 00000000..5dae4b63 --- /dev/null +++ b/src/ast/implementation/declaration/error_definition.ts @@ -0,0 +1,63 @@ +import { ASTNode } from "../../ast_node"; +import { SourceUnit } from "../meta"; +import { ParameterList } from "../meta/parameter_list"; +import { StructuredDocumentation } from "../meta/structured_documentation"; +import { ContractDefinition } from "./contract_definition"; + +export class ErrorDefinition extends ASTNode { + /** + * The name of the error + */ + name: string; + + /** + * The source range for name string + */ + nameLocation?: string; + + /** + * Optional documentation appearing above the error definition: + * - Is `undefined` when not specified. + * - Is type of `string` for compatibility reasons (for and instance, during node creation). + * - Is instance of `StructuredDocumentation` in other cases. + */ + documentation?: string | StructuredDocumentation; + + /** + * A list of values that is passed on to the EVM logging facility + */ + vParameters: ParameterList; + + constructor( + id: number, + src: string, + type: string, + name: string, + parameters: ParameterList, + documentation?: string | StructuredDocumentation, + nameLocation?: string, + raw?: any + ) { + super(id, src, type, raw); + + this.name = name; + this.documentation = documentation; + this.nameLocation = nameLocation; + + this.vParameters = parameters; + + this.acceptChildren(); + } + + get children(): readonly ASTNode[] { + return this.pickNodes(this.documentation, this.vParameters); + } + + /** + * Reference to a scoped `ContractDefinition` if event is declared in contract. + * Reference to a scoped `SourceUnit` if event is declared on file level. + */ + get vScope(): ContractDefinition | SourceUnit { + return this.parent as ContractDefinition | SourceUnit; + } +} diff --git a/src/ast/implementation/declaration/index.ts b/src/ast/implementation/declaration/index.ts index 4d5e2711..49fcaeaa 100644 --- a/src/ast/implementation/declaration/index.ts +++ b/src/ast/implementation/declaration/index.ts @@ -1,6 +1,7 @@ export * from "./contract_definition"; export * from "./enum_definition"; export * from "./enum_value"; +export * from "./error_definition"; export * from "./event_definition"; export * from "./function_definition"; export * from "./modifier_definition"; diff --git a/src/ast/implementation/meta/source_unit.ts b/src/ast/implementation/meta/source_unit.ts index d4941551..b2f078aa 100644 --- a/src/ast/implementation/meta/source_unit.ts +++ b/src/ast/implementation/meta/source_unit.ts @@ -1,6 +1,7 @@ import { ASTNode, ASTNodeWithChildren } from "../../ast_node"; import { ContractDefinition } from "../declaration/contract_definition"; import { EnumDefinition } from "../declaration/enum_definition"; +import { ErrorDefinition } from "../declaration/error_definition"; import { FunctionDefinition } from "../declaration/function_definition"; import { StructDefinition } from "../declaration/struct_definition"; import { VariableDeclaration } from "../declaration/variable_declaration"; @@ -11,6 +12,7 @@ export type ExportedSymbol = | ContractDefinition | StructDefinition | EnumDefinition + | ErrorDefinition | FunctionDefinition | VariableDeclaration | ImportDirective; @@ -97,6 +99,15 @@ export class SourceUnit extends ASTNodeWithChildren { ) as EnumDefinition[]; } + /** + * References to file-level error definitions + */ + get vErrors(): readonly ErrorDefinition[] { + return this.ownChildren.filter( + (node) => node instanceof ErrorDefinition + ) as ErrorDefinition[]; + } + /** * References to file-level struct definitions */ diff --git a/src/ast/implementation/statement/index.ts b/src/ast/implementation/statement/index.ts index daf6c285..48dd7476 100644 --- a/src/ast/implementation/statement/index.ts +++ b/src/ast/implementation/statement/index.ts @@ -9,6 +9,7 @@ export * from "./if_statement"; export * from "./inline_assembly"; export * from "./placeholder_statement"; export * from "./return"; +export * from "./revert_statement"; export * from "./statement"; export * from "./throw"; export * from "./try_catch_clause"; diff --git a/src/ast/implementation/statement/revert_statement.ts b/src/ast/implementation/statement/revert_statement.ts new file mode 100644 index 00000000..0232b614 --- /dev/null +++ b/src/ast/implementation/statement/revert_statement.ts @@ -0,0 +1,29 @@ +import { ASTNode } from "../../ast_node"; +import { FunctionCall } from "../expression/function_call"; +import { Statement } from "./statement"; + +export class RevertStatement extends Statement { + /** + * A function call to the error definition + */ + errorCall: FunctionCall; + + constructor( + id: number, + src: string, + type: string, + errorCall: FunctionCall, + documentation?: string, + raw?: any + ) { + super(id, src, type, documentation, raw); + + this.errorCall = errorCall; + + this.acceptChildren(); + } + + get children(): readonly ASTNode[] { + return this.pickNodes(this.errorCall); + } +} diff --git a/src/ast/legacy/contract_definition_processor.ts b/src/ast/legacy/contract_definition_processor.ts index fe7d2afc..e535fcb8 100644 --- a/src/ast/legacy/contract_definition_processor.ts +++ b/src/ast/legacy/contract_definition_processor.ts @@ -41,6 +41,7 @@ export class LegacyContractDefinitionProcessor extends LegacyNodeProcessor { + process( + reader: ASTReader, + config: ASTReaderConfiguration, + raw: any + ): ConstructorParameters { + const [id, src, type] = super.process(reader, config, raw); + + const name: string = raw.name; + const nameLocation: string | undefined = raw.nameLocation; + + let documentation: string | StructuredDocumentation | undefined; + + if (raw.documentation) { + documentation = + typeof raw.documentation === "string" + ? raw.documentation + : reader.convert(raw.documentation, config); + } + + const parameters = reader.convert(raw.parameters, config) as ParameterList; + + return [id, src, type, name, parameters, documentation, nameLocation, raw]; + } +} diff --git a/src/ast/modern/index.ts b/src/ast/modern/index.ts index 9757998a..26502674 100644 --- a/src/ast/modern/index.ts +++ b/src/ast/modern/index.ts @@ -14,6 +14,7 @@ export * from "./elementary_type_name_processor"; export * from "./emit_statement_processor"; export * from "./enum_definition_processor"; export * from "./enum_value_processor"; +export * from "./error_definition_processor"; export * from "./event_definition_processor"; export * from "./expression_processor"; export * from "./expression_statement_processor"; @@ -42,6 +43,7 @@ export * from "./parameter_list_processor"; export * from "./placeholder_statement_processor"; export * from "./pragma_directive_processor"; export * from "./return_processor"; +export * from "./revert_statement_processor"; export * from "./source_unit_processor"; export * from "./structured_documentation_processor"; export * from "./struct_definition_processor"; diff --git a/src/ast/modern/revert_statement_processor.ts b/src/ast/modern/revert_statement_processor.ts new file mode 100644 index 00000000..bfbf8d14 --- /dev/null +++ b/src/ast/modern/revert_statement_processor.ts @@ -0,0 +1,20 @@ +import { ASTReader, ASTReaderConfiguration } from "../ast_reader"; +import { FunctionCall } from "../implementation/expression/function_call"; +import { RevertStatement } from "../implementation/statement/revert_statement"; +import { ModernNodeProcessor } from "./node_processor"; + +export class ModernRevertStatementProcessor extends ModernNodeProcessor { + process( + reader: ASTReader, + config: ASTReaderConfiguration, + raw: any + ): ConstructorParameters { + const [id, src, type] = super.process(reader, config, raw); + + const documentation: string | undefined = raw.documentation; + + const errorCall = reader.convert(raw.errorCall, config) as FunctionCall; + + return [id, src, type, errorCall, documentation, raw]; + } +} diff --git a/src/ast/postprocessing/structured_documentation_reconstruction.ts b/src/ast/postprocessing/structured_documentation_reconstruction.ts index b09898dc..5f5d2c67 100644 --- a/src/ast/postprocessing/structured_documentation_reconstruction.ts +++ b/src/ast/postprocessing/structured_documentation_reconstruction.ts @@ -2,6 +2,7 @@ import { ASTNode } from "../ast_node"; import { ASTContext, ASTNodePostprocessor } from "../ast_reader"; import { ContractDefinition, + ErrorDefinition, EventDefinition, FunctionDefinition, ModifierDefinition, @@ -121,6 +122,7 @@ type SupportedNode = | FunctionDefinition | ContractDefinition | VariableDeclaration + | ErrorDefinition | EventDefinition | ModifierDefinition; @@ -162,6 +164,7 @@ export class StructuredDocumentationReconstructingPostprocessor implements ASTNo return ( node instanceof FunctionDefinition || node instanceof ContractDefinition || + node instanceof ErrorDefinition || node instanceof EventDefinition || node instanceof ModifierDefinition || (node instanceof VariableDeclaration && diff --git a/src/ast/sanity.ts b/src/ast/sanity.ts index 04e0a0ba..70a806ad 100644 --- a/src/ast/sanity.ts +++ b/src/ast/sanity.ts @@ -15,6 +15,7 @@ import { EmitStatement, EnumDefinition, EnumValue, + ErrorDefinition, EventDefinition, ExpressionStatement, ForStatement, @@ -41,6 +42,7 @@ import { PlaceholderStatement, PragmaDirective, Return, + RevertStatement, SourceUnit, StructDefinition, StructuredDocumentation, @@ -401,7 +403,8 @@ export function checkSane(unit: SourceUnit, ctx: ASTContext): void { "vEnums", "vStructs", "vFunctions", - "vVariables" + "vVariables", + "vErrors" ); } else if (node instanceof ImportDirective) { /** @@ -462,14 +465,18 @@ export function checkSane(unit: SourceUnit, ctx: ASTContext): void { ); } - checkFieldAndVFieldMatch(node, `linearizedBaseContracts`, `vLinearizedBaseContracts`); - checkVFieldCtx(node, `vLinearizedBaseContracts`, ctx); + checkFieldAndVFieldMatch(node, "linearizedBaseContracts", "vLinearizedBaseContracts"); + checkVFieldCtx(node, "vLinearizedBaseContracts", ctx); + + checkFieldAndVFieldMatch(node, "usedErrors", "vUsedErrors"); + checkVFieldCtx(node, "vUsedErrors", ctx); const fields: Array = [ "documentation", "vInheritanceSpecifiers", "vStateVariables", "vModifiers", + "vErrors", "vEvents", "vFunctions", "vUsingForDirectives", @@ -489,6 +496,18 @@ export function checkSane(unit: SourceUnit, ctx: ASTContext): void { checkVFieldCtx(node, "vScope", ctx); checkDirectChildren(node, "vMembers"); + } else if (node instanceof ErrorDefinition) { + checkVFieldCtx(node, "vScope", ctx); + + const fields: Array = ["vParameters"]; + + if (node.documentation instanceof StructuredDocumentation) { + checkVFieldCtx(node, "documentation", ctx); + + fields.push("documentation"); + } + + checkDirectChildren(node, ...fields); } else if (node instanceof EventDefinition) { checkVFieldCtx(node, "vScope", ctx); @@ -564,6 +583,8 @@ export function checkSane(unit: SourceUnit, ctx: ASTContext): void { checkDirectChildren(node, "vCondition", "vBody"); } else if (node instanceof EmitStatement) { checkDirectChildren(node, "vEventCall"); + } else if (node instanceof RevertStatement) { + checkDirectChildren(node, "errorCall"); } else if (node instanceof ExpressionStatement) { checkDirectChildren(node, "vExpression"); } else if (node instanceof ForStatement) { diff --git a/src/ast/writing/ast_mapping.ts b/src/ast/writing/ast_mapping.ts index 2518b39c..65ed5842 100644 --- a/src/ast/writing/ast_mapping.ts +++ b/src/ast/writing/ast_mapping.ts @@ -12,6 +12,7 @@ import { ContractDefinition, EnumDefinition, EnumValue, + ErrorDefinition, EventDefinition, FunctionDefinition, ModifierDefinition, @@ -58,6 +59,7 @@ import { InlineAssembly, PlaceholderStatement, Return, + RevertStatement, Statement, Throw, TryCatchClause, @@ -677,6 +679,12 @@ class ReturnWriter extends SimpleStatementWriter { } } +class RevertStatementWriter extends SimpleStatementWriter { + writeInner(node: RevertStatement, writer: ASTWriter): SrcDesc { + return writer.desc("revert ", node.errorCall); + } +} + class BreakWriter extends SimpleStatementWriter { writeInner(): SrcDesc { return ["break"]; @@ -933,6 +941,16 @@ class UncheckedBlockWriter extends ASTNodeWriter { } } +class ErrorDefinitionWriter extends ASTNodeWriter { + writeInner(node: ErrorDefinition, writer: ASTWriter): SrcDesc { + return writer.desc("error ", node.name, node.vParameters, ";"); + } + + writeWhole(node: ErrorDefinition, writer: ASTWriter): SrcDesc { + return [...writeDocs(node.documentation, writer), [node, this.writeInner(node, writer)]]; + } +} + class EventDefinitionWriter extends ASTNodeWriter { writeInner(node: EventDefinition, writer: ASTWriter): SrcDesc { return writer.desc( @@ -1187,6 +1205,10 @@ class ContractDefinitionWriter extends ASTNodeWriter { result.push(...flatJoin(node.vEnums.map(writeLineFn), wrap), wrap); } + if (node.vErrors.length) { + result.push(...flatJoin(node.vErrors.map(writeLineFn), wrap), wrap); + } + if (node.vEvents.length) { result.push(...flatJoin(node.vEvents.map(writeLineFn), wrap), wrap); } @@ -1293,7 +1315,10 @@ class SourceUnitWriter extends ASTNodeWriter { result.push(...flatten(node.vVariables.map((n) => [...writeFn(n), ";", wrap])), wrap); } - const otherDefs = (node.vFunctions as readonly ASTNode[]).concat(node.vContracts); + const otherDefs = (node.vErrors as readonly ASTNode[]).concat( + node.vFunctions, + node.vContracts + ); if (otherDefs.length > 0) { result.push(...flatJoin(otherDefs.map(writeLineFn), wrap)); @@ -1337,6 +1362,7 @@ export const DefaultASTWriterMapping = new Map, ASTN [DoWhileStatement, new DoWhileStatementWriter()], [Return, new ReturnWriter()], [EmitStatement, new EmitStatementWriter()], + [RevertStatement, new RevertStatementWriter()], [PlaceholderStatement, new PlaceholderStatementWriter()], [InlineAssembly, new InlineAssemblyWriter()], [TryCatchClause, new TryCatchClauseWriter()], @@ -1349,6 +1375,7 @@ export const DefaultASTWriterMapping = new Map, ASTN [OverrideSpecifier, new OverrideSpecifierWriter()], [FunctionDefinition, new FunctionDefinitionWriter()], [ModifierDefinition, new ModifierDefinitionWriter()], + [ErrorDefinition, new ErrorDefinitionWriter()], [EventDefinition, new EventDefinitionWriter()], [StructDefinition, new StructDefinitionWriter()], [EnumValue, new EnumValueWriter()], diff --git a/src/ast/writing/yul_mapping.ts b/src/ast/writing/yul_mapping.ts index f49f0645..6ee45252 100644 --- a/src/ast/writing/yul_mapping.ts +++ b/src/ast/writing/yul_mapping.ts @@ -26,7 +26,7 @@ class YulBlockWriter implements YulNodeWriter { class YulLiteralWriter implements YulNodeWriter { write(node: YulNode): string { - const value = node.kind === "string" ? '"' + node.value + '"' : node.value; + const value = node.kind === "string" ? JSON.stringify(node.value) : node.value; return node.type !== "" ? value + ":" + node.type : value; } diff --git a/src/compile/constants.ts b/src/compile/constants.ts index 17a75a95..1f467499 100644 --- a/src/compile/constants.ts +++ b/src/compile/constants.ts @@ -54,7 +54,7 @@ export const CompilerVersions06 = [ export const CompilerVersions07 = ["0.7.0", "0.7.1", "0.7.2", "0.7.3", "0.7.4", "0.7.5", "0.7.6"]; -export const CompilerVersions08 = ["0.8.0", "0.8.1", "0.8.2", "0.8.3"]; +export const CompilerVersions08 = ["0.8.0", "0.8.1", "0.8.2", "0.8.3", "0.8.4"]; export const CompilerSeries = [ CompilerVersions04, diff --git a/test/integration/compile/latest_08.spec.ts b/test/integration/compile/latest_08.spec.ts index bdb2fa5d..dab5e8d6 100644 --- a/test/integration/compile/latest_08.spec.ts +++ b/test/integration/compile/latest_08.spec.ts @@ -28,28 +28,28 @@ const encounters = new Map([ ["ImportDirective", 1], ["EnumDefinition", 2], ["EnumValue", 6], - ["ContractDefinition", 5], - ["FunctionDefinition", 7], - ["ParameterList", 20], - ["VariableDeclaration", 15], - ["ElementaryTypeName", 14], - ["Block", 24], - ["VariableDeclarationStatement", 8], - ["Literal", 18], + ["ContractDefinition", 7], + ["FunctionDefinition", 13], + ["ParameterList", 35], + ["VariableDeclaration", 21], + ["ElementaryTypeName", 21], + ["Block", 30], + ["VariableDeclarationStatement", 9], + ["Literal", 21], ["UncheckedBlock", 2], ["ExpressionStatement", 7], ["UnaryOperation", 2], - ["Identifier", 15], - ["Return", 3], + ["Identifier", 20], + ["Return", 4], ["InheritanceSpecifier", 1], ["IdentifierPath", 11], ["UsingForDirective", 1], ["UserDefinedTypeName", 6], ["ModifierInvocation", 2], - ["FunctionCall", 12], - ["MemberAccess", 6], + ["FunctionCall", 16], + ["MemberAccess", 8], ["OverrideSpecifier", 1], - ["ElementaryTypeNameExpression", 2], + ["ElementaryTypeNameExpression", 3], ["NewExpression", 2], ["TryStatement", 2], ["TryCatchClause", 8], @@ -65,7 +65,10 @@ const encounters = new Map([ ["DoWhileStatement", 1], ["Break", 1], ["ForStatement", 1], - ["InlineAssembly", 1] + ["InlineAssembly", 2], + ["ErrorDefinition", 3], + ["StructuredDocumentation", 3], + ["RevertStatement", 3] ]); describe(`Compile ${mainSample} with ${compilerVersion} compiler`, () => { @@ -98,11 +101,11 @@ describe(`Compile ${mainSample} with ${compilerVersion} compiler`, () => { const sourceUnit = sourceUnits[0]; - expect(sourceUnit.id).toEqual(227); - expect(sourceUnit.src).toEqual("0:3351:0"); + expect(sourceUnit.id).toEqual(298); + expect(sourceUnit.src).toEqual("0:4474:0"); expect(sourceUnit.absolutePath).toEqual(mainSample); - expect(sourceUnit.children.length).toEqual(9); - expect(sourceUnit.getChildren().length).toEqual(223); + expect(sourceUnit.children.length).toEqual(12); + expect(sourceUnit.getChildren().length).toEqual(292); }); it(`Validate parsed output (${kind})`, () => { diff --git a/test/samples/solidity/declarations/contract_050.nodes.txt b/test/samples/solidity/declarations/contract_050.nodes.txt index 29a6a863..cf187370 100644 --- a/test/samples/solidity/declarations/contract_050.nodes.txt +++ b/test/samples/solidity/declarations/contract_050.nodes.txt @@ -11,6 +11,7 @@ SourceUnit #146 vImportDirectives: Array(0) vContracts: Array(3) [ ContractDefinition #90, ContractDefinition #100, ContractDefinition #145 ] vEnums: Array(0) + vErrors: Array(0) vStructs: Array(0) vFunctions: Array(0) vVariables: Array(0) @@ -33,6 +34,7 @@ SourceUnit #146 abstract: false fullyImplemented: true linearizedBaseContracts: Array(1) [ 90 ] + usedErrors: Array(0) docString: undefined nameLocation: undefined context: ASTContext #1000 @@ -40,10 +42,12 @@ SourceUnit #146 documentation: undefined vScope: SourceUnit #146 vLinearizedBaseContracts: Array(1) [ ContractDefinition #90 ] + vUsedErrors: Array(0) vInheritanceSpecifiers: Array(0) vStateVariables: Array(0) vModifiers: Array(0) vEvents: Array(0) + vErrors: Array(0) vFunctions: Array(1) [ FunctionDefinition #89 ] vUsingForDirectives: Array(0) vStructs: Array(0) @@ -402,6 +406,7 @@ SourceUnit #146 abstract: false fullyImplemented: false linearizedBaseContracts: Array(1) [ 100 ] + usedErrors: Array(0) docString: undefined nameLocation: undefined context: ASTContext #1000 @@ -409,10 +414,12 @@ SourceUnit #146 documentation: undefined vScope: SourceUnit #146 vLinearizedBaseContracts: Array(1) [ ContractDefinition #100 ] + vUsedErrors: Array(0) vInheritanceSpecifiers: Array(0) vStateVariables: Array(0) vModifiers: Array(0) vEvents: Array(0) + vErrors: Array(0) vFunctions: Array(1) [ FunctionDefinition #99 ] vUsingForDirectives: Array(0) vStructs: Array(0) @@ -646,6 +653,7 @@ SourceUnit #146 abstract: false fullyImplemented: true linearizedBaseContracts: Array(2) [ 145, 100 ] + usedErrors: Array(0) docString: undefined nameLocation: undefined context: ASTContext #1000 @@ -653,10 +661,12 @@ SourceUnit #146 documentation: undefined vScope: SourceUnit #146 vLinearizedBaseContracts: Array(2) [ ContractDefinition #145, ContractDefinition #100 ] + vUsedErrors: Array(0) vInheritanceSpecifiers: Array(1) [ InheritanceSpecifier #102 ] vStateVariables: Array(1) [ VariableDeclaration #118 ] vModifiers: Array(0) vEvents: Array(1) [ EventDefinition #106 ] + vErrors: Array(0) vFunctions: Array(2) [ FunctionDefinition #129, FunctionDefinition #144 ] vUsingForDirectives: Array(1) [ UsingForDirective #116 ] vStructs: Array(1) [ StructDefinition #109 ] diff --git a/test/samples/solidity/latest_08.nodes.txt b/test/samples/solidity/latest_08.nodes.txt index cb7f75db..56e9c57b 100644 --- a/test/samples/solidity/latest_08.nodes.txt +++ b/test/samples/solidity/latest_08.nodes.txt @@ -1,194 +1,198 @@ -SourceUnit #467 - id: 467 +SourceUnit #607 + id: 607 src: "0:0:0" type: "SourceUnit" sourceEntryKey: "./test/samples/solidity/latest_08.sol" sourceListIndex: 0 absolutePath: "./test/samples/solidity/latest_08.sol" - exportedSymbols: Map(7) { "CatchPanic" -> 381, "EmitsIdentifierPath" -> 303, "EnumABC" -> 250, "Features082" -> 466, "LI" -> 246, "UncheckedMathExample" -> 267, "UsesNewAddressMembers" -> 324 } + exportedSymbols: Map(10) { "CatchPanic" -> 452, "EmitsIdentifierPath" -> 374, "EnumABC" -> 321, "Features082" -> 537, "Features084" -> 606, "LI" -> 317, "LibErrors084" -> 548, "UncheckedMathExample" -> 338, "UnitLevelError084" -> 542, "UsesNewAddressMembers" -> 395 } context: ASTContext #1000 - vPragmaDirectives: Array(2) [ PragmaDirective #244, PragmaDirective #245 ] - vImportDirectives: Array(1) [ ImportDirective #246 ] - vContracts: Array(5) [ ContractDefinition #267, ContractDefinition #303, ContractDefinition #324, ContractDefinition #381, ContractDefinition #466 ] - vEnums: Array(1) [ EnumDefinition #250 ] + vPragmaDirectives: Array(2) [ PragmaDirective #315, PragmaDirective #316 ] + vImportDirectives: Array(1) [ ImportDirective #317 ] + vContracts: Array(7) [ ContractDefinition #338, ContractDefinition #374, ContractDefinition #395, ContractDefinition #452, ContractDefinition #537, ContractDefinition #548, ContractDefinition #606 ] + vEnums: Array(1) [ EnumDefinition #321 ] + vErrors: Array(1) [ ErrorDefinition #542 ] vStructs: Array(0) vFunctions: Array(0) vVariables: Array(0) - vExportedSymbols: Map(7) { "CatchPanic" -> ContractDefinition #381, "EmitsIdentifierPath" -> ContractDefinition #303, "EnumABC" -> EnumDefinition #250, "Features082" -> ContractDefinition #466, "LI" -> ImportDirective #246, "UncheckedMathExample" -> ContractDefinition #267, "UsesNewAddressMembers" -> ContractDefinition #324 } - children: Array(9) [ PragmaDirective #244, PragmaDirective #245, ImportDirective #246, EnumDefinition #250, ContractDefinition #267, ContractDefinition #303, ContractDefinition #324, ContractDefinition #381, ContractDefinition #466 ] - firstChild: PragmaDirective #244 - lastChild: ContractDefinition #466 + vExportedSymbols: Map(10) { "CatchPanic" -> ContractDefinition #452, "EmitsIdentifierPath" -> ContractDefinition #374, "EnumABC" -> EnumDefinition #321, "Features082" -> ContractDefinition #537, "Features084" -> ContractDefinition #606, "LI" -> ImportDirective #317, "LibErrors084" -> ContractDefinition #548, "UncheckedMathExample" -> ContractDefinition #338, "UnitLevelError084" -> ErrorDefinition #542, "UsesNewAddressMembers" -> ContractDefinition #395 } + children: Array(12) [ PragmaDirective #315, PragmaDirective #316, ImportDirective #317, EnumDefinition #321, ContractDefinition #338, ContractDefinition #374, ContractDefinition #395, ContractDefinition #452, ContractDefinition #537, ErrorDefinition #542, ContractDefinition #548, ContractDefinition #606 ] + firstChild: PragmaDirective #315 + lastChild: ContractDefinition #606 previousSibling: undefined nextSibling: undefined - root: SourceUnit #467 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - PragmaDirective #244 - id: 244 + PragmaDirective #315 + id: 315 src: "0:0:0" type: "PragmaDirective" literals: Array(4) [ "solidity", "^", "0.8", ".0" ] context: ASTContext #1000 - parent: SourceUnit #467 + parent: SourceUnit #607 vIdentifier: "solidity" vValue: "^0.8.0" children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined - nextSibling: PragmaDirective #245 - root: SourceUnit #467 + nextSibling: PragmaDirective #316 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - PragmaDirective #245 - id: 245 + PragmaDirective #316 + id: 316 src: "0:0:0" type: "PragmaDirective" literals: Array(2) [ "abicoder", "v2" ] context: ASTContext #1000 - parent: SourceUnit #467 + parent: SourceUnit #607 vIdentifier: "abicoder" vValue: "v2" children: Array(0) firstChild: undefined lastChild: undefined - previousSibling: PragmaDirective #244 - nextSibling: ImportDirective #246 - root: SourceUnit #467 + previousSibling: PragmaDirective #315 + nextSibling: ImportDirective #317 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ImportDirective #246 - id: 246 + ImportDirective #317 + id: 317 src: "0:0:0" type: "ImportDirective" file: "./latest_imports_08.sol" absolutePath: "./test/samples/solidity/latest_imports_08.sol" unitAlias: "LI" symbolAliases: Array(0) - scope: 467 - sourceUnit: 243 + scope: 607 + sourceUnit: 314 context: ASTContext #1000 - parent: SourceUnit #467 + parent: SourceUnit #607 children: Array(0) - vScope: SourceUnit #467 - vSourceUnit: SourceUnit #243 + vScope: SourceUnit #607 + vSourceUnit: SourceUnit #314 vSymbolAliases: Array(0) firstChild: undefined lastChild: undefined - previousSibling: PragmaDirective #245 - nextSibling: EnumDefinition #250 - root: SourceUnit #467 + previousSibling: PragmaDirective #316 + nextSibling: EnumDefinition #321 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - EnumDefinition #250 - id: 250 + EnumDefinition #321 + id: 321 src: "0:0:0" type: "EnumDefinition" name: "EnumABC" canonicalName: "EnumABC" nameLocation: "91:7:0" context: ASTContext #1000 - parent: SourceUnit #467 - vMembers: Array(3) [ EnumValue #247, EnumValue #248, EnumValue #249 ] - vScope: SourceUnit #467 - children: Array(3) [ EnumValue #247, EnumValue #248, EnumValue #249 ] - firstChild: EnumValue #247 - lastChild: EnumValue #249 - previousSibling: ImportDirective #246 - nextSibling: ContractDefinition #267 - root: SourceUnit #467 + parent: SourceUnit #607 + vMembers: Array(3) [ EnumValue #318, EnumValue #319, EnumValue #320 ] + vScope: SourceUnit #607 + children: Array(3) [ EnumValue #318, EnumValue #319, EnumValue #320 ] + firstChild: EnumValue #318 + lastChild: EnumValue #320 + previousSibling: ImportDirective #317 + nextSibling: ContractDefinition #338 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - EnumValue #247 - id: 247 + EnumValue #318 + id: 318 src: "0:0:0" type: "EnumValue" name: "A" nameLocation: "105:1:0" context: ASTContext #1000 - parent: EnumDefinition #250 + parent: EnumDefinition #321 children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined - nextSibling: EnumValue #248 - root: SourceUnit #467 + nextSibling: EnumValue #319 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - EnumValue #248 - id: 248 + EnumValue #319 + id: 319 src: "0:0:0" type: "EnumValue" name: "B" nameLocation: "108:1:0" context: ASTContext #1000 - parent: EnumDefinition #250 + parent: EnumDefinition #321 children: Array(0) firstChild: undefined lastChild: undefined - previousSibling: EnumValue #247 - nextSibling: EnumValue #249 - root: SourceUnit #467 + previousSibling: EnumValue #318 + nextSibling: EnumValue #320 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - EnumValue #249 - id: 249 + EnumValue #320 + id: 320 src: "0:0:0" type: "EnumValue" name: "C" nameLocation: "111:1:0" context: ASTContext #1000 - parent: EnumDefinition #250 + parent: EnumDefinition #321 children: Array(0) firstChild: undefined lastChild: undefined - previousSibling: EnumValue #248 + previousSibling: EnumValue #319 nextSibling: undefined - root: SourceUnit #467 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ContractDefinition #267 - id: 267 + ContractDefinition #338 + id: 338 src: "0:0:0" type: "ContractDefinition" name: "UncheckedMathExample" - scope: 467 + scope: 607 kind: "contract" abstract: false fullyImplemented: true - linearizedBaseContracts: Array(1) [ 267 ] + linearizedBaseContracts: Array(1) [ 338 ] + usedErrors: Array(0) docString: undefined nameLocation: "125:20:0" context: ASTContext #1000 - parent: SourceUnit #467 + parent: SourceUnit #607 documentation: undefined - vScope: SourceUnit #467 - vLinearizedBaseContracts: Array(1) [ ContractDefinition #267 ] + vScope: SourceUnit #607 + vLinearizedBaseContracts: Array(1) [ ContractDefinition #338 ] + vUsedErrors: Array(0) vInheritanceSpecifiers: Array(0) vStateVariables: Array(0) vModifiers: Array(0) vEvents: Array(0) - vFunctions: Array(1) [ FunctionDefinition #266 ] + vErrors: Array(0) + vFunctions: Array(1) [ FunctionDefinition #337 ] vUsingForDirectives: Array(0) vStructs: Array(0) vEnums: Array(0) vConstructor: undefined interfaceId: undefined - children: Array(1) [ FunctionDefinition #266 ] - firstChild: FunctionDefinition #266 - lastChild: FunctionDefinition #266 - previousSibling: EnumDefinition #250 - nextSibling: ContractDefinition #303 - root: SourceUnit #467 + children: Array(1) [ FunctionDefinition #337 ] + firstChild: FunctionDefinition #337 + lastChild: FunctionDefinition #337 + previousSibling: EnumDefinition #321 + nextSibling: ContractDefinition #374 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - FunctionDefinition #266 - id: 266 + FunctionDefinition #337 + id: 337 src: "0:0:0" type: "FunctionDefinition" implemented: true virtual: false - scope: 267 + scope: 338 kind: "function" name: "test" visibility: "public" @@ -196,62 +200,62 @@ SourceUnit #467 isConstructor: false documentation: undefined nameLocation: "161:4:0" - vParameters: ParameterList #251 - vReturnParameters: ParameterList #254 + vParameters: ParameterList #322 + vReturnParameters: ParameterList #325 vModifiers: Array(0) vOverrideSpecifier: undefined - vBody: Block #265 + vBody: Block #336 context: ASTContext #1000 - parent: ContractDefinition #267 - children: Array(3) [ ParameterList #251, ParameterList #254, Block #265 ] - vScope: ContractDefinition #267 + parent: ContractDefinition #338 + children: Array(3) [ ParameterList #322, ParameterList #325, Block #336 ] + vScope: ContractDefinition #338 canonicalSignature: "test()" canonicalSignatureHash: "f8a8fd6d" - firstChild: ParameterList #251 - lastChild: Block #265 + firstChild: ParameterList #322 + lastChild: Block #336 previousSibling: undefined nextSibling: undefined - root: SourceUnit #467 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ParameterList #251 - id: 251 + ParameterList #322 + id: 322 src: "0:0:0" type: "ParameterList" context: ASTContext #1000 - parent: FunctionDefinition #266 + parent: FunctionDefinition #337 vParameters: Array(0) children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined - nextSibling: ParameterList #254 - root: SourceUnit #467 + nextSibling: ParameterList #325 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ParameterList #254 - id: 254 + ParameterList #325 + id: 325 src: "0:0:0" type: "ParameterList" context: ASTContext #1000 - parent: FunctionDefinition #266 - vParameters: Array(1) [ VariableDeclaration #253 ] - children: Array(1) [ VariableDeclaration #253 ] - firstChild: VariableDeclaration #253 - lastChild: VariableDeclaration #253 - previousSibling: ParameterList #251 - nextSibling: Block #265 - root: SourceUnit #467 + parent: FunctionDefinition #337 + vParameters: Array(1) [ VariableDeclaration #324 ] + children: Array(1) [ VariableDeclaration #324 ] + firstChild: VariableDeclaration #324 + lastChild: VariableDeclaration #324 + previousSibling: ParameterList #322 + nextSibling: Block #336 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - VariableDeclaration #253 - id: 253 + VariableDeclaration #324 + id: 324 src: "0:0:0" type: "VariableDeclaration" constant: false indexed: false name: "" - scope: 266 + scope: 337 stateVariable: false storageLocation: "default" visibility: "internal" @@ -259,82 +263,82 @@ SourceUnit #467 typeString: "uint256" documentation: undefined nameLocation: "-1:-1:-1" - vType: ElementaryTypeName #252 + vType: ElementaryTypeName #323 vOverrideSpecifier: undefined vValue: undefined context: ASTContext #1000 - parent: ParameterList #254 - children: Array(1) [ ElementaryTypeName #252 ] - vScope: FunctionDefinition #266 + parent: ParameterList #325 + children: Array(1) [ ElementaryTypeName #323 ] + vScope: FunctionDefinition #337 canonicalSignatureType: "uint256" getterCanonicalSignature: "()" getterCanonicalSignatureHash: "861731d5" - firstChild: ElementaryTypeName #252 - lastChild: ElementaryTypeName #252 + firstChild: ElementaryTypeName #323 + lastChild: ElementaryTypeName #323 previousSibling: undefined nextSibling: undefined - root: SourceUnit #467 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ElementaryTypeName #252 - id: 252 + ElementaryTypeName #323 + id: 323 src: "0:0:0" type: "ElementaryTypeName" typeString: "uint256" name: "uint" stateMutability: "nonpayable" context: ASTContext #1000 - parent: VariableDeclaration #253 + parent: VariableDeclaration #324 children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined nextSibling: undefined - root: SourceUnit #467 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Block #265 - id: 265 + Block #336 + id: 336 src: "0:0:0" type: "Block" documentation: undefined context: ASTContext #1000 - parent: FunctionDefinition #266 - vStatements: Array(3) [ VariableDeclarationStatement #258, UncheckedBlock #262, Return #264 ] - children: Array(3) [ VariableDeclarationStatement #258, UncheckedBlock #262, Return #264 ] - firstChild: VariableDeclarationStatement #258 - lastChild: Return #264 - previousSibling: ParameterList #254 + parent: FunctionDefinition #337 + vStatements: Array(3) [ VariableDeclarationStatement #329, UncheckedBlock #333, Return #335 ] + children: Array(3) [ VariableDeclarationStatement #329, UncheckedBlock #333, Return #335 ] + firstChild: VariableDeclarationStatement #329 + lastChild: Return #335 + previousSibling: ParameterList #325 nextSibling: undefined - root: SourceUnit #467 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - VariableDeclarationStatement #258 - id: 258 + VariableDeclarationStatement #329 + id: 329 src: "0:0:0" type: "VariableDeclarationStatement" documentation: undefined - assignments: Array(1) [ 256 ] - vDeclarations: Array(1) [ VariableDeclaration #256 ] - vInitialValue: Literal #257 + assignments: Array(1) [ 327 ] + vDeclarations: Array(1) [ VariableDeclaration #327 ] + vInitialValue: Literal #328 context: ASTContext #1000 - parent: Block #265 - children: Array(2) [ VariableDeclaration #256, Literal #257 ] - firstChild: VariableDeclaration #256 - lastChild: Literal #257 + parent: Block #336 + children: Array(2) [ VariableDeclaration #327, Literal #328 ] + firstChild: VariableDeclaration #327 + lastChild: Literal #328 previousSibling: undefined - nextSibling: UncheckedBlock #262 - root: SourceUnit #467 + nextSibling: UncheckedBlock #333 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - VariableDeclaration #256 - id: 256 + VariableDeclaration #327 + id: 327 src: "0:0:0" type: "VariableDeclaration" constant: false indexed: false name: "x" - scope: 265 + scope: 336 stateVariable: false storageLocation: "default" visibility: "internal" @@ -342,42 +346,42 @@ SourceUnit #467 typeString: "uint256" documentation: undefined nameLocation: "210:1:0" - vType: ElementaryTypeName #255 + vType: ElementaryTypeName #326 vOverrideSpecifier: undefined vValue: undefined context: ASTContext #1000 - parent: VariableDeclarationStatement #258 - children: Array(1) [ ElementaryTypeName #255 ] - vScope: Block #265 + parent: VariableDeclarationStatement #329 + children: Array(1) [ ElementaryTypeName #326 ] + vScope: Block #336 canonicalSignatureType: "uint256" getterCanonicalSignature: "x()" getterCanonicalSignatureHash: "0c55699c" - firstChild: ElementaryTypeName #255 - lastChild: ElementaryTypeName #255 + firstChild: ElementaryTypeName #326 + lastChild: ElementaryTypeName #326 previousSibling: undefined - nextSibling: Literal #257 - root: SourceUnit #467 + nextSibling: Literal #328 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ElementaryTypeName #255 - id: 255 + ElementaryTypeName #326 + id: 326 src: "0:0:0" type: "ElementaryTypeName" typeString: "uint256" name: "uint" stateMutability: "nonpayable" context: ASTContext #1000 - parent: VariableDeclaration #256 + parent: VariableDeclaration #327 children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined nextSibling: undefined - root: SourceUnit #467 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Literal #257 - id: 257 + Literal #328 + id: 328 src: "0:0:0" type: "Literal" typeString: "int_const 0" @@ -386,265 +390,268 @@ SourceUnit #467 value: "0" subdenomination: undefined context: ASTContext #1000 - parent: VariableDeclarationStatement #258 + parent: VariableDeclarationStatement #329 children: Array(0) firstChild: undefined lastChild: undefined - previousSibling: VariableDeclaration #256 + previousSibling: VariableDeclaration #327 nextSibling: undefined - root: SourceUnit #467 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - UncheckedBlock #262 - id: 262 + UncheckedBlock #333 + id: 333 src: "0:0:0" type: "UncheckedBlock" documentation: undefined context: ASTContext #1000 - parent: Block #265 - vStatements: Array(1) [ ExpressionStatement #261 ] - children: Array(1) [ ExpressionStatement #261 ] - firstChild: ExpressionStatement #261 - lastChild: ExpressionStatement #261 - previousSibling: VariableDeclarationStatement #258 - nextSibling: Return #264 - root: SourceUnit #467 + parent: Block #336 + vStatements: Array(1) [ ExpressionStatement #332 ] + children: Array(1) [ ExpressionStatement #332 ] + firstChild: ExpressionStatement #332 + lastChild: ExpressionStatement #332 + previousSibling: VariableDeclarationStatement #329 + nextSibling: Return #335 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ExpressionStatement #261 - id: 261 + ExpressionStatement #332 + id: 332 src: "0:0:0" type: "ExpressionStatement" documentation: undefined - vExpression: UnaryOperation #260 + vExpression: UnaryOperation #331 context: ASTContext #1000 - parent: UncheckedBlock #262 - children: Array(1) [ UnaryOperation #260 ] - firstChild: UnaryOperation #260 - lastChild: UnaryOperation #260 + parent: UncheckedBlock #333 + children: Array(1) [ UnaryOperation #331 ] + firstChild: UnaryOperation #331 + lastChild: UnaryOperation #331 previousSibling: undefined nextSibling: undefined - root: SourceUnit #467 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - UnaryOperation #260 - id: 260 + UnaryOperation #331 + id: 331 src: "0:0:0" type: "UnaryOperation" typeString: "uint256" prefix: false operator: "--" - vSubExpression: Identifier #259 + vSubExpression: Identifier #330 context: ASTContext #1000 - parent: ExpressionStatement #261 - children: Array(1) [ Identifier #259 ] - firstChild: Identifier #259 - lastChild: Identifier #259 + parent: ExpressionStatement #332 + children: Array(1) [ Identifier #330 ] + firstChild: Identifier #330 + lastChild: Identifier #330 previousSibling: undefined nextSibling: undefined - root: SourceUnit #467 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Identifier #259 - id: 259 + Identifier #330 + id: 330 src: "0:0:0" type: "Identifier" typeString: "uint256" name: "x" - referencedDeclaration: 256 + referencedDeclaration: 327 context: ASTContext #1000 - parent: UnaryOperation #260 - vReferencedDeclaration: VariableDeclaration #256 + parent: UnaryOperation #331 + vReferencedDeclaration: VariableDeclaration #327 vIdentifierType: "userDefined" children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined nextSibling: undefined - root: SourceUnit #467 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Return #264 - id: 264 + Return #335 + id: 335 src: "0:0:0" type: "Return" documentation: undefined functionReturnParameters: 11 - vExpression: Identifier #263 + vExpression: Identifier #334 context: ASTContext #1000 - parent: Block #265 - children: Array(1) [ Identifier #263 ] + parent: Block #336 + children: Array(1) [ Identifier #334 ] vFunctionReturnParameters: ParameterList #11 - firstChild: Identifier #263 - lastChild: Identifier #263 - previousSibling: UncheckedBlock #262 + firstChild: Identifier #334 + lastChild: Identifier #334 + previousSibling: UncheckedBlock #333 nextSibling: undefined - root: SourceUnit #467 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Identifier #263 - id: 263 + Identifier #334 + id: 334 src: "0:0:0" type: "Identifier" typeString: "uint256" name: "x" - referencedDeclaration: 256 + referencedDeclaration: 327 context: ASTContext #1000 - parent: Return #264 - vReferencedDeclaration: VariableDeclaration #256 + parent: Return #335 + vReferencedDeclaration: VariableDeclaration #327 vIdentifierType: "userDefined" children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined nextSibling: undefined - root: SourceUnit #467 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ContractDefinition #303 - id: 303 + ContractDefinition #374 + id: 374 src: "0:0:0" type: "ContractDefinition" name: "EmitsIdentifierPath" - scope: 467 + scope: 607 kind: "contract" abstract: false fullyImplemented: true - linearizedBaseContracts: Array(2) [ 303, 241 ] + linearizedBaseContracts: Array(2) [ 374, 312 ] + usedErrors: Array(0) docString: undefined nameLocation: "302:19:0" context: ASTContext #1000 - parent: SourceUnit #467 + parent: SourceUnit #607 documentation: undefined - vScope: SourceUnit #467 - vLinearizedBaseContracts: Array(2) [ ContractDefinition #303, ContractDefinition #241 ] - vInheritanceSpecifiers: Array(1) [ InheritanceSpecifier #269 ] + vScope: SourceUnit #607 + vLinearizedBaseContracts: Array(2) [ ContractDefinition #374, ContractDefinition #312 ] + vUsedErrors: Array(0) + vInheritanceSpecifiers: Array(1) [ InheritanceSpecifier #340 ] vStateVariables: Array(0) vModifiers: Array(0) vEvents: Array(0) - vFunctions: Array(3) [ FunctionDefinition #279, FunctionDefinition #292, FunctionDefinition #302 ] - vUsingForDirectives: Array(1) [ UsingForDirective #273 ] + vErrors: Array(0) + vFunctions: Array(3) [ FunctionDefinition #350, FunctionDefinition #363, FunctionDefinition #373 ] + vUsingForDirectives: Array(1) [ UsingForDirective #344 ] vStructs: Array(0) vEnums: Array(0) - vConstructor: FunctionDefinition #279 + vConstructor: FunctionDefinition #350 interfaceId: undefined - children: Array(5) [ InheritanceSpecifier #269, UsingForDirective #273, FunctionDefinition #279, FunctionDefinition #292, FunctionDefinition #302 ] - firstChild: InheritanceSpecifier #269 - lastChild: FunctionDefinition #302 - previousSibling: ContractDefinition #267 - nextSibling: ContractDefinition #324 - root: SourceUnit #467 + children: Array(5) [ InheritanceSpecifier #340, UsingForDirective #344, FunctionDefinition #350, FunctionDefinition #363, FunctionDefinition #373 ] + firstChild: InheritanceSpecifier #340 + lastChild: FunctionDefinition #373 + previousSibling: ContractDefinition #338 + nextSibling: ContractDefinition #395 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - InheritanceSpecifier #269 - id: 269 + InheritanceSpecifier #340 + id: 340 src: "0:0:0" type: "InheritanceSpecifier" - vBaseType: IdentifierPath #268 + vBaseType: IdentifierPath #339 vArguments: Array(0) context: ASTContext #1000 - parent: ContractDefinition #303 - children: Array(1) [ IdentifierPath #268 ] - firstChild: IdentifierPath #268 - lastChild: IdentifierPath #268 + parent: ContractDefinition #374 + children: Array(1) [ IdentifierPath #339 ] + firstChild: IdentifierPath #339 + lastChild: IdentifierPath #339 previousSibling: undefined - nextSibling: UsingForDirective #273 - root: SourceUnit #467 + nextSibling: UsingForDirective #344 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - IdentifierPath #268 - id: 268 + IdentifierPath #339 + id: 339 src: "0:0:0" type: "IdentifierPath" name: "LI.SomeContract" - referencedDeclaration: 241 + referencedDeclaration: 312 context: ASTContext #1000 - parent: InheritanceSpecifier #269 - vReferencedDeclaration: ContractDefinition #241 + parent: InheritanceSpecifier #340 + vReferencedDeclaration: ContractDefinition #312 children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined nextSibling: undefined - root: SourceUnit #467 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - UsingForDirective #273 - id: 273 + UsingForDirective #344 + id: 344 src: "0:0:0" type: "UsingForDirective" - vLibraryName: IdentifierPath #270 - vTypeName: UserDefinedTypeName #272 + vLibraryName: IdentifierPath #341 + vTypeName: UserDefinedTypeName #343 context: ASTContext #1000 - parent: ContractDefinition #303 - children: Array(2) [ IdentifierPath #270, UserDefinedTypeName #272 ] - firstChild: IdentifierPath #270 - lastChild: UserDefinedTypeName #272 - previousSibling: InheritanceSpecifier #269 - nextSibling: FunctionDefinition #279 - root: SourceUnit #467 + parent: ContractDefinition #374 + children: Array(2) [ IdentifierPath #341, UserDefinedTypeName #343 ] + firstChild: IdentifierPath #341 + lastChild: UserDefinedTypeName #343 + previousSibling: InheritanceSpecifier #340 + nextSibling: FunctionDefinition #350 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - IdentifierPath #270 - id: 270 + IdentifierPath #341 + id: 341 src: "0:0:0" type: "IdentifierPath" name: "LI.SomeLib" - referencedDeclaration: 242 + referencedDeclaration: 313 context: ASTContext #1000 - parent: UsingForDirective #273 - vReferencedDeclaration: ContractDefinition #242 + parent: UsingForDirective #344 + vReferencedDeclaration: ContractDefinition #313 children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined - nextSibling: UserDefinedTypeName #272 - root: SourceUnit #467 + nextSibling: UserDefinedTypeName #343 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - UserDefinedTypeName #272 - id: 272 + UserDefinedTypeName #343 + id: 343 src: "0:0:0" type: "UserDefinedTypeName" typeString: "struct SomeContract.SomeStruct" name: undefined - referencedDeclaration: 232 - path: IdentifierPath #271 + referencedDeclaration: 303 + path: IdentifierPath #342 context: ASTContext #1000 - parent: UsingForDirective #273 - children: Array(1) [ IdentifierPath #271 ] - vReferencedDeclaration: StructDefinition #232 - firstChild: IdentifierPath #271 - lastChild: IdentifierPath #271 - previousSibling: IdentifierPath #270 + parent: UsingForDirective #344 + children: Array(1) [ IdentifierPath #342 ] + vReferencedDeclaration: StructDefinition #303 + firstChild: IdentifierPath #342 + lastChild: IdentifierPath #342 + previousSibling: IdentifierPath #341 nextSibling: undefined - root: SourceUnit #467 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - IdentifierPath #271 - id: 271 + IdentifierPath #342 + id: 342 src: "0:0:0" type: "IdentifierPath" name: "LI.SomeContract.SomeStruct" - referencedDeclaration: 232 + referencedDeclaration: 303 context: ASTContext #1000 - parent: UserDefinedTypeName #272 - vReferencedDeclaration: StructDefinition #232 + parent: UserDefinedTypeName #343 + vReferencedDeclaration: StructDefinition #303 children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined nextSibling: undefined - root: SourceUnit #467 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - FunctionDefinition #279 - id: 279 + FunctionDefinition #350 + id: 350 src: "0:0:0" type: "FunctionDefinition" implemented: true virtual: false - scope: 303 + scope: 374 kind: "constructor" name: "" visibility: "public" @@ -652,112 +659,112 @@ SourceUnit #467 isConstructor: true documentation: undefined nameLocation: "-1:-1:-1" - vParameters: ParameterList #274 - vReturnParameters: ParameterList #275 - vModifiers: Array(1) [ ModifierInvocation #277 ] + vParameters: ParameterList #345 + vReturnParameters: ParameterList #346 + vModifiers: Array(1) [ ModifierInvocation #348 ] vOverrideSpecifier: undefined - vBody: Block #278 + vBody: Block #349 context: ASTContext #1000 - parent: ContractDefinition #303 - children: Array(4) [ ParameterList #274, ModifierInvocation #277, ParameterList #275, Block #278 ] - vScope: ContractDefinition #303 + parent: ContractDefinition #374 + children: Array(4) [ ParameterList #345, ModifierInvocation #348, ParameterList #346, Block #349 ] + vScope: ContractDefinition #374 canonicalSignature: "" canonicalSignatureHash: "" - firstChild: ParameterList #274 - lastChild: Block #278 - previousSibling: UsingForDirective #273 - nextSibling: FunctionDefinition #292 - root: SourceUnit #467 + firstChild: ParameterList #345 + lastChild: Block #349 + previousSibling: UsingForDirective #344 + nextSibling: FunctionDefinition #363 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ParameterList #274 - id: 274 + ParameterList #345 + id: 345 src: "0:0:0" type: "ParameterList" context: ASTContext #1000 - parent: FunctionDefinition #279 + parent: FunctionDefinition #350 vParameters: Array(0) children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined - nextSibling: ModifierInvocation #277 - root: SourceUnit #467 + nextSibling: ModifierInvocation #348 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ModifierInvocation #277 - id: 277 + ModifierInvocation #348 + id: 348 src: "0:0:0" type: "ModifierInvocation" - kind: undefined - vModifierName: IdentifierPath #276 + kind: "baseConstructorSpecifier" + vModifierName: IdentifierPath #347 vArguments: Array(0) context: ASTContext #1000 - parent: FunctionDefinition #279 - children: Array(1) [ IdentifierPath #276 ] - vModifier: ContractDefinition #241 - firstChild: IdentifierPath #276 - lastChild: IdentifierPath #276 - previousSibling: ParameterList #274 - nextSibling: ParameterList #275 - root: SourceUnit #467 + parent: FunctionDefinition #350 + children: Array(1) [ IdentifierPath #347 ] + vModifier: ContractDefinition #312 + firstChild: IdentifierPath #347 + lastChild: IdentifierPath #347 + previousSibling: ParameterList #345 + nextSibling: ParameterList #346 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - IdentifierPath #276 - id: 276 + IdentifierPath #347 + id: 347 src: "0:0:0" type: "IdentifierPath" name: "LI.SomeContract" - referencedDeclaration: 241 + referencedDeclaration: 312 context: ASTContext #1000 - parent: ModifierInvocation #277 - vReferencedDeclaration: ContractDefinition #241 + parent: ModifierInvocation #348 + vReferencedDeclaration: ContractDefinition #312 children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined nextSibling: undefined - root: SourceUnit #467 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ParameterList #275 - id: 275 + ParameterList #346 + id: 346 src: "0:0:0" type: "ParameterList" context: ASTContext #1000 - parent: FunctionDefinition #279 + parent: FunctionDefinition #350 vParameters: Array(0) children: Array(0) firstChild: undefined lastChild: undefined - previousSibling: ModifierInvocation #277 - nextSibling: Block #278 - root: SourceUnit #467 + previousSibling: ModifierInvocation #348 + nextSibling: Block #349 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Block #278 - id: 278 + Block #349 + id: 349 src: "0:0:0" type: "Block" documentation: undefined context: ASTContext #1000 - parent: FunctionDefinition #279 + parent: FunctionDefinition #350 vStatements: Array(0) children: Array(0) firstChild: undefined lastChild: undefined - previousSibling: ParameterList #275 + previousSibling: ParameterList #346 nextSibling: undefined - root: SourceUnit #467 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - FunctionDefinition #292 - id: 292 + FunctionDefinition #363 + id: 363 src: "0:0:0" type: "FunctionDefinition" implemented: true virtual: false - scope: 303 + scope: 374 kind: "function" name: "test" visibility: "public" @@ -765,96 +772,96 @@ SourceUnit #467 isConstructor: false documentation: undefined nameLocation: "450:4:0" - vParameters: ParameterList #280 - vReturnParameters: ParameterList #281 + vParameters: ParameterList #351 + vReturnParameters: ParameterList #352 vModifiers: Array(0) vOverrideSpecifier: undefined - vBody: Block #291 + vBody: Block #362 context: ASTContext #1000 - parent: ContractDefinition #303 - children: Array(3) [ ParameterList #280, ParameterList #281, Block #291 ] - vScope: ContractDefinition #303 + parent: ContractDefinition #374 + children: Array(3) [ ParameterList #351, ParameterList #352, Block #362 ] + vScope: ContractDefinition #374 canonicalSignature: "test()" canonicalSignatureHash: "f8a8fd6d" - firstChild: ParameterList #280 - lastChild: Block #291 - previousSibling: FunctionDefinition #279 - nextSibling: FunctionDefinition #302 - root: SourceUnit #467 + firstChild: ParameterList #351 + lastChild: Block #362 + previousSibling: FunctionDefinition #350 + nextSibling: FunctionDefinition #373 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ParameterList #280 - id: 280 + ParameterList #351 + id: 351 src: "0:0:0" type: "ParameterList" context: ASTContext #1000 - parent: FunctionDefinition #292 + parent: FunctionDefinition #363 vParameters: Array(0) children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined - nextSibling: ParameterList #281 - root: SourceUnit #467 + nextSibling: ParameterList #352 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ParameterList #281 - id: 281 + ParameterList #352 + id: 352 src: "0:0:0" type: "ParameterList" context: ASTContext #1000 - parent: FunctionDefinition #292 + parent: FunctionDefinition #363 vParameters: Array(0) children: Array(0) firstChild: undefined lastChild: undefined - previousSibling: ParameterList #280 - nextSibling: Block #291 - root: SourceUnit #467 + previousSibling: ParameterList #351 + nextSibling: Block #362 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Block #291 - id: 291 + Block #362 + id: 362 src: "0:0:0" type: "Block" documentation: undefined context: ASTContext #1000 - parent: FunctionDefinition #292 - vStatements: Array(1) [ VariableDeclarationStatement #290 ] - children: Array(1) [ VariableDeclarationStatement #290 ] - firstChild: VariableDeclarationStatement #290 - lastChild: VariableDeclarationStatement #290 - previousSibling: ParameterList #281 + parent: FunctionDefinition #363 + vStatements: Array(1) [ VariableDeclarationStatement #361 ] + children: Array(1) [ VariableDeclarationStatement #361 ] + firstChild: VariableDeclarationStatement #361 + lastChild: VariableDeclarationStatement #361 + previousSibling: ParameterList #352 nextSibling: undefined - root: SourceUnit #467 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - VariableDeclarationStatement #290 - id: 290 + VariableDeclarationStatement #361 + id: 361 src: "0:0:0" type: "VariableDeclarationStatement" documentation: undefined - assignments: Array(1) [ 284 ] - vDeclarations: Array(1) [ VariableDeclaration #284 ] - vInitialValue: FunctionCall #289 + assignments: Array(1) [ 355 ] + vDeclarations: Array(1) [ VariableDeclaration #355 ] + vInitialValue: FunctionCall #360 context: ASTContext #1000 - parent: Block #291 - children: Array(2) [ VariableDeclaration #284, FunctionCall #289 ] - firstChild: VariableDeclaration #284 - lastChild: FunctionCall #289 + parent: Block #362 + children: Array(2) [ VariableDeclaration #355, FunctionCall #360 ] + firstChild: VariableDeclaration #355 + lastChild: FunctionCall #360 previousSibling: undefined nextSibling: undefined - root: SourceUnit #467 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - VariableDeclaration #284 - id: 284 + VariableDeclaration #355 + id: 355 src: "0:0:0" type: "VariableDeclaration" constant: false indexed: false name: "s" - scope: 291 + scope: 362 stateVariable: false storageLocation: "memory" visibility: "internal" @@ -862,143 +869,143 @@ SourceUnit #467 typeString: "struct SomeContract.SomeStruct" documentation: undefined nameLocation: "508:1:0" - vType: UserDefinedTypeName #283 + vType: UserDefinedTypeName #354 vOverrideSpecifier: undefined vValue: undefined context: ASTContext #1000 - parent: VariableDeclarationStatement #290 - children: Array(1) [ UserDefinedTypeName #283 ] - vScope: Block #291 + parent: VariableDeclarationStatement #361 + children: Array(1) [ UserDefinedTypeName #354 ] + vScope: Block #362 canonicalSignatureType: "(uint256)" getterCanonicalSignature: "s()" getterCanonicalSignatureHash: "86b714e2" - firstChild: UserDefinedTypeName #283 - lastChild: UserDefinedTypeName #283 + firstChild: UserDefinedTypeName #354 + lastChild: UserDefinedTypeName #354 previousSibling: undefined - nextSibling: FunctionCall #289 - root: SourceUnit #467 + nextSibling: FunctionCall #360 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - UserDefinedTypeName #283 - id: 283 + UserDefinedTypeName #354 + id: 354 src: "0:0:0" type: "UserDefinedTypeName" typeString: "struct SomeContract.SomeStruct" name: undefined - referencedDeclaration: 232 - path: IdentifierPath #282 + referencedDeclaration: 303 + path: IdentifierPath #353 context: ASTContext #1000 - parent: VariableDeclaration #284 - children: Array(1) [ IdentifierPath #282 ] - vReferencedDeclaration: StructDefinition #232 - firstChild: IdentifierPath #282 - lastChild: IdentifierPath #282 + parent: VariableDeclaration #355 + children: Array(1) [ IdentifierPath #353 ] + vReferencedDeclaration: StructDefinition #303 + firstChild: IdentifierPath #353 + lastChild: IdentifierPath #353 previousSibling: undefined nextSibling: undefined - root: SourceUnit #467 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - IdentifierPath #282 - id: 282 + IdentifierPath #353 + id: 353 src: "0:0:0" type: "IdentifierPath" name: "LI.SomeContract.SomeStruct" - referencedDeclaration: 232 + referencedDeclaration: 303 context: ASTContext #1000 - parent: UserDefinedTypeName #283 - vReferencedDeclaration: StructDefinition #232 + parent: UserDefinedTypeName #354 + vReferencedDeclaration: StructDefinition #303 children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined nextSibling: undefined - root: SourceUnit #467 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - FunctionCall #289 - id: 289 + FunctionCall #360 + id: 360 src: "0:0:0" type: "FunctionCall" typeString: "struct SomeContract.SomeStruct memory" kind: "structConstructorCall" fieldNames: undefined - vExpression: MemberAccess #287 - vArguments: Array(1) [ Literal #288 ] + vExpression: MemberAccess #358 + vArguments: Array(1) [ Literal #359 ] context: ASTContext #1000 - parent: VariableDeclarationStatement #290 - children: Array(2) [ MemberAccess #287, Literal #288 ] + parent: VariableDeclarationStatement #361 + children: Array(2) [ MemberAccess #358, Literal #359 ] vIdentifier: undefined vMemberName: "SomeStruct" vFunctionCallType: "userDefined" - vReferencedDeclaration: StructDefinition #232 + vReferencedDeclaration: StructDefinition #303 vFunctionName: "SomeStruct" - vCallee: MemberAccess #287 - firstChild: MemberAccess #287 - lastChild: Literal #288 - previousSibling: VariableDeclaration #284 + vCallee: MemberAccess #358 + firstChild: MemberAccess #358 + lastChild: Literal #359 + previousSibling: VariableDeclaration #355 nextSibling: undefined - root: SourceUnit #467 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - MemberAccess #287 - id: 287 + MemberAccess #358 + id: 358 src: "0:0:0" type: "MemberAccess" typeString: "type(struct SomeContract.SomeStruct storage pointer)" - vExpression: MemberAccess #286 + vExpression: MemberAccess #357 memberName: "SomeStruct" - referencedDeclaration: 232 + referencedDeclaration: 303 context: ASTContext #1000 - parent: FunctionCall #289 - children: Array(1) [ MemberAccess #286 ] - vReferencedDeclaration: StructDefinition #232 - firstChild: MemberAccess #286 - lastChild: MemberAccess #286 + parent: FunctionCall #360 + children: Array(1) [ MemberAccess #357 ] + vReferencedDeclaration: StructDefinition #303 + firstChild: MemberAccess #357 + lastChild: MemberAccess #357 previousSibling: undefined - nextSibling: Literal #288 - root: SourceUnit #467 + nextSibling: Literal #359 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - MemberAccess #286 - id: 286 + MemberAccess #357 + id: 357 src: "0:0:0" type: "MemberAccess" typeString: "type(contract SomeContract)" - vExpression: Identifier #285 + vExpression: Identifier #356 memberName: "SomeContract" - referencedDeclaration: 241 + referencedDeclaration: 312 context: ASTContext #1000 - parent: MemberAccess #287 - children: Array(1) [ Identifier #285 ] - vReferencedDeclaration: ContractDefinition #241 - firstChild: Identifier #285 - lastChild: Identifier #285 + parent: MemberAccess #358 + children: Array(1) [ Identifier #356 ] + vReferencedDeclaration: ContractDefinition #312 + firstChild: Identifier #356 + lastChild: Identifier #356 previousSibling: undefined nextSibling: undefined - root: SourceUnit #467 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Identifier #285 - id: 285 + Identifier #356 + id: 356 src: "0:0:0" type: "Identifier" typeString: "module \"./test/samples/solidity/latest_imports_08.sol\"" name: "LI" - referencedDeclaration: 246 + referencedDeclaration: 317 context: ASTContext #1000 - parent: MemberAccess #286 - vReferencedDeclaration: ImportDirective #246 + parent: MemberAccess #357 + vReferencedDeclaration: ImportDirective #317 vIdentifierType: "userDefined" children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined nextSibling: undefined - root: SourceUnit #467 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Literal #288 - id: 288 + Literal #359 + id: 359 src: "0:0:0" type: "Literal" typeString: "int_const 10" @@ -1007,22 +1014,22 @@ SourceUnit #467 value: "10" subdenomination: undefined context: ASTContext #1000 - parent: FunctionCall #289 + parent: FunctionCall #360 children: Array(0) firstChild: undefined lastChild: undefined - previousSibling: MemberAccess #287 + previousSibling: MemberAccess #358 nextSibling: undefined - root: SourceUnit #467 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - FunctionDefinition #302 - id: 302 + FunctionDefinition #373 + id: 373 src: "0:0:0" type: "FunctionDefinition" implemented: true virtual: false - scope: 303 + scope: 374 kind: "function" name: "some" visibility: "public" @@ -1030,94 +1037,94 @@ SourceUnit #467 isConstructor: false documentation: undefined nameLocation: "564:4:0" - vParameters: ParameterList #293 - vReturnParameters: ParameterList #296 + vParameters: ParameterList #364 + vReturnParameters: ParameterList #367 vModifiers: Array(0) - vOverrideSpecifier: OverrideSpecifier #298 - vBody: Block #301 + vOverrideSpecifier: OverrideSpecifier #369 + vBody: Block #372 context: ASTContext #1000 - parent: ContractDefinition #303 - children: Array(4) [ ParameterList #293, OverrideSpecifier #298, ParameterList #296, Block #301 ] - vScope: ContractDefinition #303 + parent: ContractDefinition #374 + children: Array(4) [ ParameterList #364, OverrideSpecifier #369, ParameterList #367, Block #372 ] + vScope: ContractDefinition #374 canonicalSignature: "some()" canonicalSignatureHash: "c03ee3d3" - firstChild: ParameterList #293 - lastChild: Block #301 - previousSibling: FunctionDefinition #292 + firstChild: ParameterList #364 + lastChild: Block #372 + previousSibling: FunctionDefinition #363 nextSibling: undefined - root: SourceUnit #467 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ParameterList #293 - id: 293 + ParameterList #364 + id: 364 src: "0:0:0" type: "ParameterList" context: ASTContext #1000 - parent: FunctionDefinition #302 + parent: FunctionDefinition #373 vParameters: Array(0) children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined - nextSibling: OverrideSpecifier #298 - root: SourceUnit #467 + nextSibling: OverrideSpecifier #369 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - OverrideSpecifier #298 - id: 298 + OverrideSpecifier #369 + id: 369 src: "0:0:0" type: "OverrideSpecifier" context: ASTContext #1000 - parent: FunctionDefinition #302 - vOverrides: Array(1) [ IdentifierPath #297 ] - children: Array(1) [ IdentifierPath #297 ] - firstChild: IdentifierPath #297 - lastChild: IdentifierPath #297 - previousSibling: ParameterList #293 - nextSibling: ParameterList #296 - root: SourceUnit #467 + parent: FunctionDefinition #373 + vOverrides: Array(1) [ IdentifierPath #368 ] + children: Array(1) [ IdentifierPath #368 ] + firstChild: IdentifierPath #368 + lastChild: IdentifierPath #368 + previousSibling: ParameterList #364 + nextSibling: ParameterList #367 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - IdentifierPath #297 - id: 297 + IdentifierPath #368 + id: 368 src: "0:0:0" type: "IdentifierPath" name: "LI.SomeContract" - referencedDeclaration: 241 + referencedDeclaration: 312 context: ASTContext #1000 - parent: OverrideSpecifier #298 - vReferencedDeclaration: ContractDefinition #241 + parent: OverrideSpecifier #369 + vReferencedDeclaration: ContractDefinition #312 children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined nextSibling: undefined - root: SourceUnit #467 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ParameterList #296 - id: 296 + ParameterList #367 + id: 367 src: "0:0:0" type: "ParameterList" context: ASTContext #1000 - parent: FunctionDefinition #302 - vParameters: Array(1) [ VariableDeclaration #295 ] - children: Array(1) [ VariableDeclaration #295 ] - firstChild: VariableDeclaration #295 - lastChild: VariableDeclaration #295 - previousSibling: OverrideSpecifier #298 - nextSibling: Block #301 - root: SourceUnit #467 + parent: FunctionDefinition #373 + vParameters: Array(1) [ VariableDeclaration #366 ] + children: Array(1) [ VariableDeclaration #366 ] + firstChild: VariableDeclaration #366 + lastChild: VariableDeclaration #366 + previousSibling: OverrideSpecifier #369 + nextSibling: Block #372 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - VariableDeclaration #295 - id: 295 + VariableDeclaration #366 + id: 366 src: "0:0:0" type: "VariableDeclaration" constant: false indexed: false name: "" - scope: 302 + scope: 373 stateVariable: false storageLocation: "default" visibility: "internal" @@ -1125,76 +1132,76 @@ SourceUnit #467 typeString: "uint256" documentation: undefined nameLocation: "-1:-1:-1" - vType: ElementaryTypeName #294 + vType: ElementaryTypeName #365 vOverrideSpecifier: undefined vValue: undefined context: ASTContext #1000 - parent: ParameterList #296 - children: Array(1) [ ElementaryTypeName #294 ] - vScope: FunctionDefinition #302 + parent: ParameterList #367 + children: Array(1) [ ElementaryTypeName #365 ] + vScope: FunctionDefinition #373 canonicalSignatureType: "uint256" getterCanonicalSignature: "()" getterCanonicalSignatureHash: "861731d5" - firstChild: ElementaryTypeName #294 - lastChild: ElementaryTypeName #294 + firstChild: ElementaryTypeName #365 + lastChild: ElementaryTypeName #365 previousSibling: undefined nextSibling: undefined - root: SourceUnit #467 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ElementaryTypeName #294 - id: 294 + ElementaryTypeName #365 + id: 365 src: "0:0:0" type: "ElementaryTypeName" typeString: "uint256" name: "uint" stateMutability: "nonpayable" context: ASTContext #1000 - parent: VariableDeclaration #295 + parent: VariableDeclaration #366 children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined nextSibling: undefined - root: SourceUnit #467 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Block #301 - id: 301 + Block #372 + id: 372 src: "0:0:0" type: "Block" documentation: undefined context: ASTContext #1000 - parent: FunctionDefinition #302 - vStatements: Array(1) [ Return #300 ] - children: Array(1) [ Return #300 ] - firstChild: Return #300 - lastChild: Return #300 - previousSibling: ParameterList #296 + parent: FunctionDefinition #373 + vStatements: Array(1) [ Return #371 ] + children: Array(1) [ Return #371 ] + firstChild: Return #371 + lastChild: Return #371 + previousSibling: ParameterList #367 nextSibling: undefined - root: SourceUnit #467 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Return #300 - id: 300 + Return #371 + id: 371 src: "0:0:0" type: "Return" documentation: undefined functionReturnParameters: 58 - vExpression: Literal #299 + vExpression: Literal #370 context: ASTContext #1000 - parent: Block #301 - children: Array(1) [ Literal #299 ] + parent: Block #372 + children: Array(1) [ Literal #370 ] vFunctionReturnParameters: ParameterList #58 - firstChild: Literal #299 - lastChild: Literal #299 + firstChild: Literal #370 + lastChild: Literal #370 previousSibling: undefined nextSibling: undefined - root: SourceUnit #467 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Literal #299 - id: 299 + Literal #370 + id: 370 src: "0:0:0" type: "Literal" typeString: "int_const 2" @@ -1203,57 +1210,60 @@ SourceUnit #467 value: "2" subdenomination: undefined context: ASTContext #1000 - parent: Return #300 + parent: Return #371 children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined nextSibling: undefined - root: SourceUnit #467 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ContractDefinition #324 - id: 324 + ContractDefinition #395 + id: 395 src: "0:0:0" type: "ContractDefinition" name: "UsesNewAddressMembers" - scope: 467 + scope: 607 kind: "contract" abstract: false fullyImplemented: true - linearizedBaseContracts: Array(1) [ 324 ] + linearizedBaseContracts: Array(1) [ 395 ] + usedErrors: Array(0) docString: undefined nameLocation: "656:21:0" context: ASTContext #1000 - parent: SourceUnit #467 + parent: SourceUnit #607 documentation: undefined - vScope: SourceUnit #467 - vLinearizedBaseContracts: Array(1) [ ContractDefinition #324 ] + vScope: SourceUnit #607 + vLinearizedBaseContracts: Array(1) [ ContractDefinition #395 ] + vUsedErrors: Array(0) vInheritanceSpecifiers: Array(0) vStateVariables: Array(0) vModifiers: Array(0) vEvents: Array(0) - vFunctions: Array(1) [ FunctionDefinition #323 ] + vErrors: Array(0) + vFunctions: Array(1) [ FunctionDefinition #394 ] vUsingForDirectives: Array(0) vStructs: Array(0) vEnums: Array(0) vConstructor: undefined interfaceId: undefined - children: Array(1) [ FunctionDefinition #323 ] - firstChild: FunctionDefinition #323 - lastChild: FunctionDefinition #323 - previousSibling: ContractDefinition #303 - nextSibling: ContractDefinition #381 - root: SourceUnit #467 + children: Array(1) [ FunctionDefinition #394 ] + firstChild: FunctionDefinition #394 + lastChild: FunctionDefinition #394 + previousSibling: ContractDefinition #374 + nextSibling: ContractDefinition #452 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - FunctionDefinition #323 - id: 323 + FunctionDefinition #394 + id: 394 src: "0:0:0" type: "FunctionDefinition" implemented: true virtual: false - scope: 324 + scope: 395 kind: "function" name: "test" visibility: "public" @@ -1261,96 +1271,96 @@ SourceUnit #467 isConstructor: false documentation: undefined nameLocation: "693:4:0" - vParameters: ParameterList #304 - vReturnParameters: ParameterList #305 + vParameters: ParameterList #375 + vReturnParameters: ParameterList #376 vModifiers: Array(0) vOverrideSpecifier: undefined - vBody: Block #322 + vBody: Block #393 context: ASTContext #1000 - parent: ContractDefinition #324 - children: Array(3) [ ParameterList #304, ParameterList #305, Block #322 ] - vScope: ContractDefinition #324 + parent: ContractDefinition #395 + children: Array(3) [ ParameterList #375, ParameterList #376, Block #393 ] + vScope: ContractDefinition #395 canonicalSignature: "test()" canonicalSignatureHash: "f8a8fd6d" - firstChild: ParameterList #304 - lastChild: Block #322 + firstChild: ParameterList #375 + lastChild: Block #393 previousSibling: undefined nextSibling: undefined - root: SourceUnit #467 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ParameterList #304 - id: 304 + ParameterList #375 + id: 375 src: "0:0:0" type: "ParameterList" context: ASTContext #1000 - parent: FunctionDefinition #323 + parent: FunctionDefinition #394 vParameters: Array(0) children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined - nextSibling: ParameterList #305 - root: SourceUnit #467 + nextSibling: ParameterList #376 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ParameterList #305 - id: 305 + ParameterList #376 + id: 376 src: "0:0:0" type: "ParameterList" context: ASTContext #1000 - parent: FunctionDefinition #323 + parent: FunctionDefinition #394 vParameters: Array(0) children: Array(0) firstChild: undefined lastChild: undefined - previousSibling: ParameterList #304 - nextSibling: Block #322 - root: SourceUnit #467 + previousSibling: ParameterList #375 + nextSibling: Block #393 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Block #322 - id: 322 + Block #393 + id: 393 src: "0:0:0" type: "Block" documentation: undefined context: ASTContext #1000 - parent: FunctionDefinition #323 - vStatements: Array(2) [ VariableDeclarationStatement #313, VariableDeclarationStatement #321 ] - children: Array(2) [ VariableDeclarationStatement #313, VariableDeclarationStatement #321 ] - firstChild: VariableDeclarationStatement #313 - lastChild: VariableDeclarationStatement #321 - previousSibling: ParameterList #305 + parent: FunctionDefinition #394 + vStatements: Array(2) [ VariableDeclarationStatement #384, VariableDeclarationStatement #392 ] + children: Array(2) [ VariableDeclarationStatement #384, VariableDeclarationStatement #392 ] + firstChild: VariableDeclarationStatement #384 + lastChild: VariableDeclarationStatement #392 + previousSibling: ParameterList #376 nextSibling: undefined - root: SourceUnit #467 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - VariableDeclarationStatement #313 - id: 313 + VariableDeclarationStatement #384 + id: 384 src: "0:0:0" type: "VariableDeclarationStatement" documentation: undefined - assignments: Array(1) [ 307 ] - vDeclarations: Array(1) [ VariableDeclaration #307 ] - vInitialValue: MemberAccess #312 + assignments: Array(1) [ 378 ] + vDeclarations: Array(1) [ VariableDeclaration #378 ] + vInitialValue: MemberAccess #383 context: ASTContext #1000 - parent: Block #322 - children: Array(2) [ VariableDeclaration #307, MemberAccess #312 ] - firstChild: VariableDeclaration #307 - lastChild: MemberAccess #312 + parent: Block #393 + children: Array(2) [ VariableDeclaration #378, MemberAccess #383 ] + firstChild: VariableDeclaration #378 + lastChild: MemberAccess #383 previousSibling: undefined - nextSibling: VariableDeclarationStatement #321 - root: SourceUnit #467 + nextSibling: VariableDeclarationStatement #392 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - VariableDeclaration #307 - id: 307 + VariableDeclaration #378 + id: 378 src: "0:0:0" type: "VariableDeclaration" constant: false indexed: false name: "code" - scope: 322 + scope: 393 stateVariable: false storageLocation: "memory" visibility: "internal" @@ -1358,119 +1368,119 @@ SourceUnit #467 typeString: "bytes" documentation: undefined nameLocation: "730:4:0" - vType: ElementaryTypeName #306 + vType: ElementaryTypeName #377 vOverrideSpecifier: undefined vValue: undefined context: ASTContext #1000 - parent: VariableDeclarationStatement #313 - children: Array(1) [ ElementaryTypeName #306 ] - vScope: Block #322 + parent: VariableDeclarationStatement #384 + children: Array(1) [ ElementaryTypeName #377 ] + vScope: Block #393 canonicalSignatureType: "bytes" getterCanonicalSignature: "code()" getterCanonicalSignatureHash: "24c12bf6" - firstChild: ElementaryTypeName #306 - lastChild: ElementaryTypeName #306 + firstChild: ElementaryTypeName #377 + lastChild: ElementaryTypeName #377 previousSibling: undefined - nextSibling: MemberAccess #312 - root: SourceUnit #467 + nextSibling: MemberAccess #383 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ElementaryTypeName #306 - id: 306 + ElementaryTypeName #377 + id: 377 src: "0:0:0" type: "ElementaryTypeName" typeString: "bytes" name: "bytes" stateMutability: "nonpayable" context: ASTContext #1000 - parent: VariableDeclaration #307 + parent: VariableDeclaration #378 children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined nextSibling: undefined - root: SourceUnit #467 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - MemberAccess #312 - id: 312 + MemberAccess #383 + id: 383 src: "0:0:0" type: "MemberAccess" typeString: "bytes memory" - vExpression: FunctionCall #311 + vExpression: FunctionCall #382 memberName: "code" referencedDeclaration: undefined context: ASTContext #1000 - parent: VariableDeclarationStatement #313 - children: Array(1) [ FunctionCall #311 ] + parent: VariableDeclarationStatement #384 + children: Array(1) [ FunctionCall #382 ] vReferencedDeclaration: undefined - firstChild: FunctionCall #311 - lastChild: FunctionCall #311 - previousSibling: VariableDeclaration #307 + firstChild: FunctionCall #382 + lastChild: FunctionCall #382 + previousSibling: VariableDeclaration #378 nextSibling: undefined - root: SourceUnit #467 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - FunctionCall #311 - id: 311 + FunctionCall #382 + id: 382 src: "0:0:0" type: "FunctionCall" typeString: "address" kind: "typeConversion" fieldNames: undefined - vExpression: ElementaryTypeNameExpression #309 - vArguments: Array(1) [ Literal #310 ] + vExpression: ElementaryTypeNameExpression #380 + vArguments: Array(1) [ Literal #381 ] context: ASTContext #1000 - parent: MemberAccess #312 - children: Array(2) [ ElementaryTypeNameExpression #309, Literal #310 ] + parent: MemberAccess #383 + children: Array(2) [ ElementaryTypeNameExpression #380, Literal #381 ] vIdentifier: "address" vMemberName: undefined vFunctionCallType: "builtin" vReferencedDeclaration: undefined vFunctionName: "address" - vCallee: ElementaryTypeNameExpression #309 - firstChild: ElementaryTypeNameExpression #309 - lastChild: Literal #310 + vCallee: ElementaryTypeNameExpression #380 + firstChild: ElementaryTypeNameExpression #380 + lastChild: Literal #381 previousSibling: undefined nextSibling: undefined - root: SourceUnit #467 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ElementaryTypeNameExpression #309 - id: 309 + ElementaryTypeNameExpression #380 + id: 380 src: "0:0:0" type: "ElementaryTypeNameExpression" typeString: "type(address)" - typeName: ElementaryTypeName #308 + typeName: ElementaryTypeName #379 context: ASTContext #1000 - parent: FunctionCall #311 - children: Array(1) [ ElementaryTypeName #308 ] - firstChild: ElementaryTypeName #308 - lastChild: ElementaryTypeName #308 + parent: FunctionCall #382 + children: Array(1) [ ElementaryTypeName #379 ] + firstChild: ElementaryTypeName #379 + lastChild: ElementaryTypeName #379 previousSibling: undefined - nextSibling: Literal #310 - root: SourceUnit #467 + nextSibling: Literal #381 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ElementaryTypeName #308 - id: 308 + ElementaryTypeName #379 + id: 379 src: "0:0:0" type: "ElementaryTypeName" typeString: undefined name: "address" stateMutability: "nonpayable" context: ASTContext #1000 - parent: ElementaryTypeNameExpression #309 + parent: ElementaryTypeNameExpression #380 children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined nextSibling: undefined - root: SourceUnit #467 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Literal #310 - id: 310 + Literal #381 + id: 381 src: "0:0:0" type: "Literal" typeString: "int_const 0" @@ -1479,41 +1489,41 @@ SourceUnit #467 value: "0" subdenomination: undefined context: ASTContext #1000 - parent: FunctionCall #311 + parent: FunctionCall #382 children: Array(0) firstChild: undefined lastChild: undefined - previousSibling: ElementaryTypeNameExpression #309 + previousSibling: ElementaryTypeNameExpression #380 nextSibling: undefined - root: SourceUnit #467 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - VariableDeclarationStatement #321 - id: 321 + VariableDeclarationStatement #392 + id: 392 src: "0:0:0" type: "VariableDeclarationStatement" documentation: undefined - assignments: Array(1) [ 315 ] - vDeclarations: Array(1) [ VariableDeclaration #315 ] - vInitialValue: MemberAccess #320 + assignments: Array(1) [ 386 ] + vDeclarations: Array(1) [ VariableDeclaration #386 ] + vInitialValue: MemberAccess #391 context: ASTContext #1000 - parent: Block #322 - children: Array(2) [ VariableDeclaration #315, MemberAccess #320 ] - firstChild: VariableDeclaration #315 - lastChild: MemberAccess #320 - previousSibling: VariableDeclarationStatement #313 + parent: Block #393 + children: Array(2) [ VariableDeclaration #386, MemberAccess #391 ] + firstChild: VariableDeclaration #386 + lastChild: MemberAccess #391 + previousSibling: VariableDeclarationStatement #384 nextSibling: undefined - root: SourceUnit #467 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - VariableDeclaration #315 - id: 315 + VariableDeclaration #386 + id: 386 src: "0:0:0" type: "VariableDeclaration" constant: false indexed: false name: "codeHash" - scope: 322 + scope: 393 stateVariable: false storageLocation: "default" visibility: "internal" @@ -1521,119 +1531,119 @@ SourceUnit #467 typeString: "bytes32" documentation: undefined nameLocation: "770:8:0" - vType: ElementaryTypeName #314 + vType: ElementaryTypeName #385 vOverrideSpecifier: undefined vValue: undefined context: ASTContext #1000 - parent: VariableDeclarationStatement #321 - children: Array(1) [ ElementaryTypeName #314 ] - vScope: Block #322 + parent: VariableDeclarationStatement #392 + children: Array(1) [ ElementaryTypeName #385 ] + vScope: Block #393 canonicalSignatureType: "bytes32" getterCanonicalSignature: "codeHash()" getterCanonicalSignatureHash: "18edaaf2" - firstChild: ElementaryTypeName #314 - lastChild: ElementaryTypeName #314 + firstChild: ElementaryTypeName #385 + lastChild: ElementaryTypeName #385 previousSibling: undefined - nextSibling: MemberAccess #320 - root: SourceUnit #467 + nextSibling: MemberAccess #391 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ElementaryTypeName #314 - id: 314 + ElementaryTypeName #385 + id: 385 src: "0:0:0" type: "ElementaryTypeName" typeString: "bytes32" name: "bytes32" stateMutability: "nonpayable" context: ASTContext #1000 - parent: VariableDeclaration #315 + parent: VariableDeclaration #386 children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined nextSibling: undefined - root: SourceUnit #467 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - MemberAccess #320 - id: 320 + MemberAccess #391 + id: 391 src: "0:0:0" type: "MemberAccess" typeString: "bytes32" - vExpression: FunctionCall #319 + vExpression: FunctionCall #390 memberName: "codehash" referencedDeclaration: undefined context: ASTContext #1000 - parent: VariableDeclarationStatement #321 - children: Array(1) [ FunctionCall #319 ] + parent: VariableDeclarationStatement #392 + children: Array(1) [ FunctionCall #390 ] vReferencedDeclaration: undefined - firstChild: FunctionCall #319 - lastChild: FunctionCall #319 - previousSibling: VariableDeclaration #315 + firstChild: FunctionCall #390 + lastChild: FunctionCall #390 + previousSibling: VariableDeclaration #386 nextSibling: undefined - root: SourceUnit #467 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - FunctionCall #319 - id: 319 + FunctionCall #390 + id: 390 src: "0:0:0" type: "FunctionCall" typeString: "address" kind: "typeConversion" fieldNames: undefined - vExpression: ElementaryTypeNameExpression #317 - vArguments: Array(1) [ Literal #318 ] + vExpression: ElementaryTypeNameExpression #388 + vArguments: Array(1) [ Literal #389 ] context: ASTContext #1000 - parent: MemberAccess #320 - children: Array(2) [ ElementaryTypeNameExpression #317, Literal #318 ] + parent: MemberAccess #391 + children: Array(2) [ ElementaryTypeNameExpression #388, Literal #389 ] vIdentifier: "address" vMemberName: undefined vFunctionCallType: "builtin" vReferencedDeclaration: undefined vFunctionName: "address" - vCallee: ElementaryTypeNameExpression #317 - firstChild: ElementaryTypeNameExpression #317 - lastChild: Literal #318 + vCallee: ElementaryTypeNameExpression #388 + firstChild: ElementaryTypeNameExpression #388 + lastChild: Literal #389 previousSibling: undefined nextSibling: undefined - root: SourceUnit #467 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ElementaryTypeNameExpression #317 - id: 317 + ElementaryTypeNameExpression #388 + id: 388 src: "0:0:0" type: "ElementaryTypeNameExpression" typeString: "type(address)" - typeName: ElementaryTypeName #316 + typeName: ElementaryTypeName #387 context: ASTContext #1000 - parent: FunctionCall #319 - children: Array(1) [ ElementaryTypeName #316 ] - firstChild: ElementaryTypeName #316 - lastChild: ElementaryTypeName #316 + parent: FunctionCall #390 + children: Array(1) [ ElementaryTypeName #387 ] + firstChild: ElementaryTypeName #387 + lastChild: ElementaryTypeName #387 previousSibling: undefined - nextSibling: Literal #318 - root: SourceUnit #467 + nextSibling: Literal #389 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ElementaryTypeName #316 - id: 316 + ElementaryTypeName #387 + id: 387 src: "0:0:0" type: "ElementaryTypeName" typeString: undefined name: "address" stateMutability: "nonpayable" context: ASTContext #1000 - parent: ElementaryTypeNameExpression #317 + parent: ElementaryTypeNameExpression #388 children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined nextSibling: undefined - root: SourceUnit #467 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Literal #318 - id: 318 + Literal #389 + id: 389 src: "0:0:0" type: "Literal" typeString: "int_const 0" @@ -1642,57 +1652,60 @@ SourceUnit #467 value: "0" subdenomination: undefined context: ASTContext #1000 - parent: FunctionCall #319 + parent: FunctionCall #390 children: Array(0) firstChild: undefined lastChild: undefined - previousSibling: ElementaryTypeNameExpression #317 + previousSibling: ElementaryTypeNameExpression #388 nextSibling: undefined - root: SourceUnit #467 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ContractDefinition #381 - id: 381 + ContractDefinition #452 + id: 452 src: "0:0:0" type: "ContractDefinition" name: "CatchPanic" - scope: 467 + scope: 607 kind: "contract" abstract: false fullyImplemented: true - linearizedBaseContracts: Array(1) [ 381 ] + linearizedBaseContracts: Array(1) [ 452 ] + usedErrors: Array(0) docString: undefined nameLocation: "820:10:0" context: ASTContext #1000 - parent: SourceUnit #467 + parent: SourceUnit #607 documentation: undefined - vScope: SourceUnit #467 - vLinearizedBaseContracts: Array(1) [ ContractDefinition #381 ] + vScope: SourceUnit #607 + vLinearizedBaseContracts: Array(1) [ ContractDefinition #452 ] + vUsedErrors: Array(0) vInheritanceSpecifiers: Array(0) vStateVariables: Array(0) vModifiers: Array(0) vEvents: Array(0) - vFunctions: Array(1) [ FunctionDefinition #380 ] + vErrors: Array(0) + vFunctions: Array(1) [ FunctionDefinition #451 ] vUsingForDirectives: Array(0) vStructs: Array(0) vEnums: Array(0) vConstructor: undefined interfaceId: undefined - children: Array(1) [ FunctionDefinition #380 ] - firstChild: FunctionDefinition #380 - lastChild: FunctionDefinition #380 - previousSibling: ContractDefinition #324 - nextSibling: ContractDefinition #466 - root: SourceUnit #467 + children: Array(1) [ FunctionDefinition #451 ] + firstChild: FunctionDefinition #451 + lastChild: FunctionDefinition #451 + previousSibling: ContractDefinition #395 + nextSibling: ContractDefinition #537 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - FunctionDefinition #380 - id: 380 + FunctionDefinition #451 + id: 451 src: "0:0:0" type: "FunctionDefinition" implemented: true virtual: false - scope: 381 + scope: 452 kind: "function" name: "test" visibility: "public" @@ -1700,96 +1713,96 @@ SourceUnit #467 isConstructor: false documentation: undefined nameLocation: "846:4:0" - vParameters: ParameterList #325 - vReturnParameters: ParameterList #326 + vParameters: ParameterList #396 + vReturnParameters: ParameterList #397 vModifiers: Array(0) vOverrideSpecifier: undefined - vBody: Block #379 + vBody: Block #450 context: ASTContext #1000 - parent: ContractDefinition #381 - children: Array(3) [ ParameterList #325, ParameterList #326, Block #379 ] - vScope: ContractDefinition #381 + parent: ContractDefinition #452 + children: Array(3) [ ParameterList #396, ParameterList #397, Block #450 ] + vScope: ContractDefinition #452 canonicalSignature: "test()" canonicalSignatureHash: "f8a8fd6d" - firstChild: ParameterList #325 - lastChild: Block #379 + firstChild: ParameterList #396 + lastChild: Block #450 previousSibling: undefined nextSibling: undefined - root: SourceUnit #467 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ParameterList #325 - id: 325 + ParameterList #396 + id: 396 src: "0:0:0" type: "ParameterList" context: ASTContext #1000 - parent: FunctionDefinition #380 + parent: FunctionDefinition #451 vParameters: Array(0) children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined - nextSibling: ParameterList #326 - root: SourceUnit #467 + nextSibling: ParameterList #397 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ParameterList #326 - id: 326 + ParameterList #397 + id: 397 src: "0:0:0" type: "ParameterList" context: ASTContext #1000 - parent: FunctionDefinition #380 + parent: FunctionDefinition #451 vParameters: Array(0) children: Array(0) firstChild: undefined lastChild: undefined - previousSibling: ParameterList #325 - nextSibling: Block #379 - root: SourceUnit #467 + previousSibling: ParameterList #396 + nextSibling: Block #450 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Block #379 - id: 379 + Block #450 + id: 450 src: "0:0:0" type: "Block" documentation: undefined context: ASTContext #1000 - parent: FunctionDefinition #380 - vStatements: Array(2) [ VariableDeclarationStatement #334, TryStatement #378 ] - children: Array(2) [ VariableDeclarationStatement #334, TryStatement #378 ] - firstChild: VariableDeclarationStatement #334 - lastChild: TryStatement #378 - previousSibling: ParameterList #326 + parent: FunctionDefinition #451 + vStatements: Array(2) [ VariableDeclarationStatement #405, TryStatement #449 ] + children: Array(2) [ VariableDeclarationStatement #405, TryStatement #449 ] + firstChild: VariableDeclarationStatement #405 + lastChild: TryStatement #449 + previousSibling: ParameterList #397 nextSibling: undefined - root: SourceUnit #467 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - VariableDeclarationStatement #334 - id: 334 + VariableDeclarationStatement #405 + id: 405 src: "0:0:0" type: "VariableDeclarationStatement" documentation: undefined - assignments: Array(1) [ 329 ] - vDeclarations: Array(1) [ VariableDeclaration #329 ] - vInitialValue: FunctionCall #333 + assignments: Array(1) [ 400 ] + vDeclarations: Array(1) [ VariableDeclaration #400 ] + vInitialValue: FunctionCall #404 context: ASTContext #1000 - parent: Block #379 - children: Array(2) [ VariableDeclaration #329, FunctionCall #333 ] - firstChild: VariableDeclaration #329 - lastChild: FunctionCall #333 + parent: Block #450 + children: Array(2) [ VariableDeclaration #400, FunctionCall #404 ] + firstChild: VariableDeclaration #400 + lastChild: FunctionCall #404 previousSibling: undefined - nextSibling: TryStatement #378 - root: SourceUnit #467 + nextSibling: TryStatement #449 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - VariableDeclaration #329 - id: 329 + VariableDeclaration #400 + id: 400 src: "0:0:0" type: "VariableDeclaration" constant: false indexed: false name: "c" - scope: 379 + scope: 450 stateVariable: false storageLocation: "default" visibility: "internal" @@ -1797,291 +1810,291 @@ SourceUnit #467 typeString: "contract UsesNewAddressMembers" documentation: undefined nameLocation: "892:1:0" - vType: UserDefinedTypeName #328 + vType: UserDefinedTypeName #399 vOverrideSpecifier: undefined vValue: undefined context: ASTContext #1000 - parent: VariableDeclarationStatement #334 - children: Array(1) [ UserDefinedTypeName #328 ] - vScope: Block #379 + parent: VariableDeclarationStatement #405 + children: Array(1) [ UserDefinedTypeName #399 ] + vScope: Block #450 canonicalSignatureType: "address" getterCanonicalSignature: "c()" getterCanonicalSignatureHash: "c3da42b8" - firstChild: UserDefinedTypeName #328 - lastChild: UserDefinedTypeName #328 + firstChild: UserDefinedTypeName #399 + lastChild: UserDefinedTypeName #399 previousSibling: undefined - nextSibling: FunctionCall #333 - root: SourceUnit #467 + nextSibling: FunctionCall #404 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - UserDefinedTypeName #328 - id: 328 + UserDefinedTypeName #399 + id: 399 src: "0:0:0" type: "UserDefinedTypeName" typeString: "contract UsesNewAddressMembers" name: undefined - referencedDeclaration: 324 - path: IdentifierPath #327 + referencedDeclaration: 395 + path: IdentifierPath #398 context: ASTContext #1000 - parent: VariableDeclaration #329 - children: Array(1) [ IdentifierPath #327 ] - vReferencedDeclaration: ContractDefinition #324 - firstChild: IdentifierPath #327 - lastChild: IdentifierPath #327 + parent: VariableDeclaration #400 + children: Array(1) [ IdentifierPath #398 ] + vReferencedDeclaration: ContractDefinition #395 + firstChild: IdentifierPath #398 + lastChild: IdentifierPath #398 previousSibling: undefined nextSibling: undefined - root: SourceUnit #467 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - IdentifierPath #327 - id: 327 + IdentifierPath #398 + id: 398 src: "0:0:0" type: "IdentifierPath" name: "UsesNewAddressMembers" referencedDeclaration: 84 context: ASTContext #1000 - parent: UserDefinedTypeName #328 + parent: UserDefinedTypeName #399 vReferencedDeclaration: ContractDefinition #84 children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined nextSibling: undefined - root: SourceUnit #467 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - FunctionCall #333 - id: 333 + FunctionCall #404 + id: 404 src: "0:0:0" type: "FunctionCall" typeString: "contract UsesNewAddressMembers" kind: "functionCall" fieldNames: undefined - vExpression: NewExpression #332 + vExpression: NewExpression #403 vArguments: Array(0) context: ASTContext #1000 - parent: VariableDeclarationStatement #334 - children: Array(1) [ NewExpression #332 ] + parent: VariableDeclarationStatement #405 + children: Array(1) [ NewExpression #403 ] vIdentifier: "new" vMemberName: undefined vFunctionCallType: "builtin" vReferencedDeclaration: undefined vFunctionName: "new" - vCallee: NewExpression #332 - firstChild: NewExpression #332 - lastChild: NewExpression #332 - previousSibling: VariableDeclaration #329 + vCallee: NewExpression #403 + firstChild: NewExpression #403 + lastChild: NewExpression #403 + previousSibling: VariableDeclaration #400 nextSibling: undefined - root: SourceUnit #467 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - NewExpression #332 - id: 332 + NewExpression #403 + id: 403 src: "0:0:0" type: "NewExpression" typeString: "function () returns (contract UsesNewAddressMembers)" - vTypeName: UserDefinedTypeName #331 + vTypeName: UserDefinedTypeName #402 context: ASTContext #1000 - parent: FunctionCall #333 - children: Array(1) [ UserDefinedTypeName #331 ] - firstChild: UserDefinedTypeName #331 - lastChild: UserDefinedTypeName #331 + parent: FunctionCall #404 + children: Array(1) [ UserDefinedTypeName #402 ] + firstChild: UserDefinedTypeName #402 + lastChild: UserDefinedTypeName #402 previousSibling: undefined nextSibling: undefined - root: SourceUnit #467 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - UserDefinedTypeName #331 - id: 331 + UserDefinedTypeName #402 + id: 402 src: "0:0:0" type: "UserDefinedTypeName" typeString: "contract UsesNewAddressMembers" name: undefined - referencedDeclaration: 324 - path: IdentifierPath #330 + referencedDeclaration: 395 + path: IdentifierPath #401 context: ASTContext #1000 - parent: NewExpression #332 - children: Array(1) [ IdentifierPath #330 ] - vReferencedDeclaration: ContractDefinition #324 - firstChild: IdentifierPath #330 - lastChild: IdentifierPath #330 + parent: NewExpression #403 + children: Array(1) [ IdentifierPath #401 ] + vReferencedDeclaration: ContractDefinition #395 + firstChild: IdentifierPath #401 + lastChild: IdentifierPath #401 previousSibling: undefined nextSibling: undefined - root: SourceUnit #467 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - IdentifierPath #330 - id: 330 + IdentifierPath #401 + id: 401 src: "0:0:0" type: "IdentifierPath" name: "UsesNewAddressMembers" referencedDeclaration: 84 context: ASTContext #1000 - parent: UserDefinedTypeName #331 + parent: UserDefinedTypeName #402 vReferencedDeclaration: ContractDefinition #84 children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined nextSibling: undefined - root: SourceUnit #467 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - TryStatement #378 - id: 378 + TryStatement #449 + id: 449 src: "0:0:0" type: "TryStatement" documentation: undefined - vExternalCall: FunctionCall #337 - vClauses: Array(4) [ TryCatchClause #339, TryCatchClause #348, TryCatchClause #371, TryCatchClause #377 ] + vExternalCall: FunctionCall #408 + vClauses: Array(4) [ TryCatchClause #410, TryCatchClause #419, TryCatchClause #442, TryCatchClause #448 ] context: ASTContext #1000 - parent: Block #379 - children: Array(5) [ FunctionCall #337, TryCatchClause #339, TryCatchClause #348, TryCatchClause #371, TryCatchClause #377 ] - firstChild: FunctionCall #337 - lastChild: TryCatchClause #377 - previousSibling: VariableDeclarationStatement #334 + parent: Block #450 + children: Array(5) [ FunctionCall #408, TryCatchClause #410, TryCatchClause #419, TryCatchClause #442, TryCatchClause #448 ] + firstChild: FunctionCall #408 + lastChild: TryCatchClause #448 + previousSibling: VariableDeclarationStatement #405 nextSibling: undefined - root: SourceUnit #467 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - FunctionCall #337 - id: 337 + FunctionCall #408 + id: 408 src: "0:0:0" type: "FunctionCall" typeString: "tuple()" kind: "functionCall" fieldNames: undefined - vExpression: MemberAccess #336 + vExpression: MemberAccess #407 vArguments: Array(0) context: ASTContext #1000 - parent: TryStatement #378 - children: Array(1) [ MemberAccess #336 ] + parent: TryStatement #449 + children: Array(1) [ MemberAccess #407 ] vIdentifier: "c" vMemberName: "test" vFunctionCallType: "userDefined" - vReferencedDeclaration: FunctionDefinition #323 + vReferencedDeclaration: FunctionDefinition #394 vFunctionName: "test" - vCallee: MemberAccess #336 - firstChild: MemberAccess #336 - lastChild: MemberAccess #336 + vCallee: MemberAccess #407 + firstChild: MemberAccess #407 + lastChild: MemberAccess #407 previousSibling: undefined - nextSibling: TryCatchClause #339 - root: SourceUnit #467 + nextSibling: TryCatchClause #410 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - MemberAccess #336 - id: 336 + MemberAccess #407 + id: 407 src: "0:0:0" type: "MemberAccess" typeString: "function () external" - vExpression: Identifier #335 + vExpression: Identifier #406 memberName: "test" - referencedDeclaration: 323 + referencedDeclaration: 394 context: ASTContext #1000 - parent: FunctionCall #337 - children: Array(1) [ Identifier #335 ] - vReferencedDeclaration: FunctionDefinition #323 - firstChild: Identifier #335 - lastChild: Identifier #335 + parent: FunctionCall #408 + children: Array(1) [ Identifier #406 ] + vReferencedDeclaration: FunctionDefinition #394 + firstChild: Identifier #406 + lastChild: Identifier #406 previousSibling: undefined nextSibling: undefined - root: SourceUnit #467 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Identifier #335 - id: 335 + Identifier #406 + id: 406 src: "0:0:0" type: "Identifier" typeString: "contract UsesNewAddressMembers" name: "c" - referencedDeclaration: 329 + referencedDeclaration: 400 context: ASTContext #1000 - parent: MemberAccess #336 - vReferencedDeclaration: VariableDeclaration #329 + parent: MemberAccess #407 + vReferencedDeclaration: VariableDeclaration #400 vIdentifierType: "userDefined" children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined nextSibling: undefined - root: SourceUnit #467 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - TryCatchClause #339 - id: 339 + TryCatchClause #410 + id: 410 src: "0:0:0" type: "TryCatchClause" documentation: undefined errorName: "" vParameters: undefined - vBlock: Block #338 + vBlock: Block #409 context: ASTContext #1000 - parent: TryStatement #378 - children: Array(1) [ Block #338 ] - firstChild: Block #338 - lastChild: Block #338 - previousSibling: FunctionCall #337 - nextSibling: TryCatchClause #348 - root: SourceUnit #467 + parent: TryStatement #449 + children: Array(1) [ Block #409 ] + firstChild: Block #409 + lastChild: Block #409 + previousSibling: FunctionCall #408 + nextSibling: TryCatchClause #419 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Block #338 - id: 338 + Block #409 + id: 409 src: "0:0:0" type: "Block" documentation: undefined context: ASTContext #1000 - parent: TryCatchClause #339 + parent: TryCatchClause #410 vStatements: Array(0) children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined nextSibling: undefined - root: SourceUnit #467 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - TryCatchClause #348 - id: 348 + TryCatchClause #419 + id: 419 src: "0:0:0" type: "TryCatchClause" documentation: undefined errorName: "Error" - vParameters: ParameterList #347 - vBlock: Block #344 + vParameters: ParameterList #418 + vBlock: Block #415 context: ASTContext #1000 - parent: TryStatement #378 - children: Array(2) [ ParameterList #347, Block #344 ] - firstChild: ParameterList #347 - lastChild: Block #344 - previousSibling: TryCatchClause #339 - nextSibling: TryCatchClause #371 - root: SourceUnit #467 + parent: TryStatement #449 + children: Array(2) [ ParameterList #418, Block #415 ] + firstChild: ParameterList #418 + lastChild: Block #415 + previousSibling: TryCatchClause #410 + nextSibling: TryCatchClause #442 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ParameterList #347 - id: 347 + ParameterList #418 + id: 418 src: "0:0:0" type: "ParameterList" context: ASTContext #1000 - parent: TryCatchClause #348 - vParameters: Array(1) [ VariableDeclaration #346 ] - children: Array(1) [ VariableDeclaration #346 ] - firstChild: VariableDeclaration #346 - lastChild: VariableDeclaration #346 + parent: TryCatchClause #419 + vParameters: Array(1) [ VariableDeclaration #417 ] + children: Array(1) [ VariableDeclaration #417 ] + firstChild: VariableDeclaration #417 + lastChild: VariableDeclaration #417 previousSibling: undefined - nextSibling: Block #344 - root: SourceUnit #467 + nextSibling: Block #415 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - VariableDeclaration #346 - id: 346 + VariableDeclaration #417 + id: 417 src: "0:0:0" type: "VariableDeclaration" constant: false indexed: false name: "reason" - scope: 348 + scope: 419 stateVariable: false storageLocation: "memory" visibility: "internal" @@ -2089,176 +2102,176 @@ SourceUnit #467 typeString: "string" documentation: undefined nameLocation: "998:6:0" - vType: ElementaryTypeName #345 + vType: ElementaryTypeName #416 vOverrideSpecifier: undefined vValue: undefined context: ASTContext #1000 - parent: ParameterList #347 - children: Array(1) [ ElementaryTypeName #345 ] - vScope: TryCatchClause #348 + parent: ParameterList #418 + children: Array(1) [ ElementaryTypeName #416 ] + vScope: TryCatchClause #419 canonicalSignatureType: "string" getterCanonicalSignature: "reason()" getterCanonicalSignatureHash: "e134e33d" - firstChild: ElementaryTypeName #345 - lastChild: ElementaryTypeName #345 + firstChild: ElementaryTypeName #416 + lastChild: ElementaryTypeName #416 previousSibling: undefined nextSibling: undefined - root: SourceUnit #467 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ElementaryTypeName #345 - id: 345 + ElementaryTypeName #416 + id: 416 src: "0:0:0" type: "ElementaryTypeName" typeString: "string" name: "string" stateMutability: "nonpayable" context: ASTContext #1000 - parent: VariableDeclaration #346 + parent: VariableDeclaration #417 children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined nextSibling: undefined - root: SourceUnit #467 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Block #344 - id: 344 + Block #415 + id: 415 src: "0:0:0" type: "Block" documentation: undefined context: ASTContext #1000 - parent: TryCatchClause #348 - vStatements: Array(1) [ ExpressionStatement #343 ] - children: Array(1) [ ExpressionStatement #343 ] - firstChild: ExpressionStatement #343 - lastChild: ExpressionStatement #343 - previousSibling: ParameterList #347 + parent: TryCatchClause #419 + vStatements: Array(1) [ ExpressionStatement #414 ] + children: Array(1) [ ExpressionStatement #414 ] + firstChild: ExpressionStatement #414 + lastChild: ExpressionStatement #414 + previousSibling: ParameterList #418 nextSibling: undefined - root: SourceUnit #467 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ExpressionStatement #343 - id: 343 + ExpressionStatement #414 + id: 414 src: "0:0:0" type: "ExpressionStatement" documentation: undefined - vExpression: FunctionCall #342 + vExpression: FunctionCall #413 context: ASTContext #1000 - parent: Block #344 - children: Array(1) [ FunctionCall #342 ] - firstChild: FunctionCall #342 - lastChild: FunctionCall #342 + parent: Block #415 + children: Array(1) [ FunctionCall #413 ] + firstChild: FunctionCall #413 + lastChild: FunctionCall #413 previousSibling: undefined nextSibling: undefined - root: SourceUnit #467 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - FunctionCall #342 - id: 342 + FunctionCall #413 + id: 413 src: "0:0:0" type: "FunctionCall" typeString: "tuple()" kind: "functionCall" fieldNames: undefined - vExpression: Identifier #340 - vArguments: Array(1) [ Identifier #341 ] + vExpression: Identifier #411 + vArguments: Array(1) [ Identifier #412 ] context: ASTContext #1000 - parent: ExpressionStatement #343 - children: Array(2) [ Identifier #340, Identifier #341 ] + parent: ExpressionStatement #414 + children: Array(2) [ Identifier #411, Identifier #412 ] vIdentifier: "revert" vMemberName: undefined vFunctionCallType: "builtin" vReferencedDeclaration: undefined vFunctionName: "revert" - vCallee: Identifier #340 - firstChild: Identifier #340 - lastChild: Identifier #341 + vCallee: Identifier #411 + firstChild: Identifier #411 + lastChild: Identifier #412 previousSibling: undefined nextSibling: undefined - root: SourceUnit #467 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Identifier #340 - id: 340 + Identifier #411 + id: 411 src: "0:0:0" type: "Identifier" typeString: "function (string memory) pure" name: "revert" referencedDeclaration: -1 context: ASTContext #1000 - parent: FunctionCall #342 + parent: FunctionCall #413 vReferencedDeclaration: undefined vIdentifierType: "builtin" children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined - nextSibling: Identifier #341 - root: SourceUnit #467 + nextSibling: Identifier #412 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Identifier #341 - id: 341 + Identifier #412 + id: 412 src: "0:0:0" type: "Identifier" typeString: "string memory" name: "reason" - referencedDeclaration: 346 + referencedDeclaration: 417 context: ASTContext #1000 - parent: FunctionCall #342 - vReferencedDeclaration: VariableDeclaration #346 + parent: FunctionCall #413 + vReferencedDeclaration: VariableDeclaration #417 vIdentifierType: "userDefined" children: Array(0) firstChild: undefined lastChild: undefined - previousSibling: Identifier #340 + previousSibling: Identifier #411 nextSibling: undefined - root: SourceUnit #467 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - TryCatchClause #371 - id: 371 + TryCatchClause #442 + id: 442 src: "0:0:0" type: "TryCatchClause" documentation: undefined errorName: "Panic" - vParameters: ParameterList #370 - vBlock: Block #367 + vParameters: ParameterList #441 + vBlock: Block #438 context: ASTContext #1000 - parent: TryStatement #378 - children: Array(2) [ ParameterList #370, Block #367 ] - firstChild: ParameterList #370 - lastChild: Block #367 - previousSibling: TryCatchClause #348 - nextSibling: TryCatchClause #377 - root: SourceUnit #467 + parent: TryStatement #449 + children: Array(2) [ ParameterList #441, Block #438 ] + firstChild: ParameterList #441 + lastChild: Block #438 + previousSibling: TryCatchClause #419 + nextSibling: TryCatchClause #448 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ParameterList #370 - id: 370 + ParameterList #441 + id: 441 src: "0:0:0" type: "ParameterList" context: ASTContext #1000 - parent: TryCatchClause #371 - vParameters: Array(1) [ VariableDeclaration #369 ] - children: Array(1) [ VariableDeclaration #369 ] - firstChild: VariableDeclaration #369 - lastChild: VariableDeclaration #369 + parent: TryCatchClause #442 + vParameters: Array(1) [ VariableDeclaration #440 ] + children: Array(1) [ VariableDeclaration #440 ] + firstChild: VariableDeclaration #440 + lastChild: VariableDeclaration #440 previousSibling: undefined - nextSibling: Block #367 - root: SourceUnit #467 + nextSibling: Block #438 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - VariableDeclaration #369 - id: 369 + VariableDeclaration #440 + id: 440 src: "0:0:0" type: "VariableDeclaration" constant: false indexed: false name: "_code" - scope: 371 + scope: 442 stateVariable: false storageLocation: "default" visibility: "internal" @@ -2266,113 +2279,113 @@ SourceUnit #467 typeString: "uint256" documentation: undefined nameLocation: "1063:5:0" - vType: ElementaryTypeName #368 + vType: ElementaryTypeName #439 vOverrideSpecifier: undefined vValue: undefined context: ASTContext #1000 - parent: ParameterList #370 - children: Array(1) [ ElementaryTypeName #368 ] - vScope: TryCatchClause #371 + parent: ParameterList #441 + children: Array(1) [ ElementaryTypeName #439 ] + vScope: TryCatchClause #442 canonicalSignatureType: "uint256" getterCanonicalSignature: "_code()" getterCanonicalSignatureHash: "8d1841e3" - firstChild: ElementaryTypeName #368 - lastChild: ElementaryTypeName #368 + firstChild: ElementaryTypeName #439 + lastChild: ElementaryTypeName #439 previousSibling: undefined nextSibling: undefined - root: SourceUnit #467 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ElementaryTypeName #368 - id: 368 + ElementaryTypeName #439 + id: 439 src: "0:0:0" type: "ElementaryTypeName" typeString: "uint256" name: "uint" stateMutability: "nonpayable" context: ASTContext #1000 - parent: VariableDeclaration #369 + parent: VariableDeclaration #440 children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined nextSibling: undefined - root: SourceUnit #467 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Block #367 - id: 367 + Block #438 + id: 438 src: "0:0:0" type: "Block" documentation: undefined context: ASTContext #1000 - parent: TryCatchClause #371 - vStatements: Array(1) [ IfStatement #366 ] - children: Array(1) [ IfStatement #366 ] - firstChild: IfStatement #366 - lastChild: IfStatement #366 - previousSibling: ParameterList #370 + parent: TryCatchClause #442 + vStatements: Array(1) [ IfStatement #437 ] + children: Array(1) [ IfStatement #437 ] + firstChild: IfStatement #437 + lastChild: IfStatement #437 + previousSibling: ParameterList #441 nextSibling: undefined - root: SourceUnit #467 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - IfStatement #366 - id: 366 + IfStatement #437 + id: 437 src: "0:0:0" type: "IfStatement" documentation: undefined - vCondition: BinaryOperation #351 - vTrueBody: Block #356 - vFalseBody: IfStatement #365 + vCondition: BinaryOperation #422 + vTrueBody: Block #427 + vFalseBody: IfStatement #436 context: ASTContext #1000 - parent: Block #367 - children: Array(3) [ BinaryOperation #351, Block #356, IfStatement #365 ] - firstChild: BinaryOperation #351 - lastChild: IfStatement #365 + parent: Block #438 + children: Array(3) [ BinaryOperation #422, Block #427, IfStatement #436 ] + firstChild: BinaryOperation #422 + lastChild: IfStatement #436 previousSibling: undefined nextSibling: undefined - root: SourceUnit #467 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - BinaryOperation #351 - id: 351 + BinaryOperation #422 + id: 422 src: "0:0:0" type: "BinaryOperation" typeString: "bool" operator: "==" - vLeftExpression: Identifier #349 - vRightExpression: Literal #350 + vLeftExpression: Identifier #420 + vRightExpression: Literal #421 context: ASTContext #1000 - parent: IfStatement #366 - children: Array(2) [ Identifier #349, Literal #350 ] - firstChild: Identifier #349 - lastChild: Literal #350 + parent: IfStatement #437 + children: Array(2) [ Identifier #420, Literal #421 ] + firstChild: Identifier #420 + lastChild: Literal #421 previousSibling: undefined - nextSibling: Block #356 - root: SourceUnit #467 + nextSibling: Block #427 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Identifier #349 - id: 349 + Identifier #420 + id: 420 src: "0:0:0" type: "Identifier" typeString: "uint256" name: "_code" - referencedDeclaration: 369 + referencedDeclaration: 440 context: ASTContext #1000 - parent: BinaryOperation #351 - vReferencedDeclaration: VariableDeclaration #369 + parent: BinaryOperation #422 + vReferencedDeclaration: VariableDeclaration #440 vIdentifierType: "userDefined" children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined - nextSibling: Literal #350 - root: SourceUnit #467 + nextSibling: Literal #421 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Literal #350 - id: 350 + Literal #421 + id: 421 src: "0:0:0" type: "Literal" typeString: "int_const 1" @@ -2381,93 +2394,93 @@ SourceUnit #467 value: "0x01" subdenomination: undefined context: ASTContext #1000 - parent: BinaryOperation #351 + parent: BinaryOperation #422 children: Array(0) firstChild: undefined lastChild: undefined - previousSibling: Identifier #349 + previousSibling: Identifier #420 nextSibling: undefined - root: SourceUnit #467 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Block #356 - id: 356 + Block #427 + id: 427 src: "0:0:0" type: "Block" documentation: undefined context: ASTContext #1000 - parent: IfStatement #366 - vStatements: Array(1) [ ExpressionStatement #355 ] - children: Array(1) [ ExpressionStatement #355 ] - firstChild: ExpressionStatement #355 - lastChild: ExpressionStatement #355 - previousSibling: BinaryOperation #351 - nextSibling: IfStatement #365 - root: SourceUnit #467 + parent: IfStatement #437 + vStatements: Array(1) [ ExpressionStatement #426 ] + children: Array(1) [ ExpressionStatement #426 ] + firstChild: ExpressionStatement #426 + lastChild: ExpressionStatement #426 + previousSibling: BinaryOperation #422 + nextSibling: IfStatement #436 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ExpressionStatement #355 - id: 355 + ExpressionStatement #426 + id: 426 src: "0:0:0" type: "ExpressionStatement" documentation: undefined - vExpression: FunctionCall #354 + vExpression: FunctionCall #425 context: ASTContext #1000 - parent: Block #356 - children: Array(1) [ FunctionCall #354 ] - firstChild: FunctionCall #354 - lastChild: FunctionCall #354 + parent: Block #427 + children: Array(1) [ FunctionCall #425 ] + firstChild: FunctionCall #425 + lastChild: FunctionCall #425 previousSibling: undefined nextSibling: undefined - root: SourceUnit #467 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - FunctionCall #354 - id: 354 + FunctionCall #425 + id: 425 src: "0:0:0" type: "FunctionCall" typeString: "tuple()" kind: "functionCall" fieldNames: undefined - vExpression: Identifier #352 - vArguments: Array(1) [ Literal #353 ] + vExpression: Identifier #423 + vArguments: Array(1) [ Literal #424 ] context: ASTContext #1000 - parent: ExpressionStatement #355 - children: Array(2) [ Identifier #352, Literal #353 ] + parent: ExpressionStatement #426 + children: Array(2) [ Identifier #423, Literal #424 ] vIdentifier: "revert" vMemberName: undefined vFunctionCallType: "builtin" vReferencedDeclaration: undefined vFunctionName: "revert" - vCallee: Identifier #352 - firstChild: Identifier #352 - lastChild: Literal #353 + vCallee: Identifier #423 + firstChild: Identifier #423 + lastChild: Literal #424 previousSibling: undefined nextSibling: undefined - root: SourceUnit #467 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Identifier #352 - id: 352 + Identifier #423 + id: 423 src: "0:0:0" type: "Identifier" typeString: "function (string memory) pure" name: "revert" referencedDeclaration: -1 context: ASTContext #1000 - parent: FunctionCall #354 + parent: FunctionCall #425 vReferencedDeclaration: undefined vIdentifierType: "builtin" children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined - nextSibling: Literal #353 - root: SourceUnit #467 + nextSibling: Literal #424 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Literal #353 - id: 353 + Literal #424 + id: 424 src: "0:0:0" type: "Literal" typeString: "literal_string \"Assertion failed\"" @@ -2476,72 +2489,72 @@ SourceUnit #467 value: "Assertion failed" subdenomination: undefined context: ASTContext #1000 - parent: FunctionCall #354 + parent: FunctionCall #425 children: Array(0) firstChild: undefined lastChild: undefined - previousSibling: Identifier #352 + previousSibling: Identifier #423 nextSibling: undefined - root: SourceUnit #467 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - IfStatement #365 - id: 365 + IfStatement #436 + id: 436 src: "0:0:0" type: "IfStatement" documentation: undefined - vCondition: BinaryOperation #359 - vTrueBody: Block #364 + vCondition: BinaryOperation #430 + vTrueBody: Block #435 vFalseBody: undefined context: ASTContext #1000 - parent: IfStatement #366 - children: Array(2) [ BinaryOperation #359, Block #364 ] - firstChild: BinaryOperation #359 - lastChild: Block #364 - previousSibling: Block #356 + parent: IfStatement #437 + children: Array(2) [ BinaryOperation #430, Block #435 ] + firstChild: BinaryOperation #430 + lastChild: Block #435 + previousSibling: Block #427 nextSibling: undefined - root: SourceUnit #467 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - BinaryOperation #359 - id: 359 + BinaryOperation #430 + id: 430 src: "0:0:0" type: "BinaryOperation" typeString: "bool" operator: "==" - vLeftExpression: Identifier #357 - vRightExpression: Literal #358 + vLeftExpression: Identifier #428 + vRightExpression: Literal #429 context: ASTContext #1000 - parent: IfStatement #365 - children: Array(2) [ Identifier #357, Literal #358 ] - firstChild: Identifier #357 - lastChild: Literal #358 + parent: IfStatement #436 + children: Array(2) [ Identifier #428, Literal #429 ] + firstChild: Identifier #428 + lastChild: Literal #429 previousSibling: undefined - nextSibling: Block #364 - root: SourceUnit #467 + nextSibling: Block #435 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Identifier #357 - id: 357 + Identifier #428 + id: 428 src: "0:0:0" type: "Identifier" typeString: "uint256" name: "_code" - referencedDeclaration: 369 + referencedDeclaration: 440 context: ASTContext #1000 - parent: BinaryOperation #359 - vReferencedDeclaration: VariableDeclaration #369 + parent: BinaryOperation #430 + vReferencedDeclaration: VariableDeclaration #440 vIdentifierType: "userDefined" children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined - nextSibling: Literal #358 - root: SourceUnit #467 + nextSibling: Literal #429 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Literal #358 - id: 358 + Literal #429 + id: 429 src: "0:0:0" type: "Literal" typeString: "int_const 17" @@ -2550,93 +2563,93 @@ SourceUnit #467 value: "0x11" subdenomination: undefined context: ASTContext #1000 - parent: BinaryOperation #359 + parent: BinaryOperation #430 children: Array(0) firstChild: undefined lastChild: undefined - previousSibling: Identifier #357 + previousSibling: Identifier #428 nextSibling: undefined - root: SourceUnit #467 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Block #364 - id: 364 + Block #435 + id: 435 src: "0:0:0" type: "Block" documentation: undefined context: ASTContext #1000 - parent: IfStatement #365 - vStatements: Array(1) [ ExpressionStatement #363 ] - children: Array(1) [ ExpressionStatement #363 ] - firstChild: ExpressionStatement #363 - lastChild: ExpressionStatement #363 - previousSibling: BinaryOperation #359 + parent: IfStatement #436 + vStatements: Array(1) [ ExpressionStatement #434 ] + children: Array(1) [ ExpressionStatement #434 ] + firstChild: ExpressionStatement #434 + lastChild: ExpressionStatement #434 + previousSibling: BinaryOperation #430 nextSibling: undefined - root: SourceUnit #467 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ExpressionStatement #363 - id: 363 + ExpressionStatement #434 + id: 434 src: "0:0:0" type: "ExpressionStatement" documentation: undefined - vExpression: FunctionCall #362 + vExpression: FunctionCall #433 context: ASTContext #1000 - parent: Block #364 - children: Array(1) [ FunctionCall #362 ] - firstChild: FunctionCall #362 - lastChild: FunctionCall #362 + parent: Block #435 + children: Array(1) [ FunctionCall #433 ] + firstChild: FunctionCall #433 + lastChild: FunctionCall #433 previousSibling: undefined nextSibling: undefined - root: SourceUnit #467 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - FunctionCall #362 - id: 362 + FunctionCall #433 + id: 433 src: "0:0:0" type: "FunctionCall" typeString: "tuple()" kind: "functionCall" fieldNames: undefined - vExpression: Identifier #360 - vArguments: Array(1) [ Literal #361 ] + vExpression: Identifier #431 + vArguments: Array(1) [ Literal #432 ] context: ASTContext #1000 - parent: ExpressionStatement #363 - children: Array(2) [ Identifier #360, Literal #361 ] + parent: ExpressionStatement #434 + children: Array(2) [ Identifier #431, Literal #432 ] vIdentifier: "revert" vMemberName: undefined vFunctionCallType: "builtin" vReferencedDeclaration: undefined vFunctionName: "revert" - vCallee: Identifier #360 - firstChild: Identifier #360 - lastChild: Literal #361 + vCallee: Identifier #431 + firstChild: Identifier #431 + lastChild: Literal #432 previousSibling: undefined nextSibling: undefined - root: SourceUnit #467 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Identifier #360 - id: 360 + Identifier #431 + id: 431 src: "0:0:0" type: "Identifier" typeString: "function (string memory) pure" name: "revert" referencedDeclaration: -1 context: ASTContext #1000 - parent: FunctionCall #362 + parent: FunctionCall #433 vReferencedDeclaration: undefined vIdentifierType: "builtin" children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined - nextSibling: Literal #361 - root: SourceUnit #467 + nextSibling: Literal #432 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Literal #361 - id: 361 + Literal #432 + id: 432 src: "0:0:0" type: "Literal" typeString: "literal_string \"Underflow/overflow\"" @@ -2645,111 +2658,111 @@ SourceUnit #467 value: "Underflow/overflow" subdenomination: undefined context: ASTContext #1000 - parent: FunctionCall #362 + parent: FunctionCall #433 children: Array(0) firstChild: undefined lastChild: undefined - previousSibling: Identifier #360 + previousSibling: Identifier #431 nextSibling: undefined - root: SourceUnit #467 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - TryCatchClause #377 - id: 377 + TryCatchClause #448 + id: 448 src: "0:0:0" type: "TryCatchClause" documentation: undefined errorName: "" vParameters: undefined - vBlock: Block #376 + vBlock: Block #447 context: ASTContext #1000 - parent: TryStatement #378 - children: Array(1) [ Block #376 ] - firstChild: Block #376 - lastChild: Block #376 - previousSibling: TryCatchClause #371 + parent: TryStatement #449 + children: Array(1) [ Block #447 ] + firstChild: Block #447 + lastChild: Block #447 + previousSibling: TryCatchClause #442 nextSibling: undefined - root: SourceUnit #467 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Block #376 - id: 376 + Block #447 + id: 447 src: "0:0:0" type: "Block" documentation: undefined context: ASTContext #1000 - parent: TryCatchClause #377 - vStatements: Array(1) [ ExpressionStatement #375 ] - children: Array(1) [ ExpressionStatement #375 ] - firstChild: ExpressionStatement #375 - lastChild: ExpressionStatement #375 + parent: TryCatchClause #448 + vStatements: Array(1) [ ExpressionStatement #446 ] + children: Array(1) [ ExpressionStatement #446 ] + firstChild: ExpressionStatement #446 + lastChild: ExpressionStatement #446 previousSibling: undefined nextSibling: undefined - root: SourceUnit #467 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ExpressionStatement #375 - id: 375 + ExpressionStatement #446 + id: 446 src: "0:0:0" type: "ExpressionStatement" documentation: undefined - vExpression: FunctionCall #374 + vExpression: FunctionCall #445 context: ASTContext #1000 - parent: Block #376 - children: Array(1) [ FunctionCall #374 ] - firstChild: FunctionCall #374 - lastChild: FunctionCall #374 + parent: Block #447 + children: Array(1) [ FunctionCall #445 ] + firstChild: FunctionCall #445 + lastChild: FunctionCall #445 previousSibling: undefined nextSibling: undefined - root: SourceUnit #467 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - FunctionCall #374 - id: 374 + FunctionCall #445 + id: 445 src: "0:0:0" type: "FunctionCall" typeString: "tuple()" kind: "functionCall" fieldNames: undefined - vExpression: Identifier #372 - vArguments: Array(1) [ Literal #373 ] + vExpression: Identifier #443 + vArguments: Array(1) [ Literal #444 ] context: ASTContext #1000 - parent: ExpressionStatement #375 - children: Array(2) [ Identifier #372, Literal #373 ] + parent: ExpressionStatement #446 + children: Array(2) [ Identifier #443, Literal #444 ] vIdentifier: "revert" vMemberName: undefined vFunctionCallType: "builtin" vReferencedDeclaration: undefined vFunctionName: "revert" - vCallee: Identifier #372 - firstChild: Identifier #372 - lastChild: Literal #373 + vCallee: Identifier #443 + firstChild: Identifier #443 + lastChild: Literal #444 previousSibling: undefined nextSibling: undefined - root: SourceUnit #467 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Identifier #372 - id: 372 + Identifier #443 + id: 443 src: "0:0:0" type: "Identifier" typeString: "function (string memory) pure" name: "revert" referencedDeclaration: -1 context: ASTContext #1000 - parent: FunctionCall #374 + parent: FunctionCall #445 vReferencedDeclaration: undefined vIdentifierType: "builtin" children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined - nextSibling: Literal #373 - root: SourceUnit #467 + nextSibling: Literal #444 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Literal #373 - id: 373 + Literal #444 + id: 444 src: "0:0:0" type: "Literal" typeString: "literal_string \"Internal error\"" @@ -2758,95 +2771,98 @@ SourceUnit #467 value: "Internal error" subdenomination: undefined context: ASTContext #1000 - parent: FunctionCall #374 + parent: FunctionCall #445 children: Array(0) firstChild: undefined lastChild: undefined - previousSibling: Identifier #372 + previousSibling: Identifier #443 nextSibling: undefined - root: SourceUnit #467 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ContractDefinition #466 - id: 466 + ContractDefinition #537 + id: 537 src: "0:0:0" type: "ContractDefinition" name: "Features082" - scope: 467 + scope: 607 kind: "contract" abstract: false fullyImplemented: true - linearizedBaseContracts: Array(1) [ 466 ] + linearizedBaseContracts: Array(1) [ 537 ] + usedErrors: Array(0) docString: undefined nameLocation: "1333:11:0" context: ASTContext #1000 - parent: SourceUnit #467 + parent: SourceUnit #607 documentation: undefined - vScope: SourceUnit #467 - vLinearizedBaseContracts: Array(1) [ ContractDefinition #466 ] + vScope: SourceUnit #607 + vLinearizedBaseContracts: Array(1) [ ContractDefinition #537 ] + vUsedErrors: Array(0) vInheritanceSpecifiers: Array(0) vStateVariables: Array(0) - vModifiers: Array(1) [ ModifierDefinition #393 ] - vEvents: Array(1) [ EventDefinition #385 ] - vFunctions: Array(1) [ FunctionDefinition #465 ] + vModifiers: Array(1) [ ModifierDefinition #464 ] + vEvents: Array(1) [ EventDefinition #456 ] + vErrors: Array(0) + vFunctions: Array(1) [ FunctionDefinition #536 ] vUsingForDirectives: Array(0) vStructs: Array(0) - vEnums: Array(1) [ EnumDefinition #389 ] + vEnums: Array(1) [ EnumDefinition #460 ] vConstructor: undefined interfaceId: undefined - children: Array(4) [ EventDefinition #385, EnumDefinition #389, ModifierDefinition #393, FunctionDefinition #465 ] - firstChild: EventDefinition #385 - lastChild: FunctionDefinition #465 - previousSibling: ContractDefinition #381 - nextSibling: undefined - root: SourceUnit #467 + children: Array(4) [ EventDefinition #456, EnumDefinition #460, ModifierDefinition #464, FunctionDefinition #536 ] + firstChild: EventDefinition #456 + lastChild: FunctionDefinition #536 + previousSibling: ContractDefinition #452 + nextSibling: ErrorDefinition #542 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - EventDefinition #385 - id: 385 + EventDefinition #456 + id: 456 src: "0:0:0" type: "EventDefinition" anonymous: false name: "Ev" documentation: undefined nameLocation: "1357:2:0" - vParameters: ParameterList #384 + vParameters: ParameterList #455 context: ASTContext #1000 - parent: ContractDefinition #466 - children: Array(1) [ ParameterList #384 ] - vScope: ContractDefinition #466 + parent: ContractDefinition #537 + children: Array(1) [ ParameterList #455 ] + vScope: ContractDefinition #537 canonicalSignature: "Ev(uint256)" canonicalSignatureHash: "b30c6e01" - firstChild: ParameterList #384 - lastChild: ParameterList #384 + firstChild: ParameterList #455 + lastChild: ParameterList #455 previousSibling: undefined - nextSibling: EnumDefinition #389 - root: SourceUnit #467 + nextSibling: EnumDefinition #460 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ParameterList #384 - id: 384 + ParameterList #455 + id: 455 src: "0:0:0" type: "ParameterList" context: ASTContext #1000 - parent: EventDefinition #385 - vParameters: Array(1) [ VariableDeclaration #383 ] - children: Array(1) [ VariableDeclaration #383 ] - firstChild: VariableDeclaration #383 - lastChild: VariableDeclaration #383 + parent: EventDefinition #456 + vParameters: Array(1) [ VariableDeclaration #454 ] + children: Array(1) [ VariableDeclaration #454 ] + firstChild: VariableDeclaration #454 + lastChild: VariableDeclaration #454 previousSibling: undefined nextSibling: undefined - root: SourceUnit #467 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - VariableDeclaration #383 - id: 383 + VariableDeclaration #454 + id: 454 src: "0:0:0" type: "VariableDeclaration" constant: false indexed: false name: "a" - scope: 385 + scope: 456 stateVariable: false storageLocation: "default" visibility: "internal" @@ -2854,109 +2870,109 @@ SourceUnit #467 typeString: "uint256" documentation: undefined nameLocation: "1365:1:0" - vType: ElementaryTypeName #382 + vType: ElementaryTypeName #453 vOverrideSpecifier: undefined vValue: undefined context: ASTContext #1000 - parent: ParameterList #384 - children: Array(1) [ ElementaryTypeName #382 ] - vScope: EventDefinition #385 + parent: ParameterList #455 + children: Array(1) [ ElementaryTypeName #453 ] + vScope: EventDefinition #456 canonicalSignatureType: "uint256" getterCanonicalSignature: "a()" getterCanonicalSignatureHash: "0dbe671f" - firstChild: ElementaryTypeName #382 - lastChild: ElementaryTypeName #382 + firstChild: ElementaryTypeName #453 + lastChild: ElementaryTypeName #453 previousSibling: undefined nextSibling: undefined - root: SourceUnit #467 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ElementaryTypeName #382 - id: 382 + ElementaryTypeName #453 + id: 453 src: "0:0:0" type: "ElementaryTypeName" typeString: "uint256" name: "uint" stateMutability: "nonpayable" context: ASTContext #1000 - parent: VariableDeclaration #383 + parent: VariableDeclaration #454 children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined nextSibling: undefined - root: SourceUnit #467 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - EnumDefinition #389 - id: 389 + EnumDefinition #460 + id: 460 src: "0:0:0" type: "EnumDefinition" name: "EnumXYZ" canonicalName: "Features082.EnumXYZ" nameLocation: "1379:7:0" context: ASTContext #1000 - parent: ContractDefinition #466 - vMembers: Array(3) [ EnumValue #386, EnumValue #387, EnumValue #388 ] - vScope: ContractDefinition #466 - children: Array(3) [ EnumValue #386, EnumValue #387, EnumValue #388 ] - firstChild: EnumValue #386 - lastChild: EnumValue #388 - previousSibling: EventDefinition #385 - nextSibling: ModifierDefinition #393 - root: SourceUnit #467 + parent: ContractDefinition #537 + vMembers: Array(3) [ EnumValue #457, EnumValue #458, EnumValue #459 ] + vScope: ContractDefinition #537 + children: Array(3) [ EnumValue #457, EnumValue #458, EnumValue #459 ] + firstChild: EnumValue #457 + lastChild: EnumValue #459 + previousSibling: EventDefinition #456 + nextSibling: ModifierDefinition #464 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - EnumValue #386 - id: 386 + EnumValue #457 + id: 457 src: "0:0:0" type: "EnumValue" name: "X" nameLocation: "1397:1:0" context: ASTContext #1000 - parent: EnumDefinition #389 + parent: EnumDefinition #460 children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined - nextSibling: EnumValue #387 - root: SourceUnit #467 + nextSibling: EnumValue #458 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - EnumValue #387 - id: 387 + EnumValue #458 + id: 458 src: "0:0:0" type: "EnumValue" name: "Y" nameLocation: "1400:1:0" context: ASTContext #1000 - parent: EnumDefinition #389 + parent: EnumDefinition #460 children: Array(0) firstChild: undefined lastChild: undefined - previousSibling: EnumValue #386 - nextSibling: EnumValue #388 - root: SourceUnit #467 + previousSibling: EnumValue #457 + nextSibling: EnumValue #459 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - EnumValue #388 - id: 388 + EnumValue #459 + id: 459 src: "0:0:0" type: "EnumValue" name: "Z" nameLocation: "1403:1:0" context: ASTContext #1000 - parent: EnumDefinition #389 + parent: EnumDefinition #460 children: Array(0) firstChild: undefined lastChild: undefined - previousSibling: EnumValue #387 + previousSibling: EnumValue #458 nextSibling: undefined - root: SourceUnit #467 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ModifierDefinition #393 - id: 393 + ModifierDefinition #464 + id: 464 src: "0:0:0" type: "ModifierDefinition" name: "modStructDocs" @@ -2964,75 +2980,75 @@ SourceUnit #467 visibility: "internal" documentation: undefined nameLocation: "1425:13:0" - vParameters: ParameterList #390 + vParameters: ParameterList #461 vOverrideSpecifier: undefined - vBody: Block #392 + vBody: Block #463 context: ASTContext #1000 - parent: ContractDefinition #466 - children: Array(2) [ ParameterList #390, Block #392 ] - vScope: ContractDefinition #466 + parent: ContractDefinition #537 + children: Array(2) [ ParameterList #461, Block #463 ] + vScope: ContractDefinition #537 canonicalSignature: "modStructDocs()" canonicalSignatureHash: "cd8540bf" - firstChild: ParameterList #390 - lastChild: Block #392 - previousSibling: EnumDefinition #389 - nextSibling: FunctionDefinition #465 - root: SourceUnit #467 + firstChild: ParameterList #461 + lastChild: Block #463 + previousSibling: EnumDefinition #460 + nextSibling: FunctionDefinition #536 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ParameterList #390 - id: 390 + ParameterList #461 + id: 461 src: "0:0:0" type: "ParameterList" context: ASTContext #1000 - parent: ModifierDefinition #393 + parent: ModifierDefinition #464 vParameters: Array(0) children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined - nextSibling: Block #392 - root: SourceUnit #467 + nextSibling: Block #463 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Block #392 - id: 392 + Block #463 + id: 463 src: "0:0:0" type: "Block" documentation: undefined context: ASTContext #1000 - parent: ModifierDefinition #393 - vStatements: Array(1) [ PlaceholderStatement #391 ] - children: Array(1) [ PlaceholderStatement #391 ] - firstChild: PlaceholderStatement #391 - lastChild: PlaceholderStatement #391 - previousSibling: ParameterList #390 + parent: ModifierDefinition #464 + vStatements: Array(1) [ PlaceholderStatement #462 ] + children: Array(1) [ PlaceholderStatement #462 ] + firstChild: PlaceholderStatement #462 + lastChild: PlaceholderStatement #462 + previousSibling: ParameterList #461 nextSibling: undefined - root: SourceUnit #467 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - PlaceholderStatement #391 - id: 391 + PlaceholderStatement #462 + id: 462 src: "0:0:0" type: "PlaceholderStatement" documentation: "PlaceholderStatement docstring" context: ASTContext #1000 - parent: Block #392 + parent: Block #463 children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined nextSibling: undefined - root: SourceUnit #467 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - FunctionDefinition #465 - id: 465 + FunctionDefinition #536 + id: 536 src: "0:0:0" type: "FunctionDefinition" implemented: true virtual: false - scope: 466 + scope: 537 kind: "function" name: "stmtStructDocs" visibility: "public" @@ -3040,131 +3056,131 @@ SourceUnit #467 isConstructor: false documentation: undefined nameLocation: "1517:14:0" - vParameters: ParameterList #394 - vReturnParameters: ParameterList #395 - vModifiers: Array(1) [ ModifierInvocation #397 ] + vParameters: ParameterList #465 + vReturnParameters: ParameterList #466 + vModifiers: Array(1) [ ModifierInvocation #468 ] vOverrideSpecifier: undefined - vBody: Block #464 + vBody: Block #535 context: ASTContext #1000 - parent: ContractDefinition #466 - children: Array(4) [ ParameterList #394, ModifierInvocation #397, ParameterList #395, Block #464 ] - vScope: ContractDefinition #466 + parent: ContractDefinition #537 + children: Array(4) [ ParameterList #465, ModifierInvocation #468, ParameterList #466, Block #535 ] + vScope: ContractDefinition #537 canonicalSignature: "stmtStructDocs()" canonicalSignatureHash: "734ea2b8" - firstChild: ParameterList #394 - lastChild: Block #464 - previousSibling: ModifierDefinition #393 + firstChild: ParameterList #465 + lastChild: Block #535 + previousSibling: ModifierDefinition #464 nextSibling: undefined - root: SourceUnit #467 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ParameterList #394 - id: 394 + ParameterList #465 + id: 465 src: "0:0:0" type: "ParameterList" context: ASTContext #1000 - parent: FunctionDefinition #465 + parent: FunctionDefinition #536 vParameters: Array(0) children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined - nextSibling: ModifierInvocation #397 - root: SourceUnit #467 + nextSibling: ModifierInvocation #468 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ModifierInvocation #397 - id: 397 + ModifierInvocation #468 + id: 468 src: "0:0:0" type: "ModifierInvocation" kind: "modifierInvocation" - vModifierName: IdentifierPath #396 + vModifierName: IdentifierPath #467 vArguments: Array(0) context: ASTContext #1000 - parent: FunctionDefinition #465 - children: Array(1) [ IdentifierPath #396 ] + parent: FunctionDefinition #536 + children: Array(1) [ IdentifierPath #467 ] vModifier: ModifierDefinition #153 - firstChild: IdentifierPath #396 - lastChild: IdentifierPath #396 - previousSibling: ParameterList #394 - nextSibling: ParameterList #395 - root: SourceUnit #467 + firstChild: IdentifierPath #467 + lastChild: IdentifierPath #467 + previousSibling: ParameterList #465 + nextSibling: ParameterList #466 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - IdentifierPath #396 - id: 396 + IdentifierPath #467 + id: 467 src: "0:0:0" type: "IdentifierPath" name: "modStructDocs" referencedDeclaration: 153 context: ASTContext #1000 - parent: ModifierInvocation #397 + parent: ModifierInvocation #468 vReferencedDeclaration: ModifierDefinition #153 children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined nextSibling: undefined - root: SourceUnit #467 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ParameterList #395 - id: 395 + ParameterList #466 + id: 466 src: "0:0:0" type: "ParameterList" context: ASTContext #1000 - parent: FunctionDefinition #465 + parent: FunctionDefinition #536 vParameters: Array(0) children: Array(0) firstChild: undefined lastChild: undefined - previousSibling: ModifierInvocation #397 - nextSibling: Block #464 - root: SourceUnit #467 + previousSibling: ModifierInvocation #468 + nextSibling: Block #535 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Block #464 - id: 464 + Block #535 + id: 535 src: "0:0:0" type: "Block" documentation: undefined context: ASTContext #1000 - parent: FunctionDefinition #465 - vStatements: Array(13) [ VariableDeclarationStatement #402, ExpressionStatement #404, Block #405, EmitStatement #409, WhileStatement #413, DoWhileStatement #417, ForStatement #430, IfStatement #434, VariableDeclarationStatement #442, TryStatement #460, InlineAssembly #461, UncheckedBlock #462, Return #463 ] - children: Array(13) [ VariableDeclarationStatement #402, ExpressionStatement #404, Block #405, EmitStatement #409, WhileStatement #413, DoWhileStatement #417, ForStatement #430, IfStatement #434, VariableDeclarationStatement #442, TryStatement #460, InlineAssembly #461, UncheckedBlock #462, Return #463 ] - firstChild: VariableDeclarationStatement #402 - lastChild: Return #463 - previousSibling: ParameterList #395 + parent: FunctionDefinition #536 + vStatements: Array(13) [ VariableDeclarationStatement #473, ExpressionStatement #475, Block #476, EmitStatement #480, WhileStatement #484, DoWhileStatement #488, ForStatement #501, IfStatement #505, VariableDeclarationStatement #513, TryStatement #531, InlineAssembly #532, UncheckedBlock #533, Return #534 ] + children: Array(13) [ VariableDeclarationStatement #473, ExpressionStatement #475, Block #476, EmitStatement #480, WhileStatement #484, DoWhileStatement #488, ForStatement #501, IfStatement #505, VariableDeclarationStatement #513, TryStatement #531, InlineAssembly #532, UncheckedBlock #533, Return #534 ] + firstChild: VariableDeclarationStatement #473 + lastChild: Return #534 + previousSibling: ParameterList #466 nextSibling: undefined - root: SourceUnit #467 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - VariableDeclarationStatement #402 - id: 402 + VariableDeclarationStatement #473 + id: 473 src: "0:0:0" type: "VariableDeclarationStatement" documentation: "VariableDeclarationStatement docstring" - assignments: Array(1) [ 399 ] - vDeclarations: Array(1) [ VariableDeclaration #399 ] - vInitialValue: TupleExpression #401 + assignments: Array(1) [ 470 ] + vDeclarations: Array(1) [ VariableDeclaration #470 ] + vInitialValue: TupleExpression #472 context: ASTContext #1000 - parent: Block #464 - children: Array(2) [ VariableDeclaration #399, TupleExpression #401 ] - firstChild: VariableDeclaration #399 - lastChild: TupleExpression #401 + parent: Block #535 + children: Array(2) [ VariableDeclaration #470, TupleExpression #472 ] + firstChild: VariableDeclaration #470 + lastChild: TupleExpression #472 previousSibling: undefined - nextSibling: ExpressionStatement #404 - root: SourceUnit #467 + nextSibling: ExpressionStatement #475 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - VariableDeclaration #399 - id: 399 + VariableDeclaration #470 + id: 470 src: "0:0:0" type: "VariableDeclaration" constant: false indexed: false name: "a" - scope: 464 + scope: 535 stateVariable: false storageLocation: "default" visibility: "internal" @@ -3172,61 +3188,61 @@ SourceUnit #467 typeString: "uint256" documentation: undefined nameLocation: "1624:1:0" - vType: ElementaryTypeName #398 + vType: ElementaryTypeName #469 vOverrideSpecifier: undefined vValue: undefined context: ASTContext #1000 - parent: VariableDeclarationStatement #402 - children: Array(1) [ ElementaryTypeName #398 ] - vScope: Block #464 + parent: VariableDeclarationStatement #473 + children: Array(1) [ ElementaryTypeName #469 ] + vScope: Block #535 canonicalSignatureType: "uint256" getterCanonicalSignature: "a()" getterCanonicalSignatureHash: "0dbe671f" - firstChild: ElementaryTypeName #398 - lastChild: ElementaryTypeName #398 + firstChild: ElementaryTypeName #469 + lastChild: ElementaryTypeName #469 previousSibling: undefined - nextSibling: TupleExpression #401 - root: SourceUnit #467 + nextSibling: TupleExpression #472 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ElementaryTypeName #398 - id: 398 + ElementaryTypeName #469 + id: 469 src: "0:0:0" type: "ElementaryTypeName" typeString: "uint256" name: "uint" stateMutability: "nonpayable" context: ASTContext #1000 - parent: VariableDeclaration #399 + parent: VariableDeclaration #470 children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined nextSibling: undefined - root: SourceUnit #467 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - TupleExpression #401 - id: 401 + TupleExpression #472 + id: 472 src: "0:0:0" type: "TupleExpression" typeString: "int_const 1" isInlineArray: false - vOriginalComponents: Array(1) [ Literal #400 ] + vOriginalComponents: Array(1) [ Literal #471 ] context: ASTContext #1000 - parent: VariableDeclarationStatement #402 - children: Array(1) [ Literal #400 ] - components: Array(1) [ 400 ] - vComponents: Array(1) [ Literal #400 ] - firstChild: Literal #400 - lastChild: Literal #400 - previousSibling: VariableDeclaration #399 + parent: VariableDeclarationStatement #473 + children: Array(1) [ Literal #471 ] + components: Array(1) [ 471 ] + vComponents: Array(1) [ Literal #471 ] + firstChild: Literal #471 + lastChild: Literal #471 + previousSibling: VariableDeclaration #470 nextSibling: undefined - root: SourceUnit #467 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Literal #400 - id: 400 + Literal #471 + id: 471 src: "0:0:0" type: "Literal" typeString: "int_const 1" @@ -3235,33 +3251,33 @@ SourceUnit #467 value: "1" subdenomination: undefined context: ASTContext #1000 - parent: TupleExpression #401 + parent: TupleExpression #472 children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined nextSibling: undefined - root: SourceUnit #467 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ExpressionStatement #404 - id: 404 + ExpressionStatement #475 + id: 475 src: "0:0:0" type: "ExpressionStatement" documentation: "ExpressionStatement docstring" - vExpression: Literal #403 + vExpression: Literal #474 context: ASTContext #1000 - parent: Block #464 - children: Array(1) [ Literal #403 ] - firstChild: Literal #403 - lastChild: Literal #403 - previousSibling: VariableDeclarationStatement #402 - nextSibling: Block #405 - root: SourceUnit #467 + parent: Block #535 + children: Array(1) [ Literal #474 ] + firstChild: Literal #474 + lastChild: Literal #474 + previousSibling: VariableDeclarationStatement #473 + nextSibling: Block #476 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Literal #403 - id: 403 + Literal #474 + id: 474 src: "0:0:0" type: "Literal" typeString: "int_const 1" @@ -3270,93 +3286,93 @@ SourceUnit #467 value: "1" subdenomination: undefined context: ASTContext #1000 - parent: ExpressionStatement #404 + parent: ExpressionStatement #475 children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined nextSibling: undefined - root: SourceUnit #467 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Block #405 - id: 405 + Block #476 + id: 476 src: "0:0:0" type: "Block" documentation: "Block docstring" context: ASTContext #1000 - parent: Block #464 + parent: Block #535 vStatements: Array(0) children: Array(0) firstChild: undefined lastChild: undefined - previousSibling: ExpressionStatement #404 - nextSibling: EmitStatement #409 - root: SourceUnit #467 + previousSibling: ExpressionStatement #475 + nextSibling: EmitStatement #480 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - EmitStatement #409 - id: 409 + EmitStatement #480 + id: 480 src: "0:0:0" type: "EmitStatement" documentation: "EmitStatement docstring" - vEventCall: FunctionCall #408 + vEventCall: FunctionCall #479 context: ASTContext #1000 - parent: Block #464 - children: Array(1) [ FunctionCall #408 ] - firstChild: FunctionCall #408 - lastChild: FunctionCall #408 - previousSibling: Block #405 - nextSibling: WhileStatement #413 - root: SourceUnit #467 + parent: Block #535 + children: Array(1) [ FunctionCall #479 ] + firstChild: FunctionCall #479 + lastChild: FunctionCall #479 + previousSibling: Block #476 + nextSibling: WhileStatement #484 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - FunctionCall #408 - id: 408 + FunctionCall #479 + id: 479 src: "0:0:0" type: "FunctionCall" typeString: "tuple()" kind: "functionCall" fieldNames: undefined - vExpression: Identifier #406 - vArguments: Array(1) [ Literal #407 ] + vExpression: Identifier #477 + vArguments: Array(1) [ Literal #478 ] context: ASTContext #1000 - parent: EmitStatement #409 - children: Array(2) [ Identifier #406, Literal #407 ] + parent: EmitStatement #480 + children: Array(2) [ Identifier #477, Literal #478 ] vIdentifier: "Ev" vMemberName: undefined vFunctionCallType: "userDefined" - vReferencedDeclaration: EventDefinition #385 + vReferencedDeclaration: EventDefinition #456 vFunctionName: "Ev" - vCallee: Identifier #406 - firstChild: Identifier #406 - lastChild: Literal #407 + vCallee: Identifier #477 + firstChild: Identifier #477 + lastChild: Literal #478 previousSibling: undefined nextSibling: undefined - root: SourceUnit #467 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Identifier #406 - id: 406 + Identifier #477 + id: 477 src: "0:0:0" type: "Identifier" typeString: "function (uint256)" name: "Ev" - referencedDeclaration: 385 + referencedDeclaration: 456 context: ASTContext #1000 - parent: FunctionCall #408 - vReferencedDeclaration: EventDefinition #385 + parent: FunctionCall #479 + vReferencedDeclaration: EventDefinition #456 vIdentifierType: "userDefined" children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined - nextSibling: Literal #407 - root: SourceUnit #467 + nextSibling: Literal #478 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Literal #407 - id: 407 + Literal #478 + id: 478 src: "0:0:0" type: "Literal" typeString: "int_const 1" @@ -3365,34 +3381,34 @@ SourceUnit #467 value: "1" subdenomination: undefined context: ASTContext #1000 - parent: FunctionCall #408 + parent: FunctionCall #479 children: Array(0) firstChild: undefined lastChild: undefined - previousSibling: Identifier #406 + previousSibling: Identifier #477 nextSibling: undefined - root: SourceUnit #467 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - WhileStatement #413 - id: 413 + WhileStatement #484 + id: 484 src: "0:0:0" type: "WhileStatement" documentation: "WhileStatement docstring" - vCondition: Literal #410 - vBody: Block #412 + vCondition: Literal #481 + vBody: Block #483 context: ASTContext #1000 - parent: Block #464 - children: Array(2) [ Literal #410, Block #412 ] - firstChild: Literal #410 - lastChild: Block #412 - previousSibling: EmitStatement #409 - nextSibling: DoWhileStatement #417 - root: SourceUnit #467 + parent: Block #535 + children: Array(2) [ Literal #481, Block #483 ] + firstChild: Literal #481 + lastChild: Block #483 + previousSibling: EmitStatement #480 + nextSibling: DoWhileStatement #488 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Literal #410 - id: 410 + Literal #481 + id: 481 src: "0:0:0" type: "Literal" typeString: "bool" @@ -3401,65 +3417,65 @@ SourceUnit #467 value: "false" subdenomination: undefined context: ASTContext #1000 - parent: WhileStatement #413 + parent: WhileStatement #484 children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined - nextSibling: Block #412 - root: SourceUnit #467 + nextSibling: Block #483 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Block #412 - id: 412 + Block #483 + id: 483 src: "0:0:0" type: "Block" documentation: "Body Block docstring" context: ASTContext #1000 - parent: WhileStatement #413 - vStatements: Array(1) [ Continue #411 ] - children: Array(1) [ Continue #411 ] - firstChild: Continue #411 - lastChild: Continue #411 - previousSibling: Literal #410 + parent: WhileStatement #484 + vStatements: Array(1) [ Continue #482 ] + children: Array(1) [ Continue #482 ] + firstChild: Continue #482 + lastChild: Continue #482 + previousSibling: Literal #481 nextSibling: undefined - root: SourceUnit #467 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Continue #411 - id: 411 + Continue #482 + id: 482 src: "0:0:0" type: "Continue" documentation: "Continue docstring" context: ASTContext #1000 - parent: Block #412 + parent: Block #483 children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined nextSibling: undefined - root: SourceUnit #467 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - DoWhileStatement #417 - id: 417 + DoWhileStatement #488 + id: 488 src: "0:0:0" type: "DoWhileStatement" documentation: "DoWhileStatement docstring" - vCondition: Literal #414 - vBody: Block #416 + vCondition: Literal #485 + vBody: Block #487 context: ASTContext #1000 - parent: Block #464 - children: Array(2) [ Literal #414, Block #416 ] - firstChild: Literal #414 - lastChild: Block #416 - previousSibling: WhileStatement #413 - nextSibling: ForStatement #430 - root: SourceUnit #467 + parent: Block #535 + children: Array(2) [ Literal #485, Block #487 ] + firstChild: Literal #485 + lastChild: Block #487 + previousSibling: WhileStatement #484 + nextSibling: ForStatement #501 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Literal #414 - id: 414 + Literal #485 + id: 485 src: "0:0:0" type: "Literal" typeString: "bool" @@ -3468,91 +3484,91 @@ SourceUnit #467 value: "true" subdenomination: undefined context: ASTContext #1000 - parent: DoWhileStatement #417 + parent: DoWhileStatement #488 children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined - nextSibling: Block #416 - root: SourceUnit #467 + nextSibling: Block #487 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Block #416 - id: 416 + Block #487 + id: 487 src: "0:0:0" type: "Block" documentation: "Body Block docstring" context: ASTContext #1000 - parent: DoWhileStatement #417 - vStatements: Array(1) [ Break #415 ] - children: Array(1) [ Break #415 ] - firstChild: Break #415 - lastChild: Break #415 - previousSibling: Literal #414 + parent: DoWhileStatement #488 + vStatements: Array(1) [ Break #486 ] + children: Array(1) [ Break #486 ] + firstChild: Break #486 + lastChild: Break #486 + previousSibling: Literal #485 nextSibling: undefined - root: SourceUnit #467 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Break #415 - id: 415 + Break #486 + id: 486 src: "0:0:0" type: "Break" documentation: "Break docstring" context: ASTContext #1000 - parent: Block #416 + parent: Block #487 children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined nextSibling: undefined - root: SourceUnit #467 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ForStatement #430 - id: 430 + ForStatement #501 + id: 501 src: "0:0:0" type: "ForStatement" documentation: "ForStatement docstring" - vInitializationExpression: VariableDeclarationStatement #423 - vCondition: BinaryOperation #426 - vLoopExpression: ExpressionStatement #429 - vBody: Block #418 + vInitializationExpression: VariableDeclarationStatement #494 + vCondition: BinaryOperation #497 + vLoopExpression: ExpressionStatement #500 + vBody: Block #489 context: ASTContext #1000 - parent: Block #464 - children: Array(4) [ VariableDeclarationStatement #423, BinaryOperation #426, ExpressionStatement #429, Block #418 ] - firstChild: VariableDeclarationStatement #423 - lastChild: Block #418 - previousSibling: DoWhileStatement #417 - nextSibling: IfStatement #434 - root: SourceUnit #467 + parent: Block #535 + children: Array(4) [ VariableDeclarationStatement #494, BinaryOperation #497, ExpressionStatement #500, Block #489 ] + firstChild: VariableDeclarationStatement #494 + lastChild: Block #489 + previousSibling: DoWhileStatement #488 + nextSibling: IfStatement #505 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - VariableDeclarationStatement #423 - id: 423 + VariableDeclarationStatement #494 + id: 494 src: "0:0:0" type: "VariableDeclarationStatement" documentation: undefined - assignments: Array(1) [ 420 ] - vDeclarations: Array(1) [ VariableDeclaration #420 ] - vInitialValue: TupleExpression #422 + assignments: Array(1) [ 491 ] + vDeclarations: Array(1) [ VariableDeclaration #491 ] + vInitialValue: TupleExpression #493 context: ASTContext #1000 - parent: ForStatement #430 - children: Array(2) [ VariableDeclaration #420, TupleExpression #422 ] - firstChild: VariableDeclaration #420 - lastChild: TupleExpression #422 + parent: ForStatement #501 + children: Array(2) [ VariableDeclaration #491, TupleExpression #493 ] + firstChild: VariableDeclaration #491 + lastChild: TupleExpression #493 previousSibling: undefined - nextSibling: BinaryOperation #426 - root: SourceUnit #467 + nextSibling: BinaryOperation #497 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - VariableDeclaration #420 - id: 420 + VariableDeclaration #491 + id: 491 src: "0:0:0" type: "VariableDeclaration" constant: false indexed: false name: "n" - scope: 430 + scope: 501 stateVariable: false storageLocation: "default" visibility: "internal" @@ -3560,61 +3576,61 @@ SourceUnit #467 typeString: "uint256" documentation: undefined nameLocation: "2258:1:0" - vType: ElementaryTypeName #419 + vType: ElementaryTypeName #490 vOverrideSpecifier: undefined vValue: undefined context: ASTContext #1000 - parent: VariableDeclarationStatement #423 - children: Array(1) [ ElementaryTypeName #419 ] - vScope: ForStatement #430 + parent: VariableDeclarationStatement #494 + children: Array(1) [ ElementaryTypeName #490 ] + vScope: ForStatement #501 canonicalSignatureType: "uint256" getterCanonicalSignature: "n()" getterCanonicalSignatureHash: "2e52d606" - firstChild: ElementaryTypeName #419 - lastChild: ElementaryTypeName #419 + firstChild: ElementaryTypeName #490 + lastChild: ElementaryTypeName #490 previousSibling: undefined - nextSibling: TupleExpression #422 - root: SourceUnit #467 + nextSibling: TupleExpression #493 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ElementaryTypeName #419 - id: 419 + ElementaryTypeName #490 + id: 490 src: "0:0:0" type: "ElementaryTypeName" typeString: "uint256" name: "uint" stateMutability: "nonpayable" context: ASTContext #1000 - parent: VariableDeclaration #420 + parent: VariableDeclaration #491 children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined nextSibling: undefined - root: SourceUnit #467 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - TupleExpression #422 - id: 422 + TupleExpression #493 + id: 493 src: "0:0:0" type: "TupleExpression" typeString: "int_const 1" isInlineArray: false - vOriginalComponents: Array(1) [ Literal #421 ] + vOriginalComponents: Array(1) [ Literal #492 ] context: ASTContext #1000 - parent: VariableDeclarationStatement #423 - children: Array(1) [ Literal #421 ] - components: Array(1) [ 421 ] - vComponents: Array(1) [ Literal #421 ] - firstChild: Literal #421 - lastChild: Literal #421 - previousSibling: VariableDeclaration #420 + parent: VariableDeclarationStatement #494 + children: Array(1) [ Literal #492 ] + components: Array(1) [ 492 ] + vComponents: Array(1) [ Literal #492 ] + firstChild: Literal #492 + lastChild: Literal #492 + previousSibling: VariableDeclaration #491 nextSibling: undefined - root: SourceUnit #467 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Literal #421 - id: 421 + Literal #492 + id: 492 src: "0:0:0" type: "Literal" typeString: "int_const 1" @@ -3623,54 +3639,54 @@ SourceUnit #467 value: "1" subdenomination: undefined context: ASTContext #1000 - parent: TupleExpression #422 + parent: TupleExpression #493 children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined nextSibling: undefined - root: SourceUnit #467 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - BinaryOperation #426 - id: 426 + BinaryOperation #497 + id: 497 src: "0:0:0" type: "BinaryOperation" typeString: "bool" operator: "<" - vLeftExpression: Identifier #424 - vRightExpression: Literal #425 + vLeftExpression: Identifier #495 + vRightExpression: Literal #496 context: ASTContext #1000 - parent: ForStatement #430 - children: Array(2) [ Identifier #424, Literal #425 ] - firstChild: Identifier #424 - lastChild: Literal #425 - previousSibling: VariableDeclarationStatement #423 - nextSibling: ExpressionStatement #429 - root: SourceUnit #467 + parent: ForStatement #501 + children: Array(2) [ Identifier #495, Literal #496 ] + firstChild: Identifier #495 + lastChild: Literal #496 + previousSibling: VariableDeclarationStatement #494 + nextSibling: ExpressionStatement #500 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Identifier #424 - id: 424 + Identifier #495 + id: 495 src: "0:0:0" type: "Identifier" typeString: "uint256" name: "n" - referencedDeclaration: 420 + referencedDeclaration: 491 context: ASTContext #1000 - parent: BinaryOperation #426 - vReferencedDeclaration: VariableDeclaration #420 + parent: BinaryOperation #497 + vReferencedDeclaration: VariableDeclaration #491 vIdentifierType: "userDefined" children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined - nextSibling: Literal #425 - root: SourceUnit #467 + nextSibling: Literal #496 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Literal #425 - id: 425 + Literal #496 + id: 496 src: "0:0:0" type: "Literal" typeString: "int_const 1" @@ -3679,104 +3695,104 @@ SourceUnit #467 value: "1" subdenomination: undefined context: ASTContext #1000 - parent: BinaryOperation #426 + parent: BinaryOperation #497 children: Array(0) firstChild: undefined lastChild: undefined - previousSibling: Identifier #424 + previousSibling: Identifier #495 nextSibling: undefined - root: SourceUnit #467 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ExpressionStatement #429 - id: 429 + ExpressionStatement #500 + id: 500 src: "0:0:0" type: "ExpressionStatement" documentation: undefined - vExpression: UnaryOperation #428 + vExpression: UnaryOperation #499 context: ASTContext #1000 - parent: ForStatement #430 - children: Array(1) [ UnaryOperation #428 ] - firstChild: UnaryOperation #428 - lastChild: UnaryOperation #428 - previousSibling: BinaryOperation #426 - nextSibling: Block #418 - root: SourceUnit #467 + parent: ForStatement #501 + children: Array(1) [ UnaryOperation #499 ] + firstChild: UnaryOperation #499 + lastChild: UnaryOperation #499 + previousSibling: BinaryOperation #497 + nextSibling: Block #489 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - UnaryOperation #428 - id: 428 + UnaryOperation #499 + id: 499 src: "0:0:0" type: "UnaryOperation" typeString: "uint256" prefix: false operator: "++" - vSubExpression: Identifier #427 + vSubExpression: Identifier #498 context: ASTContext #1000 - parent: ExpressionStatement #429 - children: Array(1) [ Identifier #427 ] - firstChild: Identifier #427 - lastChild: Identifier #427 + parent: ExpressionStatement #500 + children: Array(1) [ Identifier #498 ] + firstChild: Identifier #498 + lastChild: Identifier #498 previousSibling: undefined nextSibling: undefined - root: SourceUnit #467 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Identifier #427 - id: 427 + Identifier #498 + id: 498 src: "0:0:0" type: "Identifier" typeString: "uint256" name: "n" - referencedDeclaration: 420 + referencedDeclaration: 491 context: ASTContext #1000 - parent: UnaryOperation #428 - vReferencedDeclaration: VariableDeclaration #420 + parent: UnaryOperation #499 + vReferencedDeclaration: VariableDeclaration #491 vIdentifierType: "userDefined" children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined nextSibling: undefined - root: SourceUnit #467 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Block #418 - id: 418 + Block #489 + id: 489 src: "0:0:0" type: "Block" documentation: "Body Block docstring" context: ASTContext #1000 - parent: ForStatement #430 + parent: ForStatement #501 vStatements: Array(0) children: Array(0) firstChild: undefined lastChild: undefined - previousSibling: ExpressionStatement #429 + previousSibling: ExpressionStatement #500 nextSibling: undefined - root: SourceUnit #467 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - IfStatement #434 - id: 434 + IfStatement #505 + id: 505 src: "0:0:0" type: "IfStatement" documentation: "IfStatement docstring" - vCondition: Literal #431 - vTrueBody: Block #432 - vFalseBody: Block #433 + vCondition: Literal #502 + vTrueBody: Block #503 + vFalseBody: Block #504 context: ASTContext #1000 - parent: Block #464 - children: Array(3) [ Literal #431, Block #432, Block #433 ] - firstChild: Literal #431 - lastChild: Block #433 - previousSibling: ForStatement #430 - nextSibling: VariableDeclarationStatement #442 - root: SourceUnit #467 + parent: Block #535 + children: Array(3) [ Literal #502, Block #503, Block #504 ] + firstChild: Literal #502 + lastChild: Block #504 + previousSibling: ForStatement #501 + nextSibling: VariableDeclarationStatement #513 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Literal #431 - id: 431 + Literal #502 + id: 502 src: "0:0:0" type: "Literal" typeString: "bool" @@ -3785,73 +3801,73 @@ SourceUnit #467 value: "false" subdenomination: undefined context: ASTContext #1000 - parent: IfStatement #434 + parent: IfStatement #505 children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined - nextSibling: Block #432 - root: SourceUnit #467 + nextSibling: Block #503 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Block #432 - id: 432 + Block #503 + id: 503 src: "0:0:0" type: "Block" documentation: "True body Block docstring" context: ASTContext #1000 - parent: IfStatement #434 + parent: IfStatement #505 vStatements: Array(0) children: Array(0) firstChild: undefined lastChild: undefined - previousSibling: Literal #431 - nextSibling: Block #433 - root: SourceUnit #467 + previousSibling: Literal #502 + nextSibling: Block #504 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Block #433 - id: 433 + Block #504 + id: 504 src: "0:0:0" type: "Block" documentation: "False body Block docstring" context: ASTContext #1000 - parent: IfStatement #434 + parent: IfStatement #505 vStatements: Array(0) children: Array(0) firstChild: undefined lastChild: undefined - previousSibling: Block #432 + previousSibling: Block #503 nextSibling: undefined - root: SourceUnit #467 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - VariableDeclarationStatement #442 - id: 442 + VariableDeclarationStatement #513 + id: 513 src: "0:0:0" type: "VariableDeclarationStatement" documentation: undefined - assignments: Array(1) [ 437 ] - vDeclarations: Array(1) [ VariableDeclaration #437 ] - vInitialValue: FunctionCall #441 + assignments: Array(1) [ 508 ] + vDeclarations: Array(1) [ VariableDeclaration #508 ] + vInitialValue: FunctionCall #512 context: ASTContext #1000 - parent: Block #464 - children: Array(2) [ VariableDeclaration #437, FunctionCall #441 ] - firstChild: VariableDeclaration #437 - lastChild: FunctionCall #441 - previousSibling: IfStatement #434 - nextSibling: TryStatement #460 - root: SourceUnit #467 + parent: Block #535 + children: Array(2) [ VariableDeclaration #508, FunctionCall #512 ] + firstChild: VariableDeclaration #508 + lastChild: FunctionCall #512 + previousSibling: IfStatement #505 + nextSibling: TryStatement #531 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - VariableDeclaration #437 - id: 437 + VariableDeclaration #508 + id: 508 src: "0:0:0" type: "VariableDeclaration" constant: false indexed: false name: "cp" - scope: 464 + scope: 535 stateVariable: false storageLocation: "default" visibility: "internal" @@ -3859,291 +3875,291 @@ SourceUnit #467 typeString: "contract CatchPanic" documentation: undefined nameLocation: "2637:2:0" - vType: UserDefinedTypeName #436 + vType: UserDefinedTypeName #507 vOverrideSpecifier: undefined vValue: undefined context: ASTContext #1000 - parent: VariableDeclarationStatement #442 - children: Array(1) [ UserDefinedTypeName #436 ] - vScope: Block #464 + parent: VariableDeclarationStatement #513 + children: Array(1) [ UserDefinedTypeName #507 ] + vScope: Block #535 canonicalSignatureType: "address" getterCanonicalSignature: "cp()" getterCanonicalSignatureHash: "7056dc40" - firstChild: UserDefinedTypeName #436 - lastChild: UserDefinedTypeName #436 + firstChild: UserDefinedTypeName #507 + lastChild: UserDefinedTypeName #507 previousSibling: undefined - nextSibling: FunctionCall #441 - root: SourceUnit #467 + nextSibling: FunctionCall #512 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - UserDefinedTypeName #436 - id: 436 + UserDefinedTypeName #507 + id: 507 src: "0:0:0" type: "UserDefinedTypeName" typeString: "contract CatchPanic" name: undefined - referencedDeclaration: 381 - path: IdentifierPath #435 + referencedDeclaration: 452 + path: IdentifierPath #506 context: ASTContext #1000 - parent: VariableDeclaration #437 - children: Array(1) [ IdentifierPath #435 ] - vReferencedDeclaration: ContractDefinition #381 - firstChild: IdentifierPath #435 - lastChild: IdentifierPath #435 + parent: VariableDeclaration #508 + children: Array(1) [ IdentifierPath #506 ] + vReferencedDeclaration: ContractDefinition #452 + firstChild: IdentifierPath #506 + lastChild: IdentifierPath #506 previousSibling: undefined nextSibling: undefined - root: SourceUnit #467 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - IdentifierPath #435 - id: 435 + IdentifierPath #506 + id: 506 src: "0:0:0" type: "IdentifierPath" name: "CatchPanic" referencedDeclaration: 141 context: ASTContext #1000 - parent: UserDefinedTypeName #436 + parent: UserDefinedTypeName #507 vReferencedDeclaration: ContractDefinition #141 children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined nextSibling: undefined - root: SourceUnit #467 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - FunctionCall #441 - id: 441 + FunctionCall #512 + id: 512 src: "0:0:0" type: "FunctionCall" typeString: "contract CatchPanic" kind: "functionCall" fieldNames: undefined - vExpression: NewExpression #440 + vExpression: NewExpression #511 vArguments: Array(0) context: ASTContext #1000 - parent: VariableDeclarationStatement #442 - children: Array(1) [ NewExpression #440 ] + parent: VariableDeclarationStatement #513 + children: Array(1) [ NewExpression #511 ] vIdentifier: "new" vMemberName: undefined vFunctionCallType: "builtin" vReferencedDeclaration: undefined vFunctionName: "new" - vCallee: NewExpression #440 - firstChild: NewExpression #440 - lastChild: NewExpression #440 - previousSibling: VariableDeclaration #437 + vCallee: NewExpression #511 + firstChild: NewExpression #511 + lastChild: NewExpression #511 + previousSibling: VariableDeclaration #508 nextSibling: undefined - root: SourceUnit #467 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - NewExpression #440 - id: 440 + NewExpression #511 + id: 511 src: "0:0:0" type: "NewExpression" typeString: "function () returns (contract CatchPanic)" - vTypeName: UserDefinedTypeName #439 + vTypeName: UserDefinedTypeName #510 context: ASTContext #1000 - parent: FunctionCall #441 - children: Array(1) [ UserDefinedTypeName #439 ] - firstChild: UserDefinedTypeName #439 - lastChild: UserDefinedTypeName #439 + parent: FunctionCall #512 + children: Array(1) [ UserDefinedTypeName #510 ] + firstChild: UserDefinedTypeName #510 + lastChild: UserDefinedTypeName #510 previousSibling: undefined nextSibling: undefined - root: SourceUnit #467 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - UserDefinedTypeName #439 - id: 439 + UserDefinedTypeName #510 + id: 510 src: "0:0:0" type: "UserDefinedTypeName" typeString: "contract CatchPanic" name: undefined - referencedDeclaration: 381 - path: IdentifierPath #438 + referencedDeclaration: 452 + path: IdentifierPath #509 context: ASTContext #1000 - parent: NewExpression #440 - children: Array(1) [ IdentifierPath #438 ] - vReferencedDeclaration: ContractDefinition #381 - firstChild: IdentifierPath #438 - lastChild: IdentifierPath #438 + parent: NewExpression #511 + children: Array(1) [ IdentifierPath #509 ] + vReferencedDeclaration: ContractDefinition #452 + firstChild: IdentifierPath #509 + lastChild: IdentifierPath #509 previousSibling: undefined nextSibling: undefined - root: SourceUnit #467 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - IdentifierPath #438 - id: 438 + IdentifierPath #509 + id: 509 src: "0:0:0" type: "IdentifierPath" name: "CatchPanic" referencedDeclaration: 141 context: ASTContext #1000 - parent: UserDefinedTypeName #439 + parent: UserDefinedTypeName #510 vReferencedDeclaration: ContractDefinition #141 children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined nextSibling: undefined - root: SourceUnit #467 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - TryStatement #460 - id: 460 + TryStatement #531 + id: 531 src: "0:0:0" type: "TryStatement" documentation: "TryStatement docstring" - vExternalCall: FunctionCall #445 - vClauses: Array(4) [ TryCatchClause #447, TryCatchClause #452, TryCatchClause #457, TryCatchClause #459 ] + vExternalCall: FunctionCall #516 + vClauses: Array(4) [ TryCatchClause #518, TryCatchClause #523, TryCatchClause #528, TryCatchClause #530 ] context: ASTContext #1000 - parent: Block #464 - children: Array(5) [ FunctionCall #445, TryCatchClause #447, TryCatchClause #452, TryCatchClause #457, TryCatchClause #459 ] - firstChild: FunctionCall #445 - lastChild: TryCatchClause #459 - previousSibling: VariableDeclarationStatement #442 - nextSibling: InlineAssembly #461 - root: SourceUnit #467 + parent: Block #535 + children: Array(5) [ FunctionCall #516, TryCatchClause #518, TryCatchClause #523, TryCatchClause #528, TryCatchClause #530 ] + firstChild: FunctionCall #516 + lastChild: TryCatchClause #530 + previousSibling: VariableDeclarationStatement #513 + nextSibling: InlineAssembly #532 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - FunctionCall #445 - id: 445 + FunctionCall #516 + id: 516 src: "0:0:0" type: "FunctionCall" typeString: "tuple()" kind: "functionCall" fieldNames: undefined - vExpression: MemberAccess #444 + vExpression: MemberAccess #515 vArguments: Array(0) context: ASTContext #1000 - parent: TryStatement #460 - children: Array(1) [ MemberAccess #444 ] + parent: TryStatement #531 + children: Array(1) [ MemberAccess #515 ] vIdentifier: "cp" vMemberName: "test" vFunctionCallType: "userDefined" - vReferencedDeclaration: FunctionDefinition #380 + vReferencedDeclaration: FunctionDefinition #451 vFunctionName: "test" - vCallee: MemberAccess #444 - firstChild: MemberAccess #444 - lastChild: MemberAccess #444 + vCallee: MemberAccess #515 + firstChild: MemberAccess #515 + lastChild: MemberAccess #515 previousSibling: undefined - nextSibling: TryCatchClause #447 - root: SourceUnit #467 + nextSibling: TryCatchClause #518 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - MemberAccess #444 - id: 444 + MemberAccess #515 + id: 515 src: "0:0:0" type: "MemberAccess" typeString: "function () external" - vExpression: Identifier #443 + vExpression: Identifier #514 memberName: "test" - referencedDeclaration: 380 + referencedDeclaration: 451 context: ASTContext #1000 - parent: FunctionCall #445 - children: Array(1) [ Identifier #443 ] - vReferencedDeclaration: FunctionDefinition #380 - firstChild: Identifier #443 - lastChild: Identifier #443 + parent: FunctionCall #516 + children: Array(1) [ Identifier #514 ] + vReferencedDeclaration: FunctionDefinition #451 + firstChild: Identifier #514 + lastChild: Identifier #514 previousSibling: undefined nextSibling: undefined - root: SourceUnit #467 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Identifier #443 - id: 443 + Identifier #514 + id: 514 src: "0:0:0" type: "Identifier" typeString: "contract CatchPanic" name: "cp" - referencedDeclaration: 437 + referencedDeclaration: 508 context: ASTContext #1000 - parent: MemberAccess #444 - vReferencedDeclaration: VariableDeclaration #437 + parent: MemberAccess #515 + vReferencedDeclaration: VariableDeclaration #508 vIdentifierType: "userDefined" children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined nextSibling: undefined - root: SourceUnit #467 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - TryCatchClause #447 - id: 447 + TryCatchClause #518 + id: 518 src: "0:0:0" type: "TryCatchClause" documentation: undefined errorName: "" vParameters: undefined - vBlock: Block #446 + vBlock: Block #517 context: ASTContext #1000 - parent: TryStatement #460 - children: Array(1) [ Block #446 ] - firstChild: Block #446 - lastChild: Block #446 - previousSibling: FunctionCall #445 - nextSibling: TryCatchClause #452 - root: SourceUnit #467 + parent: TryStatement #531 + children: Array(1) [ Block #517 ] + firstChild: Block #517 + lastChild: Block #517 + previousSibling: FunctionCall #516 + nextSibling: TryCatchClause #523 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Block #446 - id: 446 + Block #517 + id: 517 src: "0:0:0" type: "Block" documentation: undefined context: ASTContext #1000 - parent: TryCatchClause #447 + parent: TryCatchClause #518 vStatements: Array(0) children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined nextSibling: undefined - root: SourceUnit #467 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - TryCatchClause #452 - id: 452 + TryCatchClause #523 + id: 523 src: "0:0:0" type: "TryCatchClause" documentation: undefined errorName: "Error" - vParameters: ParameterList #451 - vBlock: Block #448 + vParameters: ParameterList #522 + vBlock: Block #519 context: ASTContext #1000 - parent: TryStatement #460 - children: Array(2) [ ParameterList #451, Block #448 ] - firstChild: ParameterList #451 - lastChild: Block #448 - previousSibling: TryCatchClause #447 - nextSibling: TryCatchClause #457 - root: SourceUnit #467 + parent: TryStatement #531 + children: Array(2) [ ParameterList #522, Block #519 ] + firstChild: ParameterList #522 + lastChild: Block #519 + previousSibling: TryCatchClause #518 + nextSibling: TryCatchClause #528 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ParameterList #451 - id: 451 + ParameterList #522 + id: 522 src: "0:0:0" type: "ParameterList" context: ASTContext #1000 - parent: TryCatchClause #452 - vParameters: Array(1) [ VariableDeclaration #450 ] - children: Array(1) [ VariableDeclaration #450 ] - firstChild: VariableDeclaration #450 - lastChild: VariableDeclaration #450 + parent: TryCatchClause #523 + vParameters: Array(1) [ VariableDeclaration #521 ] + children: Array(1) [ VariableDeclaration #521 ] + firstChild: VariableDeclaration #521 + lastChild: VariableDeclaration #521 previousSibling: undefined - nextSibling: Block #448 - root: SourceUnit #467 + nextSibling: Block #519 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - VariableDeclaration #450 - id: 450 + VariableDeclaration #521 + id: 521 src: "0:0:0" type: "VariableDeclaration" constant: false indexed: false name: "reason" - scope: 452 + scope: 523 stateVariable: false storageLocation: "memory" visibility: "internal" @@ -4151,97 +4167,97 @@ SourceUnit #467 typeString: "string" documentation: undefined nameLocation: "2854:6:0" - vType: ElementaryTypeName #449 + vType: ElementaryTypeName #520 vOverrideSpecifier: undefined vValue: undefined context: ASTContext #1000 - parent: ParameterList #451 - children: Array(1) [ ElementaryTypeName #449 ] - vScope: TryCatchClause #452 + parent: ParameterList #522 + children: Array(1) [ ElementaryTypeName #520 ] + vScope: TryCatchClause #523 canonicalSignatureType: "string" getterCanonicalSignature: "reason()" getterCanonicalSignatureHash: "e134e33d" - firstChild: ElementaryTypeName #449 - lastChild: ElementaryTypeName #449 + firstChild: ElementaryTypeName #520 + lastChild: ElementaryTypeName #520 previousSibling: undefined nextSibling: undefined - root: SourceUnit #467 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ElementaryTypeName #449 - id: 449 + ElementaryTypeName #520 + id: 520 src: "0:0:0" type: "ElementaryTypeName" typeString: "string" name: "string" stateMutability: "nonpayable" context: ASTContext #1000 - parent: VariableDeclaration #450 + parent: VariableDeclaration #521 children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined nextSibling: undefined - root: SourceUnit #467 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Block #448 - id: 448 + Block #519 + id: 519 src: "0:0:0" type: "Block" documentation: undefined context: ASTContext #1000 - parent: TryCatchClause #452 + parent: TryCatchClause #523 vStatements: Array(0) children: Array(0) firstChild: undefined lastChild: undefined - previousSibling: ParameterList #451 + previousSibling: ParameterList #522 nextSibling: undefined - root: SourceUnit #467 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - TryCatchClause #457 - id: 457 + TryCatchClause #528 + id: 528 src: "0:0:0" type: "TryCatchClause" documentation: undefined errorName: "Panic" - vParameters: ParameterList #456 - vBlock: Block #453 + vParameters: ParameterList #527 + vBlock: Block #524 context: ASTContext #1000 - parent: TryStatement #460 - children: Array(2) [ ParameterList #456, Block #453 ] - firstChild: ParameterList #456 - lastChild: Block #453 - previousSibling: TryCatchClause #452 - nextSibling: TryCatchClause #459 - root: SourceUnit #467 + parent: TryStatement #531 + children: Array(2) [ ParameterList #527, Block #524 ] + firstChild: ParameterList #527 + lastChild: Block #524 + previousSibling: TryCatchClause #523 + nextSibling: TryCatchClause #530 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ParameterList #456 - id: 456 + ParameterList #527 + id: 527 src: "0:0:0" type: "ParameterList" context: ASTContext #1000 - parent: TryCatchClause #457 - vParameters: Array(1) [ VariableDeclaration #455 ] - children: Array(1) [ VariableDeclaration #455 ] - firstChild: VariableDeclaration #455 - lastChild: VariableDeclaration #455 + parent: TryCatchClause #528 + vParameters: Array(1) [ VariableDeclaration #526 ] + children: Array(1) [ VariableDeclaration #526 ] + firstChild: VariableDeclaration #526 + lastChild: VariableDeclaration #526 previousSibling: undefined - nextSibling: Block #453 - root: SourceUnit #467 + nextSibling: Block #524 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - VariableDeclaration #455 - id: 455 + VariableDeclaration #526 + id: 526 src: "0:0:0" type: "VariableDeclaration" constant: false indexed: false name: "_code" - scope: 457 + scope: 528 stateVariable: false storageLocation: "default" visibility: "internal" @@ -4249,92 +4265,92 @@ SourceUnit #467 typeString: "uint256" documentation: undefined nameLocation: "2990:5:0" - vType: ElementaryTypeName #454 + vType: ElementaryTypeName #525 vOverrideSpecifier: undefined vValue: undefined context: ASTContext #1000 - parent: ParameterList #456 - children: Array(1) [ ElementaryTypeName #454 ] - vScope: TryCatchClause #457 + parent: ParameterList #527 + children: Array(1) [ ElementaryTypeName #525 ] + vScope: TryCatchClause #528 canonicalSignatureType: "uint256" getterCanonicalSignature: "_code()" getterCanonicalSignatureHash: "8d1841e3" - firstChild: ElementaryTypeName #454 - lastChild: ElementaryTypeName #454 + firstChild: ElementaryTypeName #525 + lastChild: ElementaryTypeName #525 previousSibling: undefined nextSibling: undefined - root: SourceUnit #467 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ElementaryTypeName #454 - id: 454 + ElementaryTypeName #525 + id: 525 src: "0:0:0" type: "ElementaryTypeName" typeString: "uint256" name: "uint" stateMutability: "nonpayable" context: ASTContext #1000 - parent: VariableDeclaration #455 + parent: VariableDeclaration #526 children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined nextSibling: undefined - root: SourceUnit #467 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Block #453 - id: 453 + Block #524 + id: 524 src: "0:0:0" type: "Block" documentation: undefined context: ASTContext #1000 - parent: TryCatchClause #457 + parent: TryCatchClause #528 vStatements: Array(0) children: Array(0) firstChild: undefined lastChild: undefined - previousSibling: ParameterList #456 + previousSibling: ParameterList #527 nextSibling: undefined - root: SourceUnit #467 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - TryCatchClause #459 - id: 459 + TryCatchClause #530 + id: 530 src: "0:0:0" type: "TryCatchClause" documentation: undefined errorName: "" vParameters: undefined - vBlock: Block #458 + vBlock: Block #529 context: ASTContext #1000 - parent: TryStatement #460 - children: Array(1) [ Block #458 ] - firstChild: Block #458 - lastChild: Block #458 - previousSibling: TryCatchClause #457 + parent: TryStatement #531 + children: Array(1) [ Block #529 ] + firstChild: Block #529 + lastChild: Block #529 + previousSibling: TryCatchClause #528 nextSibling: undefined - root: SourceUnit #467 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Block #458 - id: 458 + Block #529 + id: 529 src: "0:0:0" type: "Block" documentation: undefined context: ASTContext #1000 - parent: TryCatchClause #459 + parent: TryCatchClause #530 vStatements: Array(0) children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined nextSibling: undefined - root: SourceUnit #467 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - InlineAssembly #461 - id: 461 + InlineAssembly #532 + id: 532 src: "0:0:0" type: "InlineAssembly" documentation: "InlineAssembly docstring" @@ -4342,360 +4358,1774 @@ SourceUnit #467 operations: undefined yul: Object { nodeType: "YulBlock", src: "3235:2:0", statements: Array(0) } context: ASTContext #1000 - parent: Block #464 + parent: Block #535 children: Array(0) firstChild: undefined lastChild: undefined - previousSibling: TryStatement #460 - nextSibling: UncheckedBlock #462 - root: SourceUnit #467 + previousSibling: TryStatement #531 + nextSibling: UncheckedBlock #533 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - UncheckedBlock #462 - id: 462 + UncheckedBlock #533 + id: 533 src: "0:0:0" type: "UncheckedBlock" documentation: "UncheckedBlock docstring" context: ASTContext #1000 - parent: Block #464 + parent: Block #535 vStatements: Array(0) children: Array(0) firstChild: undefined lastChild: undefined - previousSibling: InlineAssembly #461 - nextSibling: Return #463 - root: SourceUnit #467 + previousSibling: InlineAssembly #532 + nextSibling: Return #534 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Return #463 - id: 463 + Return #534 + id: 534 src: "0:0:0" type: "Return" documentation: "Return docstring" functionReturnParameters: 157 vExpression: undefined context: ASTContext #1000 - parent: Block #464 + parent: Block #535 children: Array(0) vFunctionReturnParameters: ParameterList #157 firstChild: undefined lastChild: undefined - previousSibling: UncheckedBlock #462 + previousSibling: UncheckedBlock #533 nextSibling: undefined - root: SourceUnit #467 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } -SourceUnit #483 - id: 483 - src: "0:0:0" - type: "SourceUnit" - sourceEntryKey: "./test/samples/solidity/latest_imports_08.sol" - sourceListIndex: 1 - absolutePath: "./test/samples/solidity/latest_imports_08.sol" - exportedSymbols: Map(2) { "SomeContract" -> 481, "SomeLib" -> 482 } - context: ASTContext #1000 - vPragmaDirectives: Array(2) [ PragmaDirective #468, PragmaDirective #469 ] - vImportDirectives: Array(0) - vContracts: Array(2) [ ContractDefinition #481, ContractDefinition #482 ] - vEnums: Array(0) - vStructs: Array(0) - vFunctions: Array(0) - vVariables: Array(0) - vExportedSymbols: Map(2) { "SomeContract" -> ContractDefinition #481, "SomeLib" -> ContractDefinition #482 } - children: Array(4) [ PragmaDirective #468, PragmaDirective #469, ContractDefinition #481, ContractDefinition #482 ] - firstChild: PragmaDirective #468 - lastChild: ContractDefinition #482 - previousSibling: undefined - nextSibling: undefined - root: SourceUnit #483 - sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - - PragmaDirective #468 - id: 468 - src: "0:0:0" - type: "PragmaDirective" - literals: Array(4) [ "solidity", "^", "0.8", ".0" ] - context: ASTContext #1000 - parent: SourceUnit #483 - vIdentifier: "solidity" - vValue: "^0.8.0" - children: Array(0) - firstChild: undefined - lastChild: undefined - previousSibling: undefined - nextSibling: PragmaDirective #469 - root: SourceUnit #483 - sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - - PragmaDirective #469 - id: 469 - src: "0:0:0" - type: "PragmaDirective" - literals: Array(2) [ "abicoder", "v2" ] - context: ASTContext #1000 - parent: SourceUnit #483 - vIdentifier: "abicoder" - vValue: "v2" - children: Array(0) - firstChild: undefined - lastChild: undefined - previousSibling: PragmaDirective #468 - nextSibling: ContractDefinition #481 - root: SourceUnit #483 - sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - - ContractDefinition #481 - id: 481 + ErrorDefinition #542 + id: 542 src: "0:0:0" - type: "ContractDefinition" - name: "SomeContract" - scope: 483 - kind: "contract" - abstract: false - fullyImplemented: true - linearizedBaseContracts: Array(1) [ 481 ] - docString: undefined - nameLocation: "54:12:1" + type: "ErrorDefinition" + name: "UnitLevelError084" + documentation: StructuredDocumentation #541 + nameLocation: "3393:17:0" + vParameters: ParameterList #540 context: ASTContext #1000 - parent: SourceUnit #483 - documentation: undefined - vScope: SourceUnit #483 - vLinearizedBaseContracts: Array(1) [ ContractDefinition #481 ] - vInheritanceSpecifiers: Array(0) - vStateVariables: Array(0) - vModifiers: Array(0) - vEvents: Array(0) - vFunctions: Array(1) [ FunctionDefinition #480 ] - vUsingForDirectives: Array(0) - vStructs: Array(1) [ StructDefinition #472 ] - vEnums: Array(0) - vConstructor: undefined - interfaceId: undefined - children: Array(2) [ StructDefinition #472, FunctionDefinition #480 ] - firstChild: StructDefinition #472 - lastChild: FunctionDefinition #480 - previousSibling: PragmaDirective #469 - nextSibling: ContractDefinition #482 - root: SourceUnit #483 + parent: SourceUnit #607 + children: Array(2) [ StructuredDocumentation #541, ParameterList #540 ] + vScope: SourceUnit #607 + firstChild: StructuredDocumentation #541 + lastChild: ParameterList #540 + previousSibling: ContractDefinition #537 + nextSibling: ContractDefinition #548 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - StructDefinition #472 - id: 472 + StructuredDocumentation #541 + id: 541 src: "0:0:0" - type: "StructDefinition" - name: "SomeStruct" - canonicalName: "SomeContract.SomeStruct" - scope: 481 - visibility: "public" - nameLocation: "80:10:1" + type: "StructuredDocumentation" + text: "UnitLevelError error docstring" context: ASTContext #1000 - parent: ContractDefinition #481 - vMembers: Array(1) [ VariableDeclaration #471 ] - vScope: ContractDefinition #481 - children: Array(1) [ VariableDeclaration #471 ] - firstChild: VariableDeclaration #471 - lastChild: VariableDeclaration #471 + parent: ErrorDefinition #542 + children: Array(0) + firstChild: undefined + lastChild: undefined previousSibling: undefined - nextSibling: FunctionDefinition #480 - root: SourceUnit #483 + nextSibling: ParameterList #540 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - VariableDeclaration #471 - id: 471 + ParameterList #540 + id: 540 + src: "0:0:0" + type: "ParameterList" + context: ASTContext #1000 + parent: ErrorDefinition #542 + vParameters: Array(1) [ VariableDeclaration #539 ] + children: Array(1) [ VariableDeclaration #539 ] + firstChild: VariableDeclaration #539 + lastChild: VariableDeclaration #539 + previousSibling: StructuredDocumentation #541 + nextSibling: undefined + root: SourceUnit #607 + sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } + + VariableDeclaration #539 + id: 539 src: "0:0:0" type: "VariableDeclaration" constant: false indexed: false - name: "n" - scope: 472 + name: "code" + scope: 542 stateVariable: false storageLocation: "default" visibility: "internal" mutability: "mutable" typeString: "uint256" documentation: undefined - nameLocation: "106:1:1" - vType: ElementaryTypeName #470 + nameLocation: "3416:4:0" + vType: ElementaryTypeName #538 vOverrideSpecifier: undefined vValue: undefined context: ASTContext #1000 - parent: StructDefinition #472 - children: Array(1) [ ElementaryTypeName #470 ] - vScope: StructDefinition #472 + parent: ParameterList #540 + children: Array(1) [ ElementaryTypeName #538 ] + vScope: ErrorDefinition #542 canonicalSignatureType: "uint256" - getterCanonicalSignature: "n()" - getterCanonicalSignatureHash: "2e52d606" - firstChild: ElementaryTypeName #470 - lastChild: ElementaryTypeName #470 + getterCanonicalSignature: "code()" + getterCanonicalSignatureHash: "24c12bf6" + firstChild: ElementaryTypeName #538 + lastChild: ElementaryTypeName #538 previousSibling: undefined nextSibling: undefined - root: SourceUnit #483 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ElementaryTypeName #470 - id: 470 + ElementaryTypeName #538 + id: 538 src: "0:0:0" type: "ElementaryTypeName" typeString: "uint256" name: "uint" stateMutability: "nonpayable" context: ASTContext #1000 - parent: VariableDeclaration #471 + parent: VariableDeclaration #539 children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined nextSibling: undefined - root: SourceUnit #483 + root: SourceUnit #607 + sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } + + ContractDefinition #548 + id: 548 + src: "0:0:0" + type: "ContractDefinition" + name: "LibErrors084" + scope: 607 + kind: "library" + abstract: false + fullyImplemented: true + linearizedBaseContracts: Array(1) [ 548 ] + usedErrors: Array(1) [ 547 ] + docString: undefined + nameLocation: "3432:12:0" + context: ASTContext #1000 + parent: SourceUnit #607 + documentation: undefined + vScope: SourceUnit #607 + vLinearizedBaseContracts: Array(1) [ ContractDefinition #548 ] + vUsedErrors: Array(1) [ ErrorDefinition #547 ] + vInheritanceSpecifiers: Array(0) + vStateVariables: Array(0) + vModifiers: Array(0) + vEvents: Array(0) + vErrors: Array(1) [ ErrorDefinition #547 ] + vFunctions: Array(0) + vUsingForDirectives: Array(0) + vStructs: Array(0) + vEnums: Array(0) + vConstructor: undefined + interfaceId: undefined + children: Array(1) [ ErrorDefinition #547 ] + firstChild: ErrorDefinition #547 + lastChild: ErrorDefinition #547 + previousSibling: ErrorDefinition #542 + nextSibling: ContractDefinition #606 + root: SourceUnit #607 + sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } + + ErrorDefinition #547 + id: 547 + src: "0:0:0" + type: "ErrorDefinition" + name: "Lib" + documentation: StructuredDocumentation #546 + nameLocation: "3498:3:0" + vParameters: ParameterList #545 + context: ASTContext #1000 + parent: ContractDefinition #548 + children: Array(2) [ StructuredDocumentation #546, ParameterList #545 ] + vScope: ContractDefinition #548 + firstChild: StructuredDocumentation #546 + lastChild: ParameterList #545 + previousSibling: undefined + nextSibling: undefined + root: SourceUnit #607 + sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } + + StructuredDocumentation #546 + id: 546 + src: "0:0:0" + type: "StructuredDocumentation" + text: "LibErrors084.Lib error docstring" + context: ASTContext #1000 + parent: ErrorDefinition #547 + children: Array(0) + firstChild: undefined + lastChild: undefined + previousSibling: undefined + nextSibling: ParameterList #545 + root: SourceUnit #607 + sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } + + ParameterList #545 + id: 545 + src: "0:0:0" + type: "ParameterList" + context: ASTContext #1000 + parent: ErrorDefinition #547 + vParameters: Array(1) [ VariableDeclaration #544 ] + children: Array(1) [ VariableDeclaration #544 ] + firstChild: VariableDeclaration #544 + lastChild: VariableDeclaration #544 + previousSibling: StructuredDocumentation #546 + nextSibling: undefined + root: SourceUnit #607 + sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } + + VariableDeclaration #544 + id: 544 + src: "0:0:0" + type: "VariableDeclaration" + constant: false + indexed: false + name: "b" + scope: 547 + stateVariable: false + storageLocation: "default" + visibility: "internal" + mutability: "mutable" + typeString: "bytes" + documentation: undefined + nameLocation: "3508:1:0" + vType: ElementaryTypeName #543 + vOverrideSpecifier: undefined + vValue: undefined + context: ASTContext #1000 + parent: ParameterList #545 + children: Array(1) [ ElementaryTypeName #543 ] + vScope: ErrorDefinition #547 + canonicalSignatureType: "bytes" + getterCanonicalSignature: "b()" + getterCanonicalSignatureHash: "4df7e3d0" + firstChild: ElementaryTypeName #543 + lastChild: ElementaryTypeName #543 + previousSibling: undefined + nextSibling: undefined + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - FunctionDefinition #480 - id: 480 + ElementaryTypeName #543 + id: 543 + src: "0:0:0" + type: "ElementaryTypeName" + typeString: "bytes" + name: "bytes" + stateMutability: "nonpayable" + context: ASTContext #1000 + parent: VariableDeclaration #544 + children: Array(0) + firstChild: undefined + lastChild: undefined + previousSibling: undefined + nextSibling: undefined + root: SourceUnit #607 + sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } + + ContractDefinition #606 + id: 606 + src: "0:0:0" + type: "ContractDefinition" + name: "Features084" + scope: 607 + kind: "contract" + abstract: false + fullyImplemented: true + linearizedBaseContracts: Array(1) [ 606 ] + usedErrors: Array(3) [ 542, 547, 551 ] + docString: undefined + nameLocation: "3524:11:0" + context: ASTContext #1000 + parent: SourceUnit #607 + documentation: undefined + vScope: SourceUnit #607 + vLinearizedBaseContracts: Array(1) [ ContractDefinition #606 ] + vUsedErrors: Array(3) [ ErrorDefinition #542, ErrorDefinition #547, ErrorDefinition #551 ] + vInheritanceSpecifiers: Array(0) + vStateVariables: Array(0) + vModifiers: Array(0) + vEvents: Array(0) + vErrors: Array(1) [ ErrorDefinition #551 ] + vFunctions: Array(6) [ FunctionDefinition #556, FunctionDefinition #573, FunctionDefinition #581, FunctionDefinition #590, FunctionDefinition #597, FunctionDefinition #605 ] + vUsingForDirectives: Array(0) + vStructs: Array(0) + vEnums: Array(0) + vConstructor: undefined + interfaceId: undefined + children: Array(7) [ ErrorDefinition #551, FunctionDefinition #556, FunctionDefinition #573, FunctionDefinition #581, FunctionDefinition #590, FunctionDefinition #597, FunctionDefinition #605 ] + firstChild: ErrorDefinition #551 + lastChild: FunctionDefinition #605 + previousSibling: ContractDefinition #548 + nextSibling: undefined + root: SourceUnit #607 + sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } + + ErrorDefinition #551 + id: 551 + src: "0:0:0" + type: "ErrorDefinition" + name: "Own" + documentation: StructuredDocumentation #550 + nameLocation: "3588:3:0" + vParameters: ParameterList #549 + context: ASTContext #1000 + parent: ContractDefinition #606 + children: Array(2) [ StructuredDocumentation #550, ParameterList #549 ] + vScope: ContractDefinition #606 + firstChild: StructuredDocumentation #550 + lastChild: ParameterList #549 + previousSibling: undefined + nextSibling: FunctionDefinition #556 + root: SourceUnit #607 + sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } + + StructuredDocumentation #550 + id: 550 + src: "0:0:0" + type: "StructuredDocumentation" + text: "Features084.Own error docstring" + context: ASTContext #1000 + parent: ErrorDefinition #551 + children: Array(0) + firstChild: undefined + lastChild: undefined + previousSibling: undefined + nextSibling: ParameterList #549 + root: SourceUnit #607 + sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } + + ParameterList #549 + id: 549 + src: "0:0:0" + type: "ParameterList" + context: ASTContext #1000 + parent: ErrorDefinition #551 + vParameters: Array(0) + children: Array(0) + firstChild: undefined + lastChild: undefined + previousSibling: StructuredDocumentation #550 + nextSibling: undefined + root: SourceUnit #607 + sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } + + FunctionDefinition #556 + id: 556 src: "0:0:0" type: "FunctionDefinition" implemented: true - virtual: true - scope: 481 + virtual: false + scope: 606 kind: "function" - name: "some" + name: "testAssemblyHexLiterals" visibility: "public" stateMutability: "nonpayable" isConstructor: false documentation: undefined - nameLocation: "129:4:1" - vParameters: ParameterList #473 - vReturnParameters: ParameterList #476 + nameLocation: "3609:23:0" + vParameters: ParameterList #552 + vReturnParameters: ParameterList #553 vModifiers: Array(0) vOverrideSpecifier: undefined - vBody: Block #479 + vBody: Block #555 context: ASTContext #1000 - parent: ContractDefinition #481 - children: Array(3) [ ParameterList #473, ParameterList #476, Block #479 ] - vScope: ContractDefinition #481 - canonicalSignature: "some()" - canonicalSignatureHash: "c03ee3d3" - firstChild: ParameterList #473 - lastChild: Block #479 - previousSibling: StructDefinition #472 - nextSibling: undefined - root: SourceUnit #483 + parent: ContractDefinition #606 + children: Array(3) [ ParameterList #552, ParameterList #553, Block #555 ] + vScope: ContractDefinition #606 + canonicalSignature: "testAssemblyHexLiterals()" + canonicalSignatureHash: "9fdd8b80" + firstChild: ParameterList #552 + lastChild: Block #555 + previousSibling: ErrorDefinition #551 + nextSibling: FunctionDefinition #573 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ParameterList #473 - id: 473 + ParameterList #552 + id: 552 src: "0:0:0" type: "ParameterList" context: ASTContext #1000 - parent: FunctionDefinition #480 + parent: FunctionDefinition #556 vParameters: Array(0) children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined - nextSibling: ParameterList #476 - root: SourceUnit #483 + nextSibling: ParameterList #553 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ParameterList #476 - id: 476 + ParameterList #553 + id: 553 src: "0:0:0" type: "ParameterList" context: ASTContext #1000 - parent: FunctionDefinition #480 - vParameters: Array(1) [ VariableDeclaration #475 ] - children: Array(1) [ VariableDeclaration #475 ] - firstChild: VariableDeclaration #475 - lastChild: VariableDeclaration #475 - previousSibling: ParameterList #473 - nextSibling: Block #479 - root: SourceUnit #483 + parent: FunctionDefinition #556 + vParameters: Array(0) + children: Array(0) + firstChild: undefined + lastChild: undefined + previousSibling: ParameterList #552 + nextSibling: Block #555 + root: SourceUnit #607 + sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } + + Block #555 + id: 555 + src: "0:0:0" + type: "Block" + documentation: undefined + context: ASTContext #1000 + parent: FunctionDefinition #556 + vStatements: Array(1) [ InlineAssembly #554 ] + children: Array(1) [ InlineAssembly #554 ] + firstChild: InlineAssembly #554 + lastChild: InlineAssembly #554 + previousSibling: ParameterList #553 + nextSibling: undefined + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - VariableDeclaration #475 - id: 475 + InlineAssembly #554 + id: 554 src: "0:0:0" - type: "VariableDeclaration" - constant: false - indexed: false - name: "" - scope: 480 - stateVariable: false - storageLocation: "default" - visibility: "internal" - mutability: "mutable" - typeString: "uint256" + type: "InlineAssembly" documentation: undefined - nameLocation: "-1:-1:-1" - vType: ElementaryTypeName #474 - vOverrideSpecifier: undefined - vValue: undefined + externalReferences: Array(0) + operations: undefined + yul: Object { nodeType: "YulBlock", src: "3661:221:0", statements: Array(6) [ Object { nodeType: "YulVariableDeclaration", src: "3675:15:0", value: Object { kind: "string", nodeType: "YulLiteral", src: "3684:6:0", type: "", value: "test" }, variables: Array(1) [ Object { name: "a", nodeType: "YulTypedName", src: "3679:1:0", type: "" } ] }, Object { nodeType: "YulVariableDeclaration", src: "3703:54:0", value: Object { kind: "string", nodeType: "YulLiteral", src: "3712:45:0", type: "", value: "\u0011\"3DUfwșʻ̝wș\u0000" }, variables: Array(1) [ Object { name: "x", nodeType: "YulTypedName", src: "3707:1:0", type: "" } ] }, Object { nodeType: "YulVariableDeclaration", src: "3770:23:0", value: Object { kind: "string", nodeType: "YulLiteral", src: "3779:14:0", type: "", value: "\u00124ˍ" }, variables: Array(1) [ Object { name: "y", nodeType: "YulTypedName", src: "3774:1:0", type: "" } ] }, Object { expression: Object { arguments: Array(2) [ Object { kind: "number", nodeType: "YulLiteral", src: "3814:1:0", type: "", value: "0" }, Object { name: "x", nodeType: "YulIdentifier", src: "3817:1:0" } ], functionName: Object { name: "sstore", nodeType: "YulIdentifier", src: "3807:6:0" }, nodeType: "YulFunctionCall", src: "3807:12:0" }, nodeType: "YulExpressionStatement", src: "3807:12:0" }, Object { expression: Object { arguments: Array(2) [ Object { kind: "number", nodeType: "YulLiteral", src: "3839:1:0", type: "", value: "1" }, Object { name: "y", nodeType: "YulIdentifier", src: "3842:1:0" } ], functionName: Object { name: "sstore", nodeType: "YulIdentifier", src: "3832:6:0" }, nodeType: "YulFunctionCall", src: "3832:12:0" }, nodeType: "YulExpressionStatement", src: "3832:12:0" }, Object { expression: Object { arguments: Array(1) [ Object { kind: "string", nodeType: "YulLiteral", src: "3862:9:0", type: "", value: "\"3" } ], functionName: Object { name: "pop", nodeType: "YulIdentifier", src: "3858:3:0" }, nodeType: "YulFunctionCall", src: "3858:14:0" }, nodeType: "YulExpressionStatement", src: "3858:14:0" } ] } context: ASTContext #1000 - parent: ParameterList #476 - children: Array(1) [ ElementaryTypeName #474 ] - vScope: FunctionDefinition #480 - canonicalSignatureType: "uint256" - getterCanonicalSignature: "()" - getterCanonicalSignatureHash: "861731d5" - firstChild: ElementaryTypeName #474 - lastChild: ElementaryTypeName #474 + parent: Block #555 + children: Array(0) + firstChild: undefined + lastChild: undefined previousSibling: undefined nextSibling: undefined - root: SourceUnit #483 + root: SourceUnit #607 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ElementaryTypeName #474 - id: 474 + FunctionDefinition #573 + id: 573 + src: "0:0:0" + type: "FunctionDefinition" + implemented: true + virtual: false + scope: 606 + kind: "function" + name: "testBytesConcatBuiltin" + visibility: "public" + stateMutability: "pure" + isConstructor: false + documentation: undefined + nameLocation: "3903:22:0" + vParameters: ParameterList #561 + vReturnParameters: ParameterList #564 + vModifiers: Array(0) + vOverrideSpecifier: undefined + vBody: Block #572 + context: ASTContext #1000 + parent: ContractDefinition #606 + children: Array(3) [ ParameterList #561, ParameterList #564, Block #572 ] + vScope: ContractDefinition #606 + canonicalSignature: "testBytesConcatBuiltin(bytes,bytes)" + canonicalSignatureHash: "e65caad5" + firstChild: ParameterList #561 + lastChild: Block #572 + previousSibling: FunctionDefinition #556 + nextSibling: FunctionDefinition #581 + root: SourceUnit #607 + sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } + + ParameterList #561 + id: 561 + src: "0:0:0" + type: "ParameterList" + context: ASTContext #1000 + parent: FunctionDefinition #573 + vParameters: Array(2) [ VariableDeclaration #558, VariableDeclaration #560 ] + children: Array(2) [ VariableDeclaration #558, VariableDeclaration #560 ] + firstChild: VariableDeclaration #558 + lastChild: VariableDeclaration #560 + previousSibling: undefined + nextSibling: ParameterList #564 + root: SourceUnit #607 + sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } + + VariableDeclaration #558 + id: 558 + src: "0:0:0" + type: "VariableDeclaration" + constant: false + indexed: false + name: "a" + scope: 573 + stateVariable: false + storageLocation: "memory" + visibility: "internal" + mutability: "mutable" + typeString: "bytes" + documentation: undefined + nameLocation: "3939:1:0" + vType: ElementaryTypeName #557 + vOverrideSpecifier: undefined + vValue: undefined + context: ASTContext #1000 + parent: ParameterList #561 + children: Array(1) [ ElementaryTypeName #557 ] + vScope: FunctionDefinition #573 + canonicalSignatureType: "bytes" + getterCanonicalSignature: "a()" + getterCanonicalSignatureHash: "0dbe671f" + firstChild: ElementaryTypeName #557 + lastChild: ElementaryTypeName #557 + previousSibling: undefined + nextSibling: VariableDeclaration #560 + root: SourceUnit #607 + sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } + + ElementaryTypeName #557 + id: 557 + src: "0:0:0" + type: "ElementaryTypeName" + typeString: "bytes" + name: "bytes" + stateMutability: "nonpayable" + context: ASTContext #1000 + parent: VariableDeclaration #558 + children: Array(0) + firstChild: undefined + lastChild: undefined + previousSibling: undefined + nextSibling: undefined + root: SourceUnit #607 + sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } + + VariableDeclaration #560 + id: 560 + src: "0:0:0" + type: "VariableDeclaration" + constant: false + indexed: false + name: "b" + scope: 573 + stateVariable: false + storageLocation: "memory" + visibility: "internal" + mutability: "mutable" + typeString: "bytes" + documentation: undefined + nameLocation: "3955:1:0" + vType: ElementaryTypeName #559 + vOverrideSpecifier: undefined + vValue: undefined + context: ASTContext #1000 + parent: ParameterList #561 + children: Array(1) [ ElementaryTypeName #559 ] + vScope: FunctionDefinition #573 + canonicalSignatureType: "bytes" + getterCanonicalSignature: "b()" + getterCanonicalSignatureHash: "4df7e3d0" + firstChild: ElementaryTypeName #559 + lastChild: ElementaryTypeName #559 + previousSibling: VariableDeclaration #558 + nextSibling: undefined + root: SourceUnit #607 + sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } + + ElementaryTypeName #559 + id: 559 + src: "0:0:0" + type: "ElementaryTypeName" + typeString: "bytes" + name: "bytes" + stateMutability: "nonpayable" + context: ASTContext #1000 + parent: VariableDeclaration #560 + children: Array(0) + firstChild: undefined + lastChild: undefined + previousSibling: undefined + nextSibling: undefined + root: SourceUnit #607 + sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } + + ParameterList #564 + id: 564 + src: "0:0:0" + type: "ParameterList" + context: ASTContext #1000 + parent: FunctionDefinition #573 + vParameters: Array(1) [ VariableDeclaration #563 ] + children: Array(1) [ VariableDeclaration #563 ] + firstChild: VariableDeclaration #563 + lastChild: VariableDeclaration #563 + previousSibling: ParameterList #561 + nextSibling: Block #572 + root: SourceUnit #607 + sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } + + VariableDeclaration #563 + id: 563 + src: "0:0:0" + type: "VariableDeclaration" + constant: false + indexed: false + name: "c" + scope: 573 + stateVariable: false + storageLocation: "memory" + visibility: "internal" + mutability: "mutable" + typeString: "bytes" + documentation: undefined + nameLocation: "3992:1:0" + vType: ElementaryTypeName #562 + vOverrideSpecifier: undefined + vValue: undefined + context: ASTContext #1000 + parent: ParameterList #564 + children: Array(1) [ ElementaryTypeName #562 ] + vScope: FunctionDefinition #573 + canonicalSignatureType: "bytes" + getterCanonicalSignature: "c()" + getterCanonicalSignatureHash: "c3da42b8" + firstChild: ElementaryTypeName #562 + lastChild: ElementaryTypeName #562 + previousSibling: undefined + nextSibling: undefined + root: SourceUnit #607 + sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } + + ElementaryTypeName #562 + id: 562 + src: "0:0:0" + type: "ElementaryTypeName" + typeString: "bytes" + name: "bytes" + stateMutability: "nonpayable" + context: ASTContext #1000 + parent: VariableDeclaration #563 + children: Array(0) + firstChild: undefined + lastChild: undefined + previousSibling: undefined + nextSibling: undefined + root: SourceUnit #607 + sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } + + Block #572 + id: 572 + src: "0:0:0" + type: "Block" + documentation: undefined + context: ASTContext #1000 + parent: FunctionDefinition #573 + vStatements: Array(1) [ Return #571 ] + children: Array(1) [ Return #571 ] + firstChild: Return #571 + lastChild: Return #571 + previousSibling: ParameterList #564 + nextSibling: undefined + root: SourceUnit #607 + sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } + + Return #571 + id: 571 + src: "0:0:0" + type: "Return" + documentation: undefined + functionReturnParameters: 253 + vExpression: FunctionCall #570 + context: ASTContext #1000 + parent: Block #572 + children: Array(1) [ FunctionCall #570 ] + vFunctionReturnParameters: ParameterList #253 + firstChild: FunctionCall #570 + lastChild: FunctionCall #570 + previousSibling: undefined + nextSibling: undefined + root: SourceUnit #607 + sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } + + FunctionCall #570 + id: 570 + src: "0:0:0" + type: "FunctionCall" + typeString: "bytes memory" + kind: "functionCall" + fieldNames: undefined + vExpression: MemberAccess #567 + vArguments: Array(2) [ Identifier #568, Identifier #569 ] + context: ASTContext #1000 + parent: Return #571 + children: Array(3) [ MemberAccess #567, Identifier #568, Identifier #569 ] + vIdentifier: undefined + vMemberName: "concat" + vFunctionCallType: "builtin" + vReferencedDeclaration: undefined + vFunctionName: "concat" + vCallee: MemberAccess #567 + firstChild: MemberAccess #567 + lastChild: Identifier #569 + previousSibling: undefined + nextSibling: undefined + root: SourceUnit #607 + sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } + + MemberAccess #567 + id: 567 + src: "0:0:0" + type: "MemberAccess" + typeString: "function () pure returns (bytes memory)" + vExpression: ElementaryTypeNameExpression #566 + memberName: "concat" + referencedDeclaration: undefined + context: ASTContext #1000 + parent: FunctionCall #570 + children: Array(1) [ ElementaryTypeNameExpression #566 ] + vReferencedDeclaration: undefined + firstChild: ElementaryTypeNameExpression #566 + lastChild: ElementaryTypeNameExpression #566 + previousSibling: undefined + nextSibling: Identifier #568 + root: SourceUnit #607 + sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } + + ElementaryTypeNameExpression #566 + id: 566 + src: "0:0:0" + type: "ElementaryTypeNameExpression" + typeString: "type(bytes storage pointer)" + typeName: ElementaryTypeName #565 + context: ASTContext #1000 + parent: MemberAccess #567 + children: Array(1) [ ElementaryTypeName #565 ] + firstChild: ElementaryTypeName #565 + lastChild: ElementaryTypeName #565 + previousSibling: undefined + nextSibling: undefined + root: SourceUnit #607 + sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } + + ElementaryTypeName #565 + id: 565 + src: "0:0:0" + type: "ElementaryTypeName" + typeString: undefined + name: "bytes" + stateMutability: "nonpayable" + context: ASTContext #1000 + parent: ElementaryTypeNameExpression #566 + children: Array(0) + firstChild: undefined + lastChild: undefined + previousSibling: undefined + nextSibling: undefined + root: SourceUnit #607 + sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } + + Identifier #568 + id: 568 + src: "0:0:0" + type: "Identifier" + typeString: "bytes memory" + name: "a" + referencedDeclaration: 558 + context: ASTContext #1000 + parent: FunctionCall #570 + vReferencedDeclaration: VariableDeclaration #558 + vIdentifierType: "userDefined" + children: Array(0) + firstChild: undefined + lastChild: undefined + previousSibling: MemberAccess #567 + nextSibling: Identifier #569 + root: SourceUnit #607 + sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } + + Identifier #569 + id: 569 + src: "0:0:0" + type: "Identifier" + typeString: "bytes memory" + name: "b" + referencedDeclaration: 560 + context: ASTContext #1000 + parent: FunctionCall #570 + vReferencedDeclaration: VariableDeclaration #560 + vIdentifierType: "userDefined" + children: Array(0) + firstChild: undefined + lastChild: undefined + previousSibling: Identifier #568 + nextSibling: undefined + root: SourceUnit #607 + sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } + + FunctionDefinition #581 + id: 581 + src: "0:0:0" + type: "FunctionDefinition" + implemented: true + virtual: false + scope: 606 + kind: "function" + name: "testVariableDeclarationStatementDocString" + visibility: "public" + stateMutability: "nonpayable" + isConstructor: false + documentation: undefined + nameLocation: "4052:41:0" + vParameters: ParameterList #574 + vReturnParameters: ParameterList #575 + vModifiers: Array(0) + vOverrideSpecifier: undefined + vBody: Block #580 + context: ASTContext #1000 + parent: ContractDefinition #606 + children: Array(3) [ ParameterList #574, ParameterList #575, Block #580 ] + vScope: ContractDefinition #606 + canonicalSignature: "testVariableDeclarationStatementDocString()" + canonicalSignatureHash: "810605b8" + firstChild: ParameterList #574 + lastChild: Block #580 + previousSibling: FunctionDefinition #573 + nextSibling: FunctionDefinition #590 + root: SourceUnit #607 + sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } + + ParameterList #574 + id: 574 + src: "0:0:0" + type: "ParameterList" + context: ASTContext #1000 + parent: FunctionDefinition #581 + vParameters: Array(0) + children: Array(0) + firstChild: undefined + lastChild: undefined + previousSibling: undefined + nextSibling: ParameterList #575 + root: SourceUnit #607 + sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } + + ParameterList #575 + id: 575 + src: "0:0:0" + type: "ParameterList" + context: ASTContext #1000 + parent: FunctionDefinition #581 + vParameters: Array(0) + children: Array(0) + firstChild: undefined + lastChild: undefined + previousSibling: ParameterList #574 + nextSibling: Block #580 + root: SourceUnit #607 + sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } + + Block #580 + id: 580 + src: "0:0:0" + type: "Block" + documentation: undefined + context: ASTContext #1000 + parent: FunctionDefinition #581 + vStatements: Array(1) [ VariableDeclarationStatement #579 ] + children: Array(1) [ VariableDeclarationStatement #579 ] + firstChild: VariableDeclarationStatement #579 + lastChild: VariableDeclarationStatement #579 + previousSibling: ParameterList #575 + nextSibling: undefined + root: SourceUnit #607 + sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } + + VariableDeclarationStatement #579 + id: 579 + src: "0:0:0" + type: "VariableDeclarationStatement" + documentation: "VariableDeclarationStatement docstring" + assignments: Array(1) [ 577 ] + vDeclarations: Array(1) [ VariableDeclaration #577 ] + vInitialValue: Literal #578 + context: ASTContext #1000 + parent: Block #580 + children: Array(2) [ VariableDeclaration #577, Literal #578 ] + firstChild: VariableDeclaration #577 + lastChild: Literal #578 + previousSibling: undefined + nextSibling: undefined + root: SourceUnit #607 + sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } + + VariableDeclaration #577 + id: 577 + src: "0:0:0" + type: "VariableDeclaration" + constant: false + indexed: false + name: "a" + scope: 580 + stateVariable: false + storageLocation: "default" + visibility: "internal" + mutability: "mutable" + typeString: "uint256" + documentation: undefined + nameLocation: "4169:1:0" + vType: ElementaryTypeName #576 + vOverrideSpecifier: undefined + vValue: undefined + context: ASTContext #1000 + parent: VariableDeclarationStatement #579 + children: Array(1) [ ElementaryTypeName #576 ] + vScope: Block #580 + canonicalSignatureType: "uint256" + getterCanonicalSignature: "a()" + getterCanonicalSignatureHash: "0dbe671f" + firstChild: ElementaryTypeName #576 + lastChild: ElementaryTypeName #576 + previousSibling: undefined + nextSibling: Literal #578 + root: SourceUnit #607 + sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } + + ElementaryTypeName #576 + id: 576 + src: "0:0:0" + type: "ElementaryTypeName" + typeString: "uint256" + name: "uint" + stateMutability: "nonpayable" + context: ASTContext #1000 + parent: VariableDeclaration #577 + children: Array(0) + firstChild: undefined + lastChild: undefined + previousSibling: undefined + nextSibling: undefined + root: SourceUnit #607 + sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } + + Literal #578 + id: 578 + src: "0:0:0" + type: "Literal" + typeString: "int_const 10" + kind: "number" + hexValue: "3130" + value: "10" + subdenomination: undefined + context: ASTContext #1000 + parent: VariableDeclarationStatement #579 + children: Array(0) + firstChild: undefined + lastChild: undefined + previousSibling: VariableDeclaration #577 + nextSibling: undefined + root: SourceUnit #607 + sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } + + FunctionDefinition #590 + id: 590 + src: "0:0:0" + type: "FunctionDefinition" + implemented: true + virtual: false + scope: 606 + kind: "function" + name: "revertWithLib" + visibility: "public" + stateMutability: "nonpayable" + isConstructor: false + documentation: undefined + nameLocation: "4197:13:0" + vParameters: ParameterList #582 + vReturnParameters: ParameterList #583 + vModifiers: Array(0) + vOverrideSpecifier: undefined + vBody: Block #589 + context: ASTContext #1000 + parent: ContractDefinition #606 + children: Array(3) [ ParameterList #582, ParameterList #583, Block #589 ] + vScope: ContractDefinition #606 + canonicalSignature: "revertWithLib()" + canonicalSignatureHash: "f1b5e6ed" + firstChild: ParameterList #582 + lastChild: Block #589 + previousSibling: FunctionDefinition #581 + nextSibling: FunctionDefinition #597 + root: SourceUnit #607 + sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } + + ParameterList #582 + id: 582 + src: "0:0:0" + type: "ParameterList" + context: ASTContext #1000 + parent: FunctionDefinition #590 + vParameters: Array(0) + children: Array(0) + firstChild: undefined + lastChild: undefined + previousSibling: undefined + nextSibling: ParameterList #583 + root: SourceUnit #607 + sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } + + ParameterList #583 + id: 583 + src: "0:0:0" + type: "ParameterList" + context: ASTContext #1000 + parent: FunctionDefinition #590 + vParameters: Array(0) + children: Array(0) + firstChild: undefined + lastChild: undefined + previousSibling: ParameterList #582 + nextSibling: Block #589 + root: SourceUnit #607 + sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } + + Block #589 + id: 589 + src: "0:0:0" + type: "Block" + documentation: undefined + context: ASTContext #1000 + parent: FunctionDefinition #590 + vStatements: Array(1) [ RevertStatement #588 ] + children: Array(1) [ RevertStatement #588 ] + firstChild: RevertStatement #588 + lastChild: RevertStatement #588 + previousSibling: ParameterList #583 + nextSibling: undefined + root: SourceUnit #607 + sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } + + RevertStatement #588 + id: 588 + src: "0:0:0" + type: "RevertStatement" + documentation: "RevertStatement docstring" + errorCall: FunctionCall #587 + context: ASTContext #1000 + parent: Block #589 + children: Array(1) [ FunctionCall #587 ] + firstChild: FunctionCall #587 + lastChild: FunctionCall #587 + previousSibling: undefined + nextSibling: undefined + root: SourceUnit #607 + sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } + + FunctionCall #587 + id: 587 + src: "0:0:0" + type: "FunctionCall" + typeString: "tuple()" + kind: "functionCall" + fieldNames: undefined + vExpression: MemberAccess #585 + vArguments: Array(1) [ Literal #586 ] + context: ASTContext #1000 + parent: RevertStatement #588 + children: Array(2) [ MemberAccess #585, Literal #586 ] + vIdentifier: "LibErrors084" + vMemberName: "Lib" + vFunctionCallType: "userDefined" + vReferencedDeclaration: ErrorDefinition #547 + vFunctionName: "Lib" + vCallee: MemberAccess #585 + firstChild: MemberAccess #585 + lastChild: Literal #586 + previousSibling: undefined + nextSibling: undefined + root: SourceUnit #607 + sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } + + MemberAccess #585 + id: 585 + src: "0:0:0" + type: "MemberAccess" + typeString: "function (bytes memory) pure" + vExpression: Identifier #584 + memberName: "Lib" + referencedDeclaration: 547 + context: ASTContext #1000 + parent: FunctionCall #587 + children: Array(1) [ Identifier #584 ] + vReferencedDeclaration: ErrorDefinition #547 + firstChild: Identifier #584 + lastChild: Identifier #584 + previousSibling: undefined + nextSibling: Literal #586 + root: SourceUnit #607 + sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } + + Identifier #584 + id: 584 + src: "0:0:0" + type: "Identifier" + typeString: "type(library LibErrors084)" + name: "LibErrors084" + referencedDeclaration: 548 + context: ASTContext #1000 + parent: MemberAccess #585 + vReferencedDeclaration: ContractDefinition #548 + vIdentifierType: "userDefined" + children: Array(0) + firstChild: undefined + lastChild: undefined + previousSibling: undefined + nextSibling: undefined + root: SourceUnit #607 + sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } + + Literal #586 + id: 586 + src: "0:0:0" + type: "Literal" + typeString: "literal_string hex\"001122\"" + kind: "hexString" + hexValue: "001122" + value: "\u0000\u0011\"" + subdenomination: undefined + context: ASTContext #1000 + parent: FunctionCall #587 + children: Array(0) + firstChild: undefined + lastChild: undefined + previousSibling: MemberAccess #585 + nextSibling: undefined + root: SourceUnit #607 + sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } + + FunctionDefinition #597 + id: 597 + src: "0:0:0" + type: "FunctionDefinition" + implemented: true + virtual: false + scope: 606 + kind: "function" + name: "revertWithOwn" + visibility: "public" + stateMutability: "nonpayable" + isConstructor: false + documentation: undefined + nameLocation: "4326:13:0" + vParameters: ParameterList #591 + vReturnParameters: ParameterList #592 + vModifiers: Array(0) + vOverrideSpecifier: undefined + vBody: Block #596 + context: ASTContext #1000 + parent: ContractDefinition #606 + children: Array(3) [ ParameterList #591, ParameterList #592, Block #596 ] + vScope: ContractDefinition #606 + canonicalSignature: "revertWithOwn()" + canonicalSignatureHash: "bdc93894" + firstChild: ParameterList #591 + lastChild: Block #596 + previousSibling: FunctionDefinition #590 + nextSibling: FunctionDefinition #605 + root: SourceUnit #607 + sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } + + ParameterList #591 + id: 591 + src: "0:0:0" + type: "ParameterList" + context: ASTContext #1000 + parent: FunctionDefinition #597 + vParameters: Array(0) + children: Array(0) + firstChild: undefined + lastChild: undefined + previousSibling: undefined + nextSibling: ParameterList #592 + root: SourceUnit #607 + sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } + + ParameterList #592 + id: 592 + src: "0:0:0" + type: "ParameterList" + context: ASTContext #1000 + parent: FunctionDefinition #597 + vParameters: Array(0) + children: Array(0) + firstChild: undefined + lastChild: undefined + previousSibling: ParameterList #591 + nextSibling: Block #596 + root: SourceUnit #607 + sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } + + Block #596 + id: 596 + src: "0:0:0" + type: "Block" + documentation: undefined + context: ASTContext #1000 + parent: FunctionDefinition #597 + vStatements: Array(1) [ RevertStatement #595 ] + children: Array(1) [ RevertStatement #595 ] + firstChild: RevertStatement #595 + lastChild: RevertStatement #595 + previousSibling: ParameterList #592 + nextSibling: undefined + root: SourceUnit #607 + sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } + + RevertStatement #595 + id: 595 + src: "0:0:0" + type: "RevertStatement" + documentation: undefined + errorCall: FunctionCall #594 + context: ASTContext #1000 + parent: Block #596 + children: Array(1) [ FunctionCall #594 ] + firstChild: FunctionCall #594 + lastChild: FunctionCall #594 + previousSibling: undefined + nextSibling: undefined + root: SourceUnit #607 + sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } + + FunctionCall #594 + id: 594 + src: "0:0:0" + type: "FunctionCall" + typeString: "tuple()" + kind: "functionCall" + fieldNames: undefined + vExpression: Identifier #593 + vArguments: Array(0) + context: ASTContext #1000 + parent: RevertStatement #595 + children: Array(1) [ Identifier #593 ] + vIdentifier: "Own" + vMemberName: undefined + vFunctionCallType: "userDefined" + vReferencedDeclaration: ErrorDefinition #551 + vFunctionName: "Own" + vCallee: Identifier #593 + firstChild: Identifier #593 + lastChild: Identifier #593 + previousSibling: undefined + nextSibling: undefined + root: SourceUnit #607 + sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } + + Identifier #593 + id: 593 + src: "0:0:0" + type: "Identifier" + typeString: "function () pure" + name: "Own" + referencedDeclaration: 551 + context: ASTContext #1000 + parent: FunctionCall #594 + vReferencedDeclaration: ErrorDefinition #551 + vIdentifierType: "userDefined" + children: Array(0) + firstChild: undefined + lastChild: undefined + previousSibling: undefined + nextSibling: undefined + root: SourceUnit #607 + sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } + + FunctionDefinition #605 + id: 605 + src: "0:0:0" + type: "FunctionDefinition" + implemented: true + virtual: false + scope: 606 + kind: "function" + name: "revertWithUnitLevelError" + visibility: "public" + stateMutability: "nonpayable" + isConstructor: false + documentation: undefined + nameLocation: "4393:24:0" + vParameters: ParameterList #598 + vReturnParameters: ParameterList #599 + vModifiers: Array(0) + vOverrideSpecifier: undefined + vBody: Block #604 + context: ASTContext #1000 + parent: ContractDefinition #606 + children: Array(3) [ ParameterList #598, ParameterList #599, Block #604 ] + vScope: ContractDefinition #606 + canonicalSignature: "revertWithUnitLevelError()" + canonicalSignatureHash: "316d273c" + firstChild: ParameterList #598 + lastChild: Block #604 + previousSibling: FunctionDefinition #597 + nextSibling: undefined + root: SourceUnit #607 + sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } + + ParameterList #598 + id: 598 + src: "0:0:0" + type: "ParameterList" + context: ASTContext #1000 + parent: FunctionDefinition #605 + vParameters: Array(0) + children: Array(0) + firstChild: undefined + lastChild: undefined + previousSibling: undefined + nextSibling: ParameterList #599 + root: SourceUnit #607 + sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } + + ParameterList #599 + id: 599 + src: "0:0:0" + type: "ParameterList" + context: ASTContext #1000 + parent: FunctionDefinition #605 + vParameters: Array(0) + children: Array(0) + firstChild: undefined + lastChild: undefined + previousSibling: ParameterList #598 + nextSibling: Block #604 + root: SourceUnit #607 + sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } + + Block #604 + id: 604 + src: "0:0:0" + type: "Block" + documentation: undefined + context: ASTContext #1000 + parent: FunctionDefinition #605 + vStatements: Array(1) [ RevertStatement #603 ] + children: Array(1) [ RevertStatement #603 ] + firstChild: RevertStatement #603 + lastChild: RevertStatement #603 + previousSibling: ParameterList #599 + nextSibling: undefined + root: SourceUnit #607 + sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } + + RevertStatement #603 + id: 603 + src: "0:0:0" + type: "RevertStatement" + documentation: undefined + errorCall: FunctionCall #602 + context: ASTContext #1000 + parent: Block #604 + children: Array(1) [ FunctionCall #602 ] + firstChild: FunctionCall #602 + lastChild: FunctionCall #602 + previousSibling: undefined + nextSibling: undefined + root: SourceUnit #607 + sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } + + FunctionCall #602 + id: 602 + src: "0:0:0" + type: "FunctionCall" + typeString: "tuple()" + kind: "functionCall" + fieldNames: undefined + vExpression: Identifier #600 + vArguments: Array(1) [ Literal #601 ] + context: ASTContext #1000 + parent: RevertStatement #603 + children: Array(2) [ Identifier #600, Literal #601 ] + vIdentifier: "UnitLevelError084" + vMemberName: undefined + vFunctionCallType: "userDefined" + vReferencedDeclaration: ErrorDefinition #542 + vFunctionName: "UnitLevelError084" + vCallee: Identifier #600 + firstChild: Identifier #600 + lastChild: Literal #601 + previousSibling: undefined + nextSibling: undefined + root: SourceUnit #607 + sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } + + Identifier #600 + id: 600 + src: "0:0:0" + type: "Identifier" + typeString: "function (uint256) pure" + name: "UnitLevelError084" + referencedDeclaration: 542 + context: ASTContext #1000 + parent: FunctionCall #602 + vReferencedDeclaration: ErrorDefinition #542 + vIdentifierType: "userDefined" + children: Array(0) + firstChild: undefined + lastChild: undefined + previousSibling: undefined + nextSibling: Literal #601 + root: SourceUnit #607 + sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } + + Literal #601 + id: 601 + src: "0:0:0" + type: "Literal" + typeString: "int_const 1" + kind: "number" + hexValue: "31" + value: "1" + subdenomination: undefined + context: ASTContext #1000 + parent: FunctionCall #602 + children: Array(0) + firstChild: undefined + lastChild: undefined + previousSibling: Identifier #600 + nextSibling: undefined + root: SourceUnit #607 + sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } + +SourceUnit #623 + id: 623 + src: "0:0:0" + type: "SourceUnit" + sourceEntryKey: "./test/samples/solidity/latest_imports_08.sol" + sourceListIndex: 1 + absolutePath: "./test/samples/solidity/latest_imports_08.sol" + exportedSymbols: Map(2) { "SomeContract" -> 621, "SomeLib" -> 622 } + context: ASTContext #1000 + vPragmaDirectives: Array(2) [ PragmaDirective #608, PragmaDirective #609 ] + vImportDirectives: Array(0) + vContracts: Array(2) [ ContractDefinition #621, ContractDefinition #622 ] + vEnums: Array(0) + vErrors: Array(0) + vStructs: Array(0) + vFunctions: Array(0) + vVariables: Array(0) + vExportedSymbols: Map(2) { "SomeContract" -> ContractDefinition #621, "SomeLib" -> ContractDefinition #622 } + children: Array(4) [ PragmaDirective #608, PragmaDirective #609, ContractDefinition #621, ContractDefinition #622 ] + firstChild: PragmaDirective #608 + lastChild: ContractDefinition #622 + previousSibling: undefined + nextSibling: undefined + root: SourceUnit #623 + sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } + + PragmaDirective #608 + id: 608 + src: "0:0:0" + type: "PragmaDirective" + literals: Array(4) [ "solidity", "^", "0.8", ".0" ] + context: ASTContext #1000 + parent: SourceUnit #623 + vIdentifier: "solidity" + vValue: "^0.8.0" + children: Array(0) + firstChild: undefined + lastChild: undefined + previousSibling: undefined + nextSibling: PragmaDirective #609 + root: SourceUnit #623 + sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } + + PragmaDirective #609 + id: 609 + src: "0:0:0" + type: "PragmaDirective" + literals: Array(2) [ "abicoder", "v2" ] + context: ASTContext #1000 + parent: SourceUnit #623 + vIdentifier: "abicoder" + vValue: "v2" + children: Array(0) + firstChild: undefined + lastChild: undefined + previousSibling: PragmaDirective #608 + nextSibling: ContractDefinition #621 + root: SourceUnit #623 + sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } + + ContractDefinition #621 + id: 621 + src: "0:0:0" + type: "ContractDefinition" + name: "SomeContract" + scope: 623 + kind: "contract" + abstract: false + fullyImplemented: true + linearizedBaseContracts: Array(1) [ 621 ] + usedErrors: Array(0) + docString: undefined + nameLocation: "54:12:1" + context: ASTContext #1000 + parent: SourceUnit #623 + documentation: undefined + vScope: SourceUnit #623 + vLinearizedBaseContracts: Array(1) [ ContractDefinition #621 ] + vUsedErrors: Array(0) + vInheritanceSpecifiers: Array(0) + vStateVariables: Array(0) + vModifiers: Array(0) + vEvents: Array(0) + vErrors: Array(0) + vFunctions: Array(1) [ FunctionDefinition #620 ] + vUsingForDirectives: Array(0) + vStructs: Array(1) [ StructDefinition #612 ] + vEnums: Array(0) + vConstructor: undefined + interfaceId: undefined + children: Array(2) [ StructDefinition #612, FunctionDefinition #620 ] + firstChild: StructDefinition #612 + lastChild: FunctionDefinition #620 + previousSibling: PragmaDirective #609 + nextSibling: ContractDefinition #622 + root: SourceUnit #623 + sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } + + StructDefinition #612 + id: 612 + src: "0:0:0" + type: "StructDefinition" + name: "SomeStruct" + canonicalName: "SomeContract.SomeStruct" + scope: 621 + visibility: "public" + nameLocation: "80:10:1" + context: ASTContext #1000 + parent: ContractDefinition #621 + vMembers: Array(1) [ VariableDeclaration #611 ] + vScope: ContractDefinition #621 + children: Array(1) [ VariableDeclaration #611 ] + firstChild: VariableDeclaration #611 + lastChild: VariableDeclaration #611 + previousSibling: undefined + nextSibling: FunctionDefinition #620 + root: SourceUnit #623 + sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } + + VariableDeclaration #611 + id: 611 + src: "0:0:0" + type: "VariableDeclaration" + constant: false + indexed: false + name: "n" + scope: 612 + stateVariable: false + storageLocation: "default" + visibility: "internal" + mutability: "mutable" + typeString: "uint256" + documentation: undefined + nameLocation: "106:1:1" + vType: ElementaryTypeName #610 + vOverrideSpecifier: undefined + vValue: undefined + context: ASTContext #1000 + parent: StructDefinition #612 + children: Array(1) [ ElementaryTypeName #610 ] + vScope: StructDefinition #612 + canonicalSignatureType: "uint256" + getterCanonicalSignature: "n()" + getterCanonicalSignatureHash: "2e52d606" + firstChild: ElementaryTypeName #610 + lastChild: ElementaryTypeName #610 + previousSibling: undefined + nextSibling: undefined + root: SourceUnit #623 + sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } + + ElementaryTypeName #610 + id: 610 + src: "0:0:0" + type: "ElementaryTypeName" + typeString: "uint256" + name: "uint" + stateMutability: "nonpayable" + context: ASTContext #1000 + parent: VariableDeclaration #611 + children: Array(0) + firstChild: undefined + lastChild: undefined + previousSibling: undefined + nextSibling: undefined + root: SourceUnit #623 + sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } + + FunctionDefinition #620 + id: 620 + src: "0:0:0" + type: "FunctionDefinition" + implemented: true + virtual: true + scope: 621 + kind: "function" + name: "some" + visibility: "public" + stateMutability: "nonpayable" + isConstructor: false + documentation: undefined + nameLocation: "129:4:1" + vParameters: ParameterList #613 + vReturnParameters: ParameterList #616 + vModifiers: Array(0) + vOverrideSpecifier: undefined + vBody: Block #619 + context: ASTContext #1000 + parent: ContractDefinition #621 + children: Array(3) [ ParameterList #613, ParameterList #616, Block #619 ] + vScope: ContractDefinition #621 + canonicalSignature: "some()" + canonicalSignatureHash: "c03ee3d3" + firstChild: ParameterList #613 + lastChild: Block #619 + previousSibling: StructDefinition #612 + nextSibling: undefined + root: SourceUnit #623 + sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } + + ParameterList #613 + id: 613 + src: "0:0:0" + type: "ParameterList" + context: ASTContext #1000 + parent: FunctionDefinition #620 + vParameters: Array(0) + children: Array(0) + firstChild: undefined + lastChild: undefined + previousSibling: undefined + nextSibling: ParameterList #616 + root: SourceUnit #623 + sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } + + ParameterList #616 + id: 616 + src: "0:0:0" + type: "ParameterList" + context: ASTContext #1000 + parent: FunctionDefinition #620 + vParameters: Array(1) [ VariableDeclaration #615 ] + children: Array(1) [ VariableDeclaration #615 ] + firstChild: VariableDeclaration #615 + lastChild: VariableDeclaration #615 + previousSibling: ParameterList #613 + nextSibling: Block #619 + root: SourceUnit #623 + sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } + + VariableDeclaration #615 + id: 615 + src: "0:0:0" + type: "VariableDeclaration" + constant: false + indexed: false + name: "" + scope: 620 + stateVariable: false + storageLocation: "default" + visibility: "internal" + mutability: "mutable" + typeString: "uint256" + documentation: undefined + nameLocation: "-1:-1:-1" + vType: ElementaryTypeName #614 + vOverrideSpecifier: undefined + vValue: undefined + context: ASTContext #1000 + parent: ParameterList #616 + children: Array(1) [ ElementaryTypeName #614 ] + vScope: FunctionDefinition #620 + canonicalSignatureType: "uint256" + getterCanonicalSignature: "()" + getterCanonicalSignatureHash: "861731d5" + firstChild: ElementaryTypeName #614 + lastChild: ElementaryTypeName #614 + previousSibling: undefined + nextSibling: undefined + root: SourceUnit #623 + sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } + + ElementaryTypeName #614 + id: 614 src: "0:0:0" type: "ElementaryTypeName" typeString: "uint256" name: "uint" stateMutability: "nonpayable" context: ASTContext #1000 - parent: VariableDeclaration #475 + parent: VariableDeclaration #615 children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined nextSibling: undefined - root: SourceUnit #483 + root: SourceUnit #623 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Block #479 - id: 479 + Block #619 + id: 619 src: "0:0:0" type: "Block" documentation: undefined context: ASTContext #1000 - parent: FunctionDefinition #480 - vStatements: Array(1) [ Return #478 ] - children: Array(1) [ Return #478 ] - firstChild: Return #478 - lastChild: Return #478 - previousSibling: ParameterList #476 + parent: FunctionDefinition #620 + vStatements: Array(1) [ Return #618 ] + children: Array(1) [ Return #618 ] + firstChild: Return #618 + lastChild: Return #618 + previousSibling: ParameterList #616 nextSibling: undefined - root: SourceUnit #483 + root: SourceUnit #623 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Return #478 - id: 478 + Return #618 + id: 618 src: "0:0:0" type: "Return" documentation: undefined - functionReturnParameters: 236 - vExpression: Literal #477 + functionReturnParameters: 307 + vExpression: Literal #617 context: ASTContext #1000 - parent: Block #479 - children: Array(1) [ Literal #477 ] - vFunctionReturnParameters: ParameterList #236 - firstChild: Literal #477 - lastChild: Literal #477 + parent: Block #619 + children: Array(1) [ Literal #617 ] + vFunctionReturnParameters: ParameterList #307 + firstChild: Literal #617 + lastChild: Literal #617 previousSibling: undefined nextSibling: undefined - root: SourceUnit #483 + root: SourceUnit #623 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Literal #477 - id: 477 + Literal #617 + id: 617 src: "0:0:0" type: "Literal" typeString: "int_const 1" @@ -4704,36 +6134,39 @@ SourceUnit #483 value: "1" subdenomination: undefined context: ASTContext #1000 - parent: Return #478 + parent: Return #618 children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined nextSibling: undefined - root: SourceUnit #483 + root: SourceUnit #623 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ContractDefinition #482 - id: 482 + ContractDefinition #622 + id: 622 src: "0:0:0" type: "ContractDefinition" name: "SomeLib" - scope: 483 + scope: 623 kind: "library" abstract: false fullyImplemented: true - linearizedBaseContracts: Array(1) [ 482 ] + linearizedBaseContracts: Array(1) [ 622 ] + usedErrors: Array(0) docString: undefined nameLocation: "202:7:1" context: ASTContext #1000 - parent: SourceUnit #483 + parent: SourceUnit #623 documentation: undefined - vScope: SourceUnit #483 - vLinearizedBaseContracts: Array(1) [ ContractDefinition #482 ] + vScope: SourceUnit #623 + vLinearizedBaseContracts: Array(1) [ ContractDefinition #622 ] + vUsedErrors: Array(0) vInheritanceSpecifiers: Array(0) vStateVariables: Array(0) vModifiers: Array(0) vEvents: Array(0) + vErrors: Array(0) vFunctions: Array(0) vUsingForDirectives: Array(0) vStructs: Array(0) @@ -4743,7 +6176,7 @@ SourceUnit #483 children: Array(0) firstChild: undefined lastChild: undefined - previousSibling: ContractDefinition #481 + previousSibling: ContractDefinition #621 nextSibling: undefined - root: SourceUnit #483 + root: SourceUnit #623 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } diff --git a/test/samples/solidity/latest_08.sol b/test/samples/solidity/latest_08.sol index ace69f92..e783f6a8 100644 --- a/test/samples/solidity/latest_08.sol +++ b/test/samples/solidity/latest_08.sol @@ -151,3 +151,51 @@ contract Features082 { return; } } + +/// UnitLevelError error docstring +error UnitLevelError084(uint code); + +library LibErrors084 { + /// LibErrors084.Lib error docstring + error Lib(bytes b); +} + +contract Features084 { + /// Features084.Own error docstring + error Own(); + + function testAssemblyHexLiterals() public { + assembly { + let a := "test" + let x := hex"112233445566778899aabbccddeeff6677889900" + let y := hex"1234_abcd" + + sstore(0, x) + sstore(1, y) + + pop(hex"2233") + } + } + + function testBytesConcatBuiltin(bytes memory a, bytes memory b) public pure returns (bytes memory c) { + return bytes.concat(a, b); + } + + function testVariableDeclarationStatementDocString() public { + /// VariableDeclarationStatement docstring + uint a = 10; + } + + function revertWithLib() public { + /// RevertStatement docstring + revert LibErrors084.Lib(hex"001122"); + } + + function revertWithOwn() public { + revert Own(); + } + + function revertWithUnitLevelError() public { + revert UnitLevelError084(1); + } +} diff --git a/test/samples/solidity/latest_08.sourced.sol b/test/samples/solidity/latest_08.sourced.sol index c8f15c0e..d309575f 100644 --- a/test/samples/solidity/latest_08.sourced.sol +++ b/test/samples/solidity/latest_08.sourced.sol @@ -8,6 +8,9 @@ import "./latest_imports_08.sol" as LI; enum EnumABC { A, B, C } +/// UnitLevelError error docstring +error UnitLevelError084(uint code); + contract UncheckedMathExample { function test() public pure returns (uint) { uint x = 0; @@ -105,6 +108,49 @@ contract Features082 { return; } } + +library LibErrors084 { + /// LibErrors084.Lib error docstring + error Lib(bytes b); +} + +contract Features084 { + /// Features084.Own error docstring + error Own(); + + function testAssemblyHexLiterals() public { + assembly { + let a := "test" + let x := "\u0011\"3DUfwșʻ̝wș\u0000" + let y := "\u00124ˍ" + sstore(0, x) + sstore(1, y) + pop("\"3") + } + } + + function testBytesConcatBuiltin(bytes memory a, bytes memory b) public pure returns (bytes memory c) { + return bytes.concat(a, b); + } + + function testVariableDeclarationStatementDocString() public { + /// VariableDeclarationStatement docstring + uint a = 10; + } + + function revertWithLib() public { + /// RevertStatement docstring + revert LibErrors084.Lib(hex"001122"); + } + + function revertWithOwn() public { + revert Own(); + } + + function revertWithUnitLevelError() public { + revert UnitLevelError084(1); + } +} // ------------------------------------------------------------ // /test/samples/solidity/latest_imports_08.sol // ------------------------------------------------------------ diff --git a/test/unit/ast/ast_node_factory/copy.spec.ts b/test/unit/ast/ast_node_factory/copy.spec.ts index 1f398626..a4f0bc95 100644 --- a/test/unit/ast/ast_node_factory/copy.spec.ts +++ b/test/unit/ast/ast_node_factory/copy.spec.ts @@ -149,6 +149,7 @@ describe("ASTNodeFactory.copy()", () => { false, true, [], + [], "doc string" ); @@ -292,6 +293,7 @@ describe("ASTNodeFactory.copy()", () => { false, true, [], + [], "doc string" ); diff --git a/test/unit/ast/ast_node_factory/make.spec.ts b/test/unit/ast/ast_node_factory/make.spec.ts index e15ea1bd..ddc103f5 100644 --- a/test/unit/ast/ast_node_factory/make.spec.ts +++ b/test/unit/ast/ast_node_factory/make.spec.ts @@ -85,6 +85,7 @@ describe("ASTNodeFactory.make*()", () => { false, true, [], + [], "doc string" ); @@ -170,6 +171,7 @@ describe("ASTNodeFactory.make*()", () => { false, true, [], + [], "doc string" ); @@ -291,6 +293,7 @@ describe("ASTNodeFactory.make*()", () => { false, true, [], + [], "doc string" ); diff --git a/test/unit/ast/nodes/contract_definition.spec.ts b/test/unit/ast/nodes/contract_definition.spec.ts index 865335c7..b00df58e 100644 --- a/test/unit/ast/nodes/contract_definition.spec.ts +++ b/test/unit/ast/nodes/contract_definition.spec.ts @@ -40,6 +40,7 @@ describe("ContractDefinition", () => { false, true, [3], + [], undefined, [] ); @@ -77,6 +78,7 @@ describe("ContractDefinition", () => { false, true, [2], + [], undefined, [myEnum1] ); @@ -124,6 +126,7 @@ describe("ContractDefinition", () => { false, true, [3], + [], undefined, [myEnum1, myEnum2] ); @@ -174,6 +177,7 @@ describe("ContractDefinition", () => { false, true, [3], + [], undefined, [myEnum1, myEnum2] ); @@ -233,6 +237,7 @@ describe("ContractDefinition", () => { false, true, [4], + [], undefined, [myEnum1, myEnum2, myEnum3] ); @@ -285,6 +290,7 @@ describe("ContractDefinition", () => { false, true, [3], + [], undefined, [myEnum1] ); @@ -343,6 +349,7 @@ describe("ContractDefinition", () => { false, true, [4], + [], undefined, [myEnum1, myEnum2] ); @@ -395,6 +402,7 @@ describe("ContractDefinition", () => { false, true, [3], + [], undefined, [myEnum1] ); @@ -453,6 +461,7 @@ describe("ContractDefinition", () => { false, true, [4], + [], undefined, [myEnum1, myEnum2] ); @@ -502,6 +511,7 @@ describe("ContractDefinition", () => { false, true, [3], + [], undefined, [myEnum1] ); @@ -567,6 +577,7 @@ describe("ContractDefinition", () => { false, true, [5], + [], undefined, [myEnum1, myEnum2, myEnum3] );