From f3f9d80d6fb7e0b04b72d2ceac33a609dd60fe3b Mon Sep 17 00:00:00 2001 From: cgewecke Date: Sun, 25 Apr 2021 08:55:29 -0700 Subject: [PATCH 1/2] Upgrade hardhat to 2.2.1 (Berlin) / add test:fast yarn commands --- hardhat.config.ts | 1 - package.json | 4 +- tasks/subtasks.ts | 2 + yarn.lock | 476 +++++++++++++++++++++++++++++++++++++++++----- 4 files changed, 438 insertions(+), 45 deletions(-) diff --git a/hardhat.config.ts b/hardhat.config.ts index 47df4aa9d..d9891bebc 100644 --- a/hardhat.config.ts +++ b/hardhat.config.ts @@ -21,7 +21,6 @@ const config: HardhatUserConfig = { }, networks: { hardhat: { - hardfork: "istanbul", accounts: getHardhatPrivateKeys(), }, localhost: { diff --git a/package.json b/package.json index 579fb7039..185543706 100644 --- a/package.json +++ b/package.json @@ -34,6 +34,8 @@ "rename-extensions": "for f in typechain/*.d.ts; do mv -- \"$f\" \"${f%.d.ts}.ts\"; done", "test": "npx hardhat test --network localhost", "test:clean": "yarn clean && yarn build && yarn test", + "test:fast": "NO_COMPILE=true TS_NODE_TRANSPILE_ONLY=1 npx hardhat test --network localhost --no-compile", + "test:fast:compile": "TS_NODE_TRANSPILE_ONLY=1 npx hardhat test --network localhost", "transpile": "tsc", "transpile-dist": "tsc -p tsconfig.dist.json", "typechain": "npx hardhat typechain" @@ -65,7 +67,7 @@ "dotenv": "^8.2.0", "ethereum-waffle": "^3.2.1", "ethers": "^5.0.24", - "hardhat": "^2.0.6", + "hardhat": "2.2.1", "hardhat-deploy": "^0.7.0-beta.39", "hardhat-typechain": "^0.3.4", "husky": "^4.2.5", diff --git a/tasks/subtasks.ts b/tasks/subtasks.ts index d096fcdcd..66be7a41f 100644 --- a/tasks/subtasks.ts +++ b/tasks/subtasks.ts @@ -23,6 +23,8 @@ internalTask(TASK_COMPILE_SOLIDITY_COMPILE).setAction(setupNativeSolc); // Fix gas to be string instead of number in typechain files internalTask(TASK_TEST_SETUP_TEST_ENVIRONMENT) .setAction(async function setupNativeSolc({ input }, { config }, runSuper) { + if (process.env.NO_COMPILE === "true") return; + const replace = require("replace-in-file"); const options = { diff --git a/yarn.lock b/yarn.lock index ee3df317e..0502f6e19 100644 --- a/yarn.lock +++ b/yarn.lock @@ -89,6 +89,76 @@ patch-package "^6.2.2" postinstall-postinstall "^2.1.0" +"@ethereumjs/block@^3.2.0", "@ethereumjs/block@^3.2.1": + version "3.2.1" + resolved "https://registry.yarnpkg.com/@ethereumjs/block/-/block-3.2.1.tgz#c24c345e6dd6299efa4bed40979280b7dda96d3a" + integrity sha512-FCxo5KwwULne2A2Yuae4iaGGqSsRjwzXOlDhGalOFiBbLfP3hE04RHaHGw4c8vh1PfOrLauwi0dQNUBkOG3zIA== + dependencies: + "@ethereumjs/common" "^2.2.0" + "@ethereumjs/tx" "^3.1.3" + ethereumjs-util "^7.0.10" + merkle-patricia-tree "^4.1.0" + +"@ethereumjs/blockchain@^5.2.1": + version "5.2.1" + resolved "https://registry.yarnpkg.com/@ethereumjs/blockchain/-/blockchain-5.2.1.tgz#83ed83647667265f1666f111caf065ef9d1e82b5" + integrity sha512-+hshP2qSOOFsiYvZCbaDQFG7jYTWafE8sfBi+pAsdhAHfP7BN7VLyob7qoQISgwS1s7NTR4c4+2t/woU9ahItw== + dependencies: + "@ethereumjs/block" "^3.2.0" + "@ethereumjs/common" "^2.2.0" + "@ethereumjs/ethash" "^1.0.0" + debug "^2.2.0" + ethereumjs-util "^7.0.9" + level-mem "^5.0.1" + lru-cache "^5.1.1" + rlp "^2.2.4" + semaphore-async-await "^1.5.1" + +"@ethereumjs/common@^2.2.0": + version "2.2.0" + resolved "https://registry.yarnpkg.com/@ethereumjs/common/-/common-2.2.0.tgz#850a3e3e594ee707ad8d44a11e8152fb62450535" + integrity sha512-PyQiTG00MJtBRkJmv46ChZL8u2XWxNBeAthznAUIUiefxPAXjbkuiCZOuncgJS34/XkMbNc9zMt/PlgKRBElig== + dependencies: + crc-32 "^1.2.0" + ethereumjs-util "^7.0.9" + +"@ethereumjs/ethash@^1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@ethereumjs/ethash/-/ethash-1.0.0.tgz#4e77f85b37be1ade5393e8719bdabac3e796ddaa" + integrity sha512-iIqnGG6NMKesyOxv2YctB2guOVX18qMAWlj3QlZyrc+GqfzLqoihti+cVNQnyNxr7eYuPdqwLQOFuPe6g/uKjw== + dependencies: + "@types/levelup" "^4.3.0" + buffer-xor "^2.0.1" + ethereumjs-util "^7.0.7" + miller-rabin "^4.0.0" + +"@ethereumjs/tx@^3.1.3": + version "3.1.4" + resolved "https://registry.yarnpkg.com/@ethereumjs/tx/-/tx-3.1.4.tgz#04cf9e9406da5f04a1a26c458744641f4b4b8dd0" + integrity sha512-6cJpmmjCpG5ZVN9NJYtWvmrEQcevw9DIR8hj2ca2PszD2fxbIFXky3Z37gpf8S6u0Npv09kG8It+G4xjydZVLg== + dependencies: + "@ethereumjs/common" "^2.2.0" + ethereumjs-util "^7.0.10" + +"@ethereumjs/vm@^5.3.2": + version "5.3.2" + resolved "https://registry.yarnpkg.com/@ethereumjs/vm/-/vm-5.3.2.tgz#b4d83a3d50a7ad22d6d412cc21bbde221b3e2871" + integrity sha512-QmCUQrW6xbhgEbQh9njue4kAJdM056C+ytBFUTF/kDYa3kNDm4Qxp9HUyTlt1OCSXvDhws0qqlh8+q+pmXpN7g== + dependencies: + "@ethereumjs/block" "^3.2.1" + "@ethereumjs/blockchain" "^5.2.1" + "@ethereumjs/common" "^2.2.0" + "@ethereumjs/tx" "^3.1.3" + async-eventemitter "^0.2.4" + core-js-pure "^3.0.1" + debug "^2.2.0" + ethereumjs-util "^7.0.10" + functional-red-black-tree "^1.0.1" + mcl-wasm "^0.7.1" + merkle-patricia-tree "^4.1.0" + rustbn.js "~0.2.0" + util.promisify "^1.0.1" + "@ethersproject/abi@5.0.0-beta.153": version "5.0.0-beta.153" resolved "https://registry.yarnpkg.com/@ethersproject/abi/-/abi-5.0.0-beta.153.tgz#43a37172b33794e4562999f6e2d555b7599a8eee" @@ -476,27 +546,6 @@ "@nodelib/fs.scandir" "2.1.4" fastq "^1.6.0" -"@nomiclabs/ethereumjs-vm@^4.1.1": - version "4.2.0" - resolved "https://registry.yarnpkg.com/@nomiclabs/ethereumjs-vm/-/ethereumjs-vm-4.2.0.tgz#a853bdb4fb032529f810f32bb767551d19d7ce57" - integrity sha512-+XwqoO941bILTO4KDLIUJ37U42ySxw6it7jyoi0tKv0/VUcOrWKF1TCQWMv6dBDRlxpPQd273n9o5SVlYYLRWQ== - dependencies: - async "^2.1.2" - async-eventemitter "^0.2.2" - core-js-pure "^3.0.1" - ethereumjs-account "^3.0.0" - ethereumjs-block "^2.2.2" - ethereumjs-blockchain "^4.0.3" - ethereumjs-common "^1.5.0" - ethereumjs-tx "^2.1.2" - ethereumjs-util "^6.2.0" - fake-merkle-patricia-tree "^1.0.1" - functional-red-black-tree "^1.0.1" - merkle-patricia-tree "^2.3.2" - rustbn.js "~0.2.0" - safe-buffer "^5.1.1" - util.promisify "^1.0.0" - "@nomiclabs/hardhat-ethers@^2.0.1": version "2.0.1" resolved "https://registry.yarnpkg.com/@nomiclabs/hardhat-ethers/-/hardhat-ethers-2.0.1.tgz#f86a6fa210dbe6270adffccc75e93ed60a856904" @@ -686,6 +735,11 @@ resolved "https://registry.yarnpkg.com/@typechain/web3-v1/-/web3-v1-1.0.0.tgz#842f925e45bdfb0d28e08c0e355f1c8efed7ea91" integrity sha512-MM8PmsblePaxy5BCYEuPtR4ajigPf504VRQzZgFYqs6KuFnJxbOjF8jNYT12P6UvUX7us75Wc78QdbvOHbb4hA== +"@types/abstract-leveldown@*": + version "5.0.1" + resolved "https://registry.yarnpkg.com/@types/abstract-leveldown/-/abstract-leveldown-5.0.1.tgz#3c7750d0186b954c7f2d2f6acc8c3c7ba0c3412e" + integrity sha512-wYxU3kp5zItbxKmeRYCEplS2MW7DzyBnxPGj+GJVHZEUZiK/nn5Ei1sUFgURDh+X051+zsGe28iud3oHjrYWQQ== + "@types/bn.js@*", "@types/bn.js@^4.11.3", "@types/bn.js@^4.11.4", "@types/bn.js@^4.11.5": version "4.11.6" resolved "https://registry.yarnpkg.com/@types/bn.js/-/bn.js-4.11.6.tgz#c306c70d9358aaea33cd4eda092a742b9505967c" @@ -693,6 +747,13 @@ dependencies: "@types/node" "*" +"@types/bn.js@^5.1.0": + version "5.1.0" + resolved "https://registry.yarnpkg.com/@types/bn.js/-/bn.js-5.1.0.tgz#32c5d271503a12653c62cf4d2b45e6eab8cebc68" + integrity sha512-QSSVYj7pYFN49kW77o2s9xTCwZ8F2xLbjLLSEVh8D2F4JUhZtPAGOFLTD+ffqksBx/u4cE/KImFjyhqCjn/LIA== + dependencies: + "@types/node" "*" + "@types/chai@*", "@types/chai@^4.2.11": version "4.2.14" resolved "https://registry.yarnpkg.com/@types/chai/-/chai-4.2.14.tgz#44d2dd0b5de6185089375d976b4ec5caf6861193" @@ -713,6 +774,14 @@ "@types/minimatch" "*" "@types/node" "*" +"@types/levelup@^4.3.0": + version "4.3.1" + resolved "https://registry.yarnpkg.com/@types/levelup/-/levelup-4.3.1.tgz#7a53b9fd510716e11b2065332790fdf5f9b950b9" + integrity sha512-n//PeTpbHLjMLTIgW5B/g06W/6iuTBHuvUka2nFL9APMSVMNe2r4enADfu3CIE9IyV9E+uquf9OEQQqrDeg24A== + dependencies: + "@types/abstract-leveldown" "*" + "@types/node" "*" + "@types/lodash@^4.14.86": version "4.14.167" resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.167.tgz#ce7d78553e3c886d4ea643c37ec7edc20f16765e" @@ -875,6 +944,17 @@ abstract-leveldown@^5.0.0, abstract-leveldown@~5.0.0: dependencies: xtend "~4.0.0" +abstract-leveldown@^6.2.1: + version "6.3.0" + resolved "https://registry.yarnpkg.com/abstract-leveldown/-/abstract-leveldown-6.3.0.tgz#d25221d1e6612f820c35963ba4bd739928f6026a" + integrity sha512-TU5nlYgta8YrBMNpc9FwQzRbiXsj49gsALsXadbGHt9CROPzX5fB0rWDR5mtdpOOKa5XqRFpbj1QroPAoPzVjQ== + dependencies: + buffer "^5.5.0" + immediate "^3.2.3" + level-concat-iterator "~2.0.0" + level-supports "~1.0.0" + xtend "~4.0.0" + abstract-leveldown@~2.6.0: version "2.6.3" resolved "https://registry.yarnpkg.com/abstract-leveldown/-/abstract-leveldown-2.6.3.tgz#1c5e8c6a5ef965ae8c35dfb3a8770c476b82c4b8" @@ -882,6 +962,17 @@ abstract-leveldown@~2.6.0: dependencies: xtend "~4.0.0" +abstract-leveldown@~6.2.1: + version "6.2.3" + resolved "https://registry.yarnpkg.com/abstract-leveldown/-/abstract-leveldown-6.2.3.tgz#036543d87e3710f2528e47040bc3261b77a9a8eb" + integrity sha512-BsLm5vFMRUrrLeCcRc+G0t2qOaTzpoJQLOubq2XM72eNpjF5UdU5o/5NvlNhx95XHcAvcl8OMXr4mlg/fRgUXQ== + dependencies: + buffer "^5.5.0" + immediate "^3.2.3" + level-concat-iterator "~2.0.0" + level-supports "~1.0.0" + xtend "~4.0.0" + accepts@~1.3.7: version "1.3.7" resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.7.tgz#531bc726517a3b2b41f850021c6cc15eaab507cd" @@ -1132,7 +1223,7 @@ astral-regex@^2.0.0: resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== -async-eventemitter@^0.2.2: +async-eventemitter@^0.2.2, async-eventemitter@^0.2.4: version "0.2.4" resolved "https://registry.yarnpkg.com/async-eventemitter/-/async-eventemitter-0.2.4.tgz#f5e7c8ca7d3e46aab9ec40a292baf686a0bafaca" integrity sha512-pd20BwL7Yt1zwDFy+8MX8F1+WCT8aQeKj0kQnTrH9WaeRETlRamVhD0JtRPmrV4GfOJ2F9CvdQkZeZhnh2TuHw== @@ -2062,6 +2153,14 @@ call-bind@^1.0.0: function-bind "^1.1.1" get-intrinsic "^1.0.0" +call-bind@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" + integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== + dependencies: + function-bind "^1.1.1" + get-intrinsic "^1.0.2" + caller-callsite@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/caller-callsite/-/caller-callsite-2.0.0.tgz#847e0fce0a223750a9a027c54b33731ad3154134" @@ -2519,6 +2618,14 @@ coveralls@^3.0.1: minimist "^1.2.5" request "^2.88.2" +crc-32@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/crc-32/-/crc-32-1.2.0.tgz#cb2db6e29b88508e32d9dd0ec1693e7b41a18208" + integrity sha512-1uBwHxF+Y/4yF5G48fwnKq6QsIXheor3ZLPT80yGBV1oEUwpPojlEhQbWKVw1VwcTQyMGHK1/XMmTjmlsmTTGA== + dependencies: + exit-on-epipe "~1.0.1" + printj "~1.1.0" + create-ecdh@^4.0.0: version "4.0.4" resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.4.tgz#d6e7f4bffa66736085a0762fd3a632684dabcc4e" @@ -2716,6 +2823,14 @@ deferred-leveldown@~4.0.0: abstract-leveldown "~5.0.0" inherits "^2.0.3" +deferred-leveldown@~5.3.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/deferred-leveldown/-/deferred-leveldown-5.3.0.tgz#27a997ad95408b61161aa69bd489b86c71b78058" + integrity sha512-a59VOT+oDy7vtAbLRCZwWgxu2BaCfd5Hk7wxJd48ei7I+nsg8Orlb9CLG0PMZienk9BSUKgeAqkO2+Lw+1+Ukw== + dependencies: + abstract-leveldown "~6.2.1" + inherits "^2.0.3" + define-properties@^1.1.2, define-properties@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" @@ -2913,6 +3028,16 @@ encoding-down@5.0.4, encoding-down@~5.0.0: level-errors "^2.0.0" xtend "^4.0.1" +encoding-down@^6.3.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/encoding-down/-/encoding-down-6.3.0.tgz#b1c4eb0e1728c146ecaef8e32963c549e76d082b" + integrity sha512-QKrV0iKR6MZVJV08QY0wp1e7vF6QbhnbQhb07bwpEyuz4uZiZgPlEGdkCROuFkUwdxlFaiPIhjyarH1ee/3vhw== + dependencies: + abstract-leveldown "^6.2.1" + inherits "^2.0.3" + level-codec "^9.0.0" + level-errors "^2.0.0" + encoding@^0.1.11: version "0.1.13" resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.13.tgz#56574afdd791f54a8e9b2785c0582a2d26210fa9" @@ -2988,6 +3113,28 @@ es-abstract@^1.18.0-next.1: string.prototype.trimend "^1.0.1" string.prototype.trimstart "^1.0.1" +es-abstract@^1.18.0-next.2: + version "1.18.0" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.18.0.tgz#ab80b359eecb7ede4c298000390bc5ac3ec7b5a4" + integrity sha512-LJzK7MrQa8TS0ja2w3YNLzUgJCGPdPOV1yVvezjNnS89D+VR08+Szt2mz3YB2Dck/+w5tfIq/RoUAFqJJGM2yw== + dependencies: + call-bind "^1.0.2" + es-to-primitive "^1.2.1" + function-bind "^1.1.1" + get-intrinsic "^1.1.1" + has "^1.0.3" + has-symbols "^1.0.2" + is-callable "^1.2.3" + is-negative-zero "^2.0.1" + is-regex "^1.1.2" + is-string "^1.0.5" + object-inspect "^1.9.0" + object-keys "^1.1.1" + object.assign "^4.1.2" + string.prototype.trimend "^1.0.4" + string.prototype.trimstart "^1.0.4" + unbox-primitive "^1.0.0" + es-to-primitive@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" @@ -3394,7 +3541,7 @@ ethereumjs-account@^2.0.3: rlp "^2.0.0" safe-buffer "^5.1.1" -ethereumjs-block@2.2.2, ethereumjs-block@^2.2.0, ethereumjs-block@^2.2.2, ethereumjs-block@~2.2.0, ethereumjs-block@~2.2.2: +ethereumjs-block@2.2.2, ethereumjs-block@^2.2.2, ethereumjs-block@~2.2.0, ethereumjs-block@~2.2.2: version "2.2.2" resolved "https://registry.yarnpkg.com/ethereumjs-block/-/ethereumjs-block-2.2.2.tgz#c7654be7e22df489fda206139ecd63e2e9c04965" integrity sha512-2p49ifhek3h2zeg/+da6XpdFR3GlqY3BIEiqxGF8j9aSRIgkb7M1Ky+yULBKJOu8PAZxfhsYA+HxUk2aCQp3vg== @@ -3495,6 +3642,18 @@ ethereumjs-util@^5.0.0, ethereumjs-util@^5.0.1, ethereumjs-util@^5.1.1, ethereum rlp "^2.0.0" safe-buffer "^5.1.1" +ethereumjs-util@^7.0.10, ethereumjs-util@^7.0.7, ethereumjs-util@^7.0.8, ethereumjs-util@^7.0.9: + version "7.0.10" + resolved "https://registry.yarnpkg.com/ethereumjs-util/-/ethereumjs-util-7.0.10.tgz#5fb7b69fa1fda0acc59634cf39d6b0291180fc1f" + integrity sha512-c/xThw6A+EAnej5Xk5kOzFzyoSnw0WX0tSlZ6pAsfGVvQj3TItaDg9b1+Fz1RJXA+y2YksKwQnuzgt1eY6LKzw== + dependencies: + "@types/bn.js" "^5.1.0" + bn.js "^5.1.2" + create-hash "^1.1.2" + ethereum-cryptography "^0.1.3" + ethjs-util "0.1.6" + rlp "^2.2.4" + ethereumjs-util@^7.0.2: version "7.0.7" resolved "https://registry.yarnpkg.com/ethereumjs-util/-/ethereumjs-util-7.0.7.tgz#484fb9c03b766b2ee64821281070616562fb5a59" @@ -3688,6 +3847,11 @@ execa@^4.1.0: signal-exit "^3.0.2" strip-final-newline "^2.0.0" +exit-on-epipe@~1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/exit-on-epipe/-/exit-on-epipe-1.0.1.tgz#0bdd92e87d5285d267daa8171d0eb06159689692" + integrity sha512-h2z5mrROTxce56S+pnvAV890uu7ls7f1kEvVGJbw1OlFH3/mlJ5bkXu0KRyW94v37zzHPiUd55iLn3DA7TjWpw== + expand-brackets@^2.1.4: version "2.1.4" resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" @@ -3999,7 +4163,7 @@ follow-redirects@^1.12.1: resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.13.1.tgz#5f69b813376cee4fd0474a3aba835df04ab763b7" integrity sha512-SSG5xmZh1mkPGyKzjZP8zLjltIfpW32Y5QpdNJyjcfGxK3qo3NDDkZOZSFiGn1A6SclQxY9GzEwAHQ3dmYRWpg== -for-each@~0.3.3: +for-each@^0.3.3, for-each@~0.3.3: version "0.3.3" resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e" integrity sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw== @@ -4225,6 +4389,15 @@ get-intrinsic@^1.0.0: has "^1.0.3" has-symbols "^1.0.1" +get-intrinsic@^1.0.2, get-intrinsic@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.1.tgz#15f59f376f855c446963948f0d24cd3637b4abc6" + integrity sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q== + dependencies: + function-bind "^1.1.1" + has "^1.0.3" + has-symbols "^1.0.1" + get-own-enumerable-property-symbols@^3.0.0: version "3.0.2" resolved "https://registry.yarnpkg.com/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz#b5fde77f22cbe35f390b4e089922c50bce6ef664" @@ -4462,15 +4635,19 @@ hardhat-typechain@^0.3.4: resolved "https://registry.yarnpkg.com/hardhat-typechain/-/hardhat-typechain-0.3.4.tgz#6d7d86184152b5a3c83bde0fbbb26224b6fbfd70" integrity sha512-oI9YSutDfZnRlAV1bYTpLkBHw4rkhz9JDWAEXz2PR34ylpgLWxPFbPiHT5QXadGTlBqJUAT6JSTxCK1kADMkjA== -hardhat@^2.0.6: - version "2.0.7" - resolved "https://registry.yarnpkg.com/hardhat/-/hardhat-2.0.7.tgz#5b3ab5fab097c397c7421e98c082398925bff246" - integrity sha512-do4aigd9pXfHZwxPS2dSFGPT4BSRNOi8wkYkyOKhn2rwGjI3o0RbdcE1xB0V7AezuL0KxkPitSCjpmQD1GDHUw== - dependencies: - "@nomiclabs/ethereumjs-vm" "^4.1.1" +hardhat@2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/hardhat/-/hardhat-2.2.1.tgz#bef0031b994e3f60a88d428f2097195c58cf9ed2" + integrity sha512-8s7MtGXdh0NDwQKdlA8m8QdloVIN1+hv5aFpn0G5Ljj9vfNY9kUoc0a9pMboeGbd9WrS+XrZs5YlsPgQjaW/Tg== + dependencies: + "@ethereumjs/block" "^3.2.1" + "@ethereumjs/blockchain" "^5.2.1" + "@ethereumjs/common" "^2.2.0" + "@ethereumjs/tx" "^3.1.3" + "@ethereumjs/vm" "^5.3.2" "@sentry/node" "^5.18.1" "@solidity-parser/parser" "^0.11.0" - "@types/bn.js" "^4.11.5" + "@types/bn.js" "^5.1.0" "@types/lru-cache" "^5.1.0" abort-controller "^3.0.0" adm-zip "^0.4.16" @@ -4484,11 +4661,7 @@ hardhat@^2.0.6: eth-sig-util "^2.5.2" ethereum-cryptography "^0.1.2" ethereumjs-abi "^0.6.8" - ethereumjs-account "^3.0.0" - ethereumjs-block "^2.2.0" - ethereumjs-common "^1.5.0" - ethereumjs-tx "^2.1.1" - ethereumjs-util "^6.1.0" + ethereumjs-util "^7.0.10" find-up "^2.1.0" fp-ts "1.19.3" fs-extra "^7.0.1" @@ -4496,7 +4669,8 @@ hardhat@^2.0.6: immutable "^4.0.0-rc.12" io-ts "1.10.4" lodash "^4.17.11" - merkle-patricia-tree "^3.0.0" + merkle-patricia-tree "^4.1.0" + mnemonist "^0.38.0" mocha "^7.1.2" node-fetch "^2.6.0" qs "^6.7.0" @@ -4519,6 +4693,11 @@ has-ansi@^2.0.0: dependencies: ansi-regex "^2.0.0" +has-bigints@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.1.tgz#64fe6acb020673e3b78db035a5af69aa9d07b113" + integrity sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA== + has-flag@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-1.0.0.tgz#9d9e793165ce017a00f00418c43f942a7b1d11fa" @@ -4544,6 +4723,11 @@ has-symbols@^1.0.0, has-symbols@^1.0.1: resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.1.tgz#9f5214758a44196c406d9bd76cebf81ec2dd31e8" integrity sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg== +has-symbols@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.2.tgz#165d3070c00309752a1236a479331e3ac56f1423" + integrity sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw== + has-to-string-tag-x@^1.2.0: version "1.4.1" resolved "https://registry.yarnpkg.com/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz#a045ab383d7b4b2012a00148ab0aa5f290044d4d" @@ -4900,6 +5084,11 @@ is-arrayish@^0.2.1: resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= +is-bigint@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.1.tgz#6923051dfcbc764278540b9ce0e6b3213aa5ebc2" + integrity sha512-J0ELF4yHFxHy0cmSxZuheDOz2luOdVvqjwmEcj8H/L1JHeuEDSDbeRP+Dk9kFVk5RTFzbucJ2Kb9F7ixY2QaCg== + is-binary-path@~2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" @@ -4907,6 +5096,13 @@ is-binary-path@~2.1.0: dependencies: binary-extensions "^2.0.0" +is-boolean-object@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.0.tgz#e2aaad3a3a8fca34c28f6eee135b156ed2587ff0" + integrity sha512-a7Uprx8UtD+HWdyYwnD1+ExtTgqQtD2k/1yJgtXP6wnMm8byhkoTZRl+95LLThpzNZJ5aEvi46cdH+ayMFRwmA== + dependencies: + call-bind "^1.0.0" + is-buffer@^1.1.5: version "1.1.6" resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" @@ -4922,6 +5118,11 @@ is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.2: resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.2.tgz#c7c6715cd22d4ddb48d3e19970223aceabb080d9" integrity sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA== +is-callable@^1.2.3: + version "1.2.3" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.3.tgz#8b1e0500b73a1d76c70487636f368e519de8db8e" + integrity sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ== + is-ci@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" @@ -5044,11 +5245,16 @@ is-hex-prefixed@1.0.0: resolved "https://registry.yarnpkg.com/is-hex-prefixed/-/is-hex-prefixed-1.0.0.tgz#7d8d37e6ad77e5d127148913c573e082d777f554" integrity sha1-fY035q135dEnFIkTxXPggtd39VQ= -is-negative-zero@^2.0.0: +is-negative-zero@^2.0.0, is-negative-zero@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.1.tgz#3de746c18dda2319241a53675908d8f766f11c24" integrity sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w== +is-number-object@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.4.tgz#36ac95e741cf18b283fc1ddf5e83da798e3ec197" + integrity sha512-zohwelOAur+5uXtk8O3GPQ1eAcu4ZX3UwxQhUlfFFMNpUd83gXgjbhJh6HmB6LUNV/ieOLQuDwJO3dWJosUeMw== + is-number@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" @@ -5090,6 +5296,14 @@ is-regex@^1.0.4, is-regex@^1.1.1: dependencies: has-symbols "^1.0.1" +is-regex@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.2.tgz#81c8ebde4db142f2cf1c53fc86d6a45788266251" + integrity sha512-axvdhb5pdhEVThqJzYXwMlVuZwC+FF2DpcOhTS+y/8jVq4trxyPgfcwIxIKiyeuLlSQYKkmUaPQJ8ZE4yNKXDg== + dependencies: + call-bind "^1.0.2" + has-symbols "^1.0.1" + is-regex@~1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.5.tgz#39d589a358bf18967f726967120b8fc1aed74eae" @@ -5117,7 +5331,12 @@ is-stream@^2.0.0: resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.0.tgz#bde9c32680d6fae04129d6ac9d921ce7815f78e3" integrity sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw== -is-symbol@^1.0.2: +is-string@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.5.tgz#40493ed198ef3ff477b8c7f92f644ec82a5cd3a6" + integrity sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ== + +is-symbol@^1.0.2, is-symbol@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.3.tgz#38e1014b9e6329be0de9d24a414fd7441ec61937" integrity sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ== @@ -5474,6 +5693,11 @@ level-codec@~7.0.0: resolved "https://registry.yarnpkg.com/level-codec/-/level-codec-7.0.1.tgz#341f22f907ce0f16763f24bddd681e395a0fb8a7" integrity sha512-Ua/R9B9r3RasXdRmOtd+t9TCOEIIlts+TN/7XTT2unhDaL6sJn83S3rUyljbr6lVtw49N3/yA0HHjpV6Kzb2aQ== +level-concat-iterator@~2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/level-concat-iterator/-/level-concat-iterator-2.0.1.tgz#1d1009cf108340252cb38c51f9727311193e6263" + integrity sha512-OTKKOqeav2QWcERMJR7IS9CUo1sHnke2C0gkSmcR7QuEtFNLLzHQAvnMw8ykvEcv0Qtkg0p7FOwP1v9e5Smdcw== + level-errors@^1.0.3: version "1.1.2" resolved "https://registry.yarnpkg.com/level-errors/-/level-errors-1.1.2.tgz#4399c2f3d3ab87d0625f7e3676e2d807deff404d" @@ -5523,6 +5747,15 @@ level-iterator-stream@~3.0.0: readable-stream "^2.3.6" xtend "^4.0.0" +level-iterator-stream@~4.0.0: + version "4.0.2" + resolved "https://registry.yarnpkg.com/level-iterator-stream/-/level-iterator-stream-4.0.2.tgz#7ceba69b713b0d7e22fcc0d1f128ccdc8a24f79c" + integrity sha512-ZSthfEqzGSOMWoUGhTXdX9jv26d32XJuHz/5YnuHZzH6wldfWMOVwI9TBtKcya4BKTyTt3XVA0A3cF3q5CY30Q== + dependencies: + inherits "^2.0.4" + readable-stream "^3.4.0" + xtend "^4.0.2" + level-mem@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/level-mem/-/level-mem-3.0.1.tgz#7ce8cf256eac40f716eb6489654726247f5a89e5" @@ -5531,6 +5764,22 @@ level-mem@^3.0.1: level-packager "~4.0.0" memdown "~3.0.0" +level-mem@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/level-mem/-/level-mem-5.0.1.tgz#c345126b74f5b8aa376dc77d36813a177ef8251d" + integrity sha512-qd+qUJHXsGSFoHTziptAKXoLX87QjR7v2KMbqncDXPxQuCdsQlzmyX+gwrEHhlzn08vkf8TyipYyMmiC6Gobzg== + dependencies: + level-packager "^5.0.3" + memdown "^5.0.0" + +level-packager@^5.0.3: + version "5.1.1" + resolved "https://registry.yarnpkg.com/level-packager/-/level-packager-5.1.1.tgz#323ec842d6babe7336f70299c14df2e329c18939" + integrity sha512-HMwMaQPlTC1IlcwT3+swhqf/NUO+ZhXVz6TY1zZIIZlIR0YSn8GtAAWmIvKjNY16ZkEg/JcpAuQskxsXqC0yOQ== + dependencies: + encoding-down "^6.3.0" + levelup "^4.3.2" + level-packager@~4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/level-packager/-/level-packager-4.0.1.tgz#7e7d3016af005be0869bc5fa8de93d2a7f56ffe6" @@ -5562,6 +5811,13 @@ level-sublevel@6.6.4: typewiselite "~1.0.0" xtend "~4.0.0" +level-supports@~1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/level-supports/-/level-supports-1.0.1.tgz#2f530a596834c7301622521988e2c36bb77d122d" + integrity sha512-rXM7GYnW8gsl1vedTJIbzOrRv85c/2uCMpiiCzO2fndd06U/kUXEEU9evYn4zFggBOg36IsBW8LzqIpETwwQzg== + dependencies: + xtend "^4.0.2" + level-ws@0.0.0: version "0.0.0" resolved "https://registry.yarnpkg.com/level-ws/-/level-ws-0.0.0.tgz#372e512177924a00424b0b43aef2bb42496d228b" @@ -5579,6 +5835,15 @@ level-ws@^1.0.0: readable-stream "^2.2.8" xtend "^4.0.1" +level-ws@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/level-ws/-/level-ws-2.0.0.tgz#207a07bcd0164a0ec5d62c304b4615c54436d339" + integrity sha512-1iv7VXx0G9ec1isqQZ7y5LmoZo/ewAsyDHNA8EFDW5hqH2Kqovm33nSFkSdnLLAK+I5FlT+lo5Cw9itGe+CpQA== + dependencies: + inherits "^2.0.3" + readable-stream "^3.1.0" + xtend "^4.0.1" + levelup@3.1.1, levelup@^3.0.0: version "3.1.1" resolved "https://registry.yarnpkg.com/levelup/-/levelup-3.1.1.tgz#c2c0b3be2b4dc316647c53b42e2f559e232d2189" @@ -5602,6 +5867,17 @@ levelup@^1.2.1: semver "~5.4.1" xtend "~4.0.0" +levelup@^4.3.2: + version "4.4.0" + resolved "https://registry.yarnpkg.com/levelup/-/levelup-4.4.0.tgz#f89da3a228c38deb49c48f88a70fb71f01cafed6" + integrity sha512-94++VFO3qN95cM/d6eBXvd894oJE0w3cInq9USsyQzzoJxmiYzPAocNcuGCPGGjoXqDVJcr3C1jzt1TSjyaiLQ== + dependencies: + deferred-leveldown "~5.3.0" + level-errors "~2.0.0" + level-iterator-stream "~4.0.0" + level-supports "~1.0.0" + xtend "~4.0.0" + levn@^0.3.0, levn@~0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" @@ -5820,6 +6096,11 @@ match-all@^1.2.6: resolved "https://registry.yarnpkg.com/match-all/-/match-all-1.2.6.tgz#66d276ad6b49655551e63d3a6ee53e8be0566f8d" integrity sha512-0EESkXiTkWzrQQntBu2uzKvLu6vVkUGz40nGPbSZuegcfE5UuSzNjLaIu76zJWuaT/2I3Z/8M06OlUOZLGwLlQ== +mcl-wasm@^0.7.1: + version "0.7.6" + resolved "https://registry.yarnpkg.com/mcl-wasm/-/mcl-wasm-0.7.6.tgz#c1789ebda5565d49b77d2ee195ff3e4d282f1554" + integrity sha512-cbRl3sUOkBeRY2hsM4t1EIln2TIdQBkSiTOqNTv/4Hu5KOECnMWCgjIf+a9Ebunyn22VKqkMF3zj6ejRzz7YBw== + md5.js@^1.3.4: version "1.3.5" resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f" @@ -5855,6 +6136,18 @@ memdown@^1.0.0: ltgt "~2.2.0" safe-buffer "~5.1.1" +memdown@^5.0.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/memdown/-/memdown-5.1.0.tgz#608e91a9f10f37f5b5fe767667a8674129a833cb" + integrity sha512-B3J+UizMRAlEArDjWHTMmadet+UKwHd3UjMgGBkZcKAxAYVPS9o0Yeiha4qvz7iGiL2Sb3igUft6p7nbFWctpw== + dependencies: + abstract-leveldown "~6.2.1" + functional-red-black-tree "~1.0.1" + immediate "~3.2.3" + inherits "~2.0.1" + ltgt "~2.2.0" + safe-buffer "~5.2.0" + memdown@~3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/memdown/-/memdown-3.0.0.tgz#93aca055d743b20efc37492e9e399784f2958309" @@ -5887,7 +6180,7 @@ merge2@^1.2.3, merge2@^1.3.0: resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== -merkle-patricia-tree@3.0.0, merkle-patricia-tree@^3.0.0: +merkle-patricia-tree@3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/merkle-patricia-tree/-/merkle-patricia-tree-3.0.0.tgz#448d85415565df72febc33ca362b8b614f5a58f8" integrity sha512-soRaMuNf/ILmw3KWbybaCjhx86EYeBbD8ph0edQCTed0JN/rxDt1EBN52Ajre3VyGo+91f8+/rfPIRQnnGMqmQ== @@ -5914,6 +6207,19 @@ merkle-patricia-tree@^2.1.2, merkle-patricia-tree@^2.3.2: rlp "^2.0.0" semaphore ">=1.0.1" +merkle-patricia-tree@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/merkle-patricia-tree/-/merkle-patricia-tree-4.1.0.tgz#010636c4cfd68682df33a2e3186b7d0be7b98b9d" + integrity sha512-vmP1J7FwIpprFMVjjSMM1JAwFce85Q+tp0TYIedYv8qaMh2oLUZ3ETXn9wbgi9S6elySzKzGa+Ai6VNKGEwSlg== + dependencies: + "@types/levelup" "^4.3.0" + ethereumjs-util "^7.0.8" + level-mem "^5.0.1" + level-ws "^2.0.0" + readable-stream "^3.6.0" + rlp "^2.2.3" + semaphore-async-await "^1.5.1" + methods@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" @@ -6057,6 +6363,13 @@ mkdirp@0.5.5, mkdirp@0.5.x, mkdirp@^0.5.0, mkdirp@^0.5.1: dependencies: minimist "^1.2.5" +mnemonist@^0.38.0: + version "0.38.3" + resolved "https://registry.yarnpkg.com/mnemonist/-/mnemonist-0.38.3.tgz#35ec79c1c1f4357cfda2fe264659c2775ccd7d9d" + integrity sha512-2K9QYubXx/NAjv4VLq1d1Ly8pWNC5L3BrixtdkyTegXWJIqY+zLNDhhX/A+ZwWt70tB1S8H4BE8FLYEFyNoOBw== + dependencies: + obliterator "^1.6.1" + mocha@^7.1.2: version "7.2.0" resolved "https://registry.yarnpkg.com/mocha/-/mocha-7.2.0.tgz#01cc227b00d875ab1eed03a75106689cfed5a604" @@ -6339,6 +6652,11 @@ object-inspect@^1.8.0: resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.9.0.tgz#c90521d74e1127b67266ded3394ad6116986533a" integrity sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw== +object-inspect@^1.9.0: + version "1.10.2" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.10.2.tgz#b6385a3e2b7cae0b5eafcf90cddf85d128767f30" + integrity sha512-gz58rdPpadwztRrPjZE9DZLOABUpTGdcANUgOwBFO1C+HZZhePoP83M65WGDmbpwFYJSWqavbl4SgDn4k8RYTA== + object-inspect@~1.7.0: version "1.7.0" resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.7.0.tgz#f4f6bd181ad77f006b5ece60bd0b6f398ff74a67" @@ -6379,7 +6697,7 @@ object.assign@4.1.0: has-symbols "^1.0.0" object-keys "^1.0.11" -object.assign@^4.1.1: +object.assign@^4.1.1, object.assign@^4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.2.tgz#0ed54a342eceb37b38ff76eb831a0e788cb63940" integrity sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ== @@ -6398,6 +6716,15 @@ object.getownpropertydescriptors@^2.0.3, object.getownpropertydescriptors@^2.1.0 define-properties "^1.1.3" es-abstract "^1.18.0-next.1" +object.getownpropertydescriptors@^2.1.1: + version "2.1.2" + resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.2.tgz#1bd63aeacf0d5d2d2f31b5e393b03a7c601a23f7" + integrity sha512-WtxeKSzfBjlzL+F9b7M7hewDzMwy+C8NRssHd1YrNlzHzIDrXcXiNOMrezdAEM4UXixgV+vvnyBeN7Rygl2ttQ== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.18.0-next.2" + object.pick@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" @@ -6405,6 +6732,11 @@ object.pick@^1.3.0: dependencies: isobject "^3.0.1" +obliterator@^1.6.1: + version "1.6.1" + resolved "https://registry.yarnpkg.com/obliterator/-/obliterator-1.6.1.tgz#dea03e8ab821f6c4d96a299e17aef6a3af994ef3" + integrity sha512-9WXswnqINnnhOG/5SLimUlzuU1hFJUc8zkwyD59Sd+dPOMf05PmnYG/d6Q7HZ+KmgkZJa1PxRso6QdM3sTNHig== + oboe@2.1.4: version "2.1.4" resolved "https://registry.yarnpkg.com/oboe/-/oboe-2.1.4.tgz#20c88cdb0c15371bb04119257d4fdd34b0aa49f6" @@ -6818,6 +7150,11 @@ prettier@^2.1.2: resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.2.1.tgz#795a1a78dd52f073da0cd42b21f9c91381923ff5" integrity sha512-PqyhM2yCjg/oKkFPtTGUojv7gnZAoG80ttl45O6x2Ug/rMJw4wcc9k6aaf2hibP7BGVCCM33gZoGjyvt9mm16Q== +printj@~1.1.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/printj/-/printj-1.1.2.tgz#d90deb2975a8b9f600fb3a1c94e3f4c53c78a222" + integrity sha512-zA2SmoLaxZyArQTOPj5LXecR+RagfPSU5Kw1qP+jkWeNlrq+eJZyY2oS68SU1Z/7/myXM4lo9716laOFAVStCQ== + private@^0.1.6, private@^0.1.8: version "0.1.8" resolved "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff" @@ -7066,7 +7403,7 @@ readable-stream@^2.0.0, readable-stream@^2.0.5, readable-stream@^2.2.2, readable string_decoder "~1.1.1" util-deprecate "~1.0.1" -readable-stream@^3.0.6, readable-stream@^3.6.0: +readable-stream@^3.0.6, readable-stream@^3.1.0, readable-stream@^3.4.0, readable-stream@^3.6.0: version "3.6.0" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== @@ -7457,6 +7794,11 @@ seedrandom@3.0.1: resolved "https://registry.yarnpkg.com/seedrandom/-/seedrandom-3.0.1.tgz#eb3dde015bcf55df05a233514e5df44ef9dce083" integrity sha512-1/02Y/rUeU1CJBAGLebiC5Lbo5FnB22gQbIFFYTLkwvp1xdABZJH1sn4ZT1MzXmPpzv+Rf/Lu2NcsLJiK4rcDg== +semaphore-async-await@^1.5.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/semaphore-async-await/-/semaphore-async-await-1.5.1.tgz#857bef5e3644601ca4b9570b87e9df5ca12974fa" + integrity sha1-hXvvXjZEYBykuVcLh+nfXKEpdPo= + semaphore@>=1.0.1, semaphore@^1.0.3, semaphore@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/semaphore/-/semaphore-1.1.0.tgz#aaad8b86b20fe8e9b32b16dc2ee682a8cd26a8aa" @@ -7987,6 +8329,14 @@ string.prototype.trimend@^1.0.1: call-bind "^1.0.0" define-properties "^1.1.3" +string.prototype.trimend@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz#e75ae90c2942c63504686c18b287b4a0b1a45f80" + integrity sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + string.prototype.trimstart@^1.0.1: version "1.0.3" resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.3.tgz#9b4cb590e123bb36564401d59824298de50fd5aa" @@ -7995,6 +8345,14 @@ string.prototype.trimstart@^1.0.1: call-bind "^1.0.0" define-properties "^1.1.3" +string.prototype.trimstart@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz#b36399af4ab2999b4c9c648bd7a3fb2bb26feeed" + integrity sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + string_decoder@^1.1.1: version "1.3.0" resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" @@ -8506,6 +8864,16 @@ ultron@~1.1.0: resolved "https://registry.yarnpkg.com/ultron/-/ultron-1.1.1.tgz#9fe1536a10a664a65266a1e3ccf85fd36302bc9c" integrity sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og== +unbox-primitive@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.1.tgz#085e215625ec3162574dc8859abee78a59b14471" + integrity sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw== + dependencies: + function-bind "^1.1.1" + has-bigints "^1.0.1" + has-symbols "^1.0.2" + which-boxed-primitive "^1.0.2" + underscore@1.9.1: version "1.9.1" resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.9.1.tgz#06dce34a0e68a7babc29b365b8e74b8925203961" @@ -8630,6 +8998,17 @@ util.promisify@^1.0.0: has-symbols "^1.0.1" object.getownpropertydescriptors "^2.1.0" +util.promisify@^1.0.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.1.1.tgz#77832f57ced2c9478174149cae9b96e9918cd54b" + integrity sha512-/s3UsZUrIfa6xDhr7zZhnE9SLQ5RIXyYfiVnMMyMDzOc8WhWN4Nbh36H842OyurKbCDAesZOJaVyvmSl6fhGQw== + dependencies: + call-bind "^1.0.0" + define-properties "^1.1.3" + for-each "^0.3.3" + has-symbols "^1.0.1" + object.getownpropertydescriptors "^2.1.1" + util@^0.12.0: version "0.12.3" resolved "https://registry.yarnpkg.com/util/-/util-0.12.3.tgz#971bb0292d2cc0c892dab7c6a5d37c2bec707888" @@ -9462,6 +9841,17 @@ whatwg-fetch@2.0.4: resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-2.0.4.tgz#dde6a5df315f9d39991aa17621853d720b85566f" integrity sha512-dcQ1GWpOD/eEQ97k66aiEVpNnapVj90/+R+SXTPYGHpYBBypfKJEQjLrvMZ7YXbKm21gXd4NcuxUTjiv1YtLng== +which-boxed-primitive@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" + integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== + dependencies: + is-bigint "^1.0.1" + is-boolean-object "^1.1.0" + is-number-object "^1.0.4" + is-string "^1.0.5" + is-symbol "^1.0.3" + which-module@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/which-module/-/which-module-1.0.0.tgz#bba63ca861948994ff307736089e3b96026c2a4f" @@ -9632,7 +10022,7 @@ xmlhttprequest@1.8.0: resolved "https://registry.yarnpkg.com/xmlhttprequest/-/xmlhttprequest-1.8.0.tgz#67fe075c5c24fef39f9d65f5f7b7fe75171968fc" integrity sha1-Z/4HXFwk/vOfnWX197f+dRcZaPw= -xtend@^4.0.0, xtend@^4.0.1, xtend@~4.0.0, xtend@~4.0.1: +xtend@^4.0.0, xtend@^4.0.1, xtend@^4.0.2, xtend@~4.0.0, xtend@~4.0.1: version "4.0.2" resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== From 9b44839e9becfe0a6c239c8e4081e13b05e2faa4 Mon Sep 17 00:00:00 2001 From: cgewecke Date: Sun, 25 Apr 2021 10:17:22 -0700 Subject: [PATCH 2/2] Increase Yearn external abi gas estimates by 1 order of magnitude --- external/abi/yearn/Registry.json | 34 +++++----- external/abi/yearn/Vault.json | 110 +++++++++++++++---------------- 2 files changed, 72 insertions(+), 72 deletions(-) diff --git a/external/abi/yearn/Registry.json b/external/abi/yearn/Registry.json index 44603c974..e4bd752fc 100644 --- a/external/abi/yearn/Registry.json +++ b/external/abi/yearn/Registry.json @@ -124,7 +124,7 @@ } ], "outputs": [], - "gas": 36245 + "gas": 136245 }, { "stateMutability": "nonpayable", @@ -132,7 +132,7 @@ "name": "acceptGovernance", "inputs": [], "outputs": [], - "gas": 37517 + "gas": 137517 }, { "stateMutability": "view", @@ -145,7 +145,7 @@ "type": "string" } ], - "gas": 6831 + "gas": 16831 }, { "stateMutability": "view", @@ -163,7 +163,7 @@ "type": "address" } ], - "gas": 2587 + "gas": 12587 }, { "stateMutability": "nonpayable", @@ -176,7 +176,7 @@ } ], "outputs": [], - "gas": 82588 + "gas": 182588 }, { "stateMutability": "nonpayable", @@ -397,7 +397,7 @@ } ], "outputs": [], - "gas": 186064 + "gas": 1186064 }, { "stateMutability": "view", @@ -410,7 +410,7 @@ "type": "uint256" } ], - "gas": 1388 + "gas": 11388 }, { "stateMutability": "view", @@ -428,7 +428,7 @@ "type": "address" } ], - "gas": 1533 + "gas": 11533 }, { "stateMutability": "view", @@ -446,7 +446,7 @@ "type": "uint256" } ], - "gas": 1663 + "gas": 11663 }, { "stateMutability": "view", @@ -468,7 +468,7 @@ "type": "address" } ], - "gas": 1808 + "gas": 11808 }, { "stateMutability": "view", @@ -486,7 +486,7 @@ "type": "address" } ], - "gas": 1623 + "gas": 11623 }, { "stateMutability": "view", @@ -499,7 +499,7 @@ "type": "uint256" } ], - "gas": 1538 + "gas": 11538 }, { "stateMutability": "view", @@ -517,7 +517,7 @@ "type": "bool" } ], - "gas": 1783 + "gas": 11783 }, { "stateMutability": "view", @@ -530,7 +530,7 @@ "type": "address" } ], - "gas": 1598 + "gas": 11598 }, { "stateMutability": "view", @@ -543,7 +543,7 @@ "type": "address" } ], - "gas": 1628 + "gas": 11628 }, { "stateMutability": "view", @@ -561,7 +561,7 @@ "type": "string" } ], - "gas": 10229 + "gas": 110229 }, { "stateMutability": "view", @@ -579,7 +579,7 @@ "type": "bool" } ], - "gas": 1903 + "gas": 11903 } ], "bytecode": "0x336007556115eb56600436101561000d576110f9565b600035601c52600051341561002157600080fd5b63ab033ea98114156100535760043560a01c1561003d57600080fd5b600754331461004b57600080fd5b600435600855005b63238efcbc81141561009f57600854331461006d57600080fd5b3360075533610140527f4f386975ea1c2f7cf1845b08bee00626fbb624ecad16254d63d9bb9ba86526de6020610140a1005b637be0ca5e8114156101735760606101a0600463258294106101405261015c60016000546001808210156100d257600080fd5b8082039050905060e05260c052604060c020545afa6100f057600080fd5b603f3d116100fd57600080fd5b601d6101a06101a05101511061011257600080fd5b6000506101c08051602001806102408284600060045af161013257600080fd5b5050610240518061026001818260206001820306601f82010390500336823750506020610220526040610240510160206001820306601f8201039050610220f35b63e177dc708114156101db5760043560a01c1561018f57600080fd5b600360043560e05260c052604060c020600260043560e05260c052604060c020546001808210156101bf57600080fd5b8082039050905060e05260c052604060c0205460005260206000f35b6333990d4b8114156104315760043560a01c156101f757600080fd5b600754331461020557600080fd5b6000546101405260006101405111156102e1576060610400600463258294106103a0526103bc6004355afa61023957600080fd5b603f3d1161024657600080fd5b601d6104006104005101511061025b57600080fd5b600050610420602001516060610340600463258294106102e0526102fc60016101405160018082101561028d57600080fd5b8082039050905060e05260c052604060c020545afa6102ab57600080fd5b603f3d116102b857600080fd5b601d610340610340510151106102cd57600080fd5b60005061036060200151186102e157600080fd5b60043560016101405160e05260c052604060c0205561014051600181818301101561030b57600080fd5b8082019050905060005560606101c0600463258294106101605261017c6004355afa61033657600080fd5b603f3d1161034357600080fd5b601d6101c06101c05101511061035857600080fd5b6000506101e08051602001806102208284600060045af161037857600080fd5b50506004356102c052604061028052610280516102e052610220805160200180610280516102c0018284600060045af16103b157600080fd5b5050610280516102c00151806020610280516102c0010101818260206001820306601f82010390500336823750506020610280516102c0015160206001820306601f820103905061028051010161028052610140517fa6fbd216b6734f34092f1be6b7247e1551a6d4f2d5000c53721cfdc119a5b7cf610280516102c0a2005b63108ca11e81141561044857600061022052610469565b63b0b40fce81141561046457602060a461022037600050610469565b6106f4565b60043560a01c1561047957600080fd5b60243560a01c1561048957600080fd5b60443560a01c1561049957600080fd5b60606064356004016101403760406064356004013511156104b957600080fd5b60406084356004016101c03760206084356004013511156104d957600080fd5b60075433146104e757600080fd5b6000546001808210156104f957600080fd5b80820390509050610220518082101561051157600080fd5b80820390509050610240526101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605160e060043561028052336102a0526044356102c0526024356102e05280610300526101408080516020018084610280018284600060045af161058557600080fd5b50508051820160206001820306601f820103905060200191505080610320526101c08080516020018084610280018284600060045af16105c457600080fd5b50505061024051610340525061032051806102800180518060206001820306601f82010390508201610440525050505b6103606104405110156106065761061b565b610440515160206104405103610440526105f4565b6103405161032051610300516102e0516102c0516102a05161028051600658016110ff565b61046052610260526102405261022052610200526101e0526101c0526101a05261018052610160526101405261046051610260526101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605160043561028052610260516102a0526102a0516102805160065801611302565b610260526102405261022052610200526101e0526101c0526101a0526101805261016052610140526000506102605160005260206000f35b635b73aa0d81141561070b5760006102205261072c565b635bd4b0f281141561072757602060c46102203760005061072c565b610a64565b60043560a01c1561073c57600080fd5b60243560a01c1561074c57600080fd5b60443560a01c1561075c57600080fd5b60643560a01c1561076c57600080fd5b606060843560040161014037604060843560040135111561078c57600080fd5b604060a4356004016101c037602060a4356004013511156107ac57600080fd5b6000546001808210156107be57600080fd5b8082039050905061022051808210156107d657600080fd5b80820390509050610240526101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605160e0600435610280526024356102a0526064356102c0526044356102e05280610300526101408080516020018084610280018284600060045af161084c57600080fd5b50508051820160206001820306601f820103905060200191505080610320526101c08080516020018084610280018284600060045af161088b57600080fd5b50505061024051610340525061032051806102800180518060206001820306601f82010390508201610440525050505b6103606104405110156108cd576108e2565b610440515160206104405103610440526108bb565b6103405161032051610300516102e0516102c0516102a05161028051600658016110ff565b61046052610260526102405261022052610200526101e0526101c0526101a052610180526101605261014052610460516102605260606102e0600463258294106102805261029c610260515afa61095d57600080fd5b603f3d1161096a57600080fd5b601d6102e06102e05101511061097f57600080fd5b6000506103008051602001806103408284600060045af161099f57600080fd5b5050610260516103e05260406103a0526103a051610400526103408051602001806103a0516103e0018284600060045af16109d957600080fd5b50506103a0516103e001518060206103a0516103e0010101818260206001820306601f820103905003368237505060206103a0516103e0015160206001820306601f82010390506103a05101016103a052336004357f57a9cdc2a05e05f66e76769bdbe88e21ec45d9ee0f97d4cb60395d4c75dcbcda6103a0516103e0a36102605160005260206000f35b6329b2e0c6811415610a7b57600061014052610a9c565b63b366a35c811415610a97576020602461014037600050610a9c565b610cac565b60043560a01c15610aac57600080fd5b6007543314610aba57600080fd5b3360206101c06004635aa6e6756101605261017c6004355afa610adc57600080fd5b601f3d11610ae957600080fd5b6000506101c05114610afa57600080fd5b600054600180821015610b0c57600080fd5b808203905090506101405180821015610b2457600080fd5b80820390509050610160526060610240600463258294106101e0526101fc60016101605160e05260c052604060c020545afa610b5f57600080fd5b603f3d11610b6c57600080fd5b601d61024061024051015110610b8157600080fd5b6000506102608051602001806101808284600060045af1610ba157600080fd5b50506101a0516060610300600463258294106102a0526102bc6004355afa610bc857600080fd5b603f3d11610bd557600080fd5b601d61030061030051015110610bea57600080fd5b6000506103206020015114610bfe57600080fd5b6020610240600463fc0c546a6101e0526101fc6004355afa610c1f57600080fd5b601f3d11610c2c57600080fd5b60005061024051610260526101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161026051610280526004356102a0526102a0516102805160065801611302565b610260526102405261022052610200526101e0526101c0526101a052610180526101605261014052600050005b632cad8f9f811415610cc357600161014052610cf4565b635e05f6af811415610cef5760243560011c15610cdf57600080fd5b6020602461014037600050610cf4565b610d29565b60043560a01c15610d0457600080fd5b6007543314610d1257600080fd5b61014051600a60043560e05260c052604060c02055005b6360bd68f8811415610ea25760043560a01c15610d4557600080fd5b6098602435600401610140376078602435600401351115610d6557600080fd5b600754331815610d8757600a3360e05260c052604060c02054610d8757600080fd5b61014080600960043560e05260c052604060c02060c052602060c020602082510161012060006005818352015b82610120516020021115610dc757610de9565b61012051602002850151610120518501555b8151600101808352811415610db4575b50505050505060043561024052604061020052610200516102605261014080516020018061020051610240018284600060045af1610e2657600080fd5b505061020051610240015180602061020051610240010101818260206001820306601f8201039050033682375050602061020051610240015160206001820306601f8201039050610200510101610200527f07bd58794c2ca0ae152f7719eb5f02c654476de972cadec0e8191ae8be42096d61020051610240a1005b6356e0a94b811415610eba5760005460005260206000f35b63b6a9f40f811415610ee057600160043560e05260c052604060c0205460005260206000f35b63f9c7bba5811415610f165760043560a01c15610efc57600080fd5b600260043560e05260c052604060c0205460005260206000f35b637bbfc69e811415610f5a5760043560a01c15610f3257600080fd5b600360043560e05260c052604060c02060243560e05260c052604060c0205460005260206000f35b634f64b2be811415610f8057600460043560e05260c052604060c0205460005260206000f35b638e499bcf811415610f985760055460005260206000f35b63c3c5a547811415610fce5760043560a01c15610fb457600080fd5b600660043560e05260c052604060c0205460005260206000f35b635aa6e675811415610fe65760075460005260206000f35b63f39c38a0811415610ffe5760085460005260206000f35b6358b8f8428114156110c15760043560a01c1561101a57600080fd5b600960043560e05260c052604060c0208060c052602060c020610180602082540161012060006005818352015b8261012051602002111561105a5761107c565b61012051850154610120516020028501525b8151600101808352811415611047575b50505050505061018051806101a001818260206001820306601f82010390500336823750506020610160526040610180510160206001820306601f8201039050610160f35b63ee711ed58114156110f75760043560a01c156110dd57600080fd5b600a60043560e05260c052604060c0205460005260206000f35b505b60006000fd5b610220526101405261016052610180526101a0526101c0526101e05261020052610240526000610320525b6102405160206001820306601f82010390506103205110151561114c57611165565b610320516102600152610320516020016103205261112a565b6102c0526000610320525b6102c05160206001820306601f820103905061032051101515611192576111ab565b610320516102e001526103205160200161032052611170565b60005060016102005160e05260c052604060c0205461034052600061034051186111d457600080fd5b7f602d3d8160093d39f3363d3d373d3d3d363d7300000000000000000000000000610380526103405160601b610393527f5af43d82803e903d91602b57fd5bf300000000000000000000000000000000006103a75260366103806000f061036052610360513b61124357600080fd5b6000600061016460c063a5b81fdf61038052610140516103a052610160516103c052610180516103e052806104005261024080805160200180846103a0018284600060045af161129257600080fd5b50508051820160206001820306601f820103905060200191505080610420526102c080805160200180846103a0018284600060045af16112d157600080fd5b5050506101a0516104405261039c90506000610360515af16112f257600080fd5b6103605160005260005161022051565b61018052610140526101605260026101405160e05260c052604060c020546101a05260006101a0511115611409576060610460600463258294106104005261041c610160515afa61135257600080fd5b603f3d1161135f57600080fd5b601d6104606104605101511061137457600080fd5b6000506104806020015160606103a0600463258294106103405261035c60036101405160e05260c052604060c0206101a0516001808210156113b557600080fd5b8082039050905060e05260c052604060c020545afa6113d357600080fd5b603f3d116113e057600080fd5b601d6103a06103a0510151106113f557600080fd5b6000506103c0602001511861140957600080fd5b6101605160036101405160e05260c052604060c0206101a05160e05260c052604060c020556101a051600181818301101561144357600080fd5b8082019050905060026101405160e05260c052604060c0205560066101405160e05260c052604060c0205415156114bd57600160066101405160e05260c052604060c0205561014051600460055460e05260c052604060c020556005805460018181830110156114b257600080fd5b808201905090508155505b6060610220600463258294106101c0526101dc610160515afa6114df57600080fd5b603f3d116114ec57600080fd5b601d6102206102205101511061150157600080fd5b6000506102408051602001806102808284600060045af161152157600080fd5b5050610160516103205260406102e0526102e051610340526102808051602001806102e051610320018284600060045af161155b57600080fd5b50506102e05161032001518060206102e051610320010101818260206001820306601f820103905003368237505060206102e051610320015160206001820306601f82010390506102e05101016102e0526101a051610140517fce089905ba4a4d622553bcb5646fd23e895c256f0376eee04e99e61cec1dc7e86102e051610320a361018051565b6100086115eb036100086000396100086115eb036000f3", diff --git a/external/abi/yearn/Vault.json b/external/abi/yearn/Vault.json index cd9256e8e..01ebd20e8 100644 --- a/external/abi/yearn/Vault.json +++ b/external/abi/yearn/Vault.json @@ -442,7 +442,7 @@ "type": "string" } ], - "gas": 4546 + "gas": 14546 }, { "stateMutability": "nonpayable", @@ -455,7 +455,7 @@ } ], "outputs": [], - "gas": 107044 + "gas": 1107044 }, { "stateMutability": "nonpayable", @@ -468,7 +468,7 @@ } ], "outputs": [], - "gas": 71894 + "gas": 171894 }, { "stateMutability": "nonpayable", @@ -481,7 +481,7 @@ } ], "outputs": [], - "gas": 36365 + "gas": 136365 }, { "stateMutability": "nonpayable", @@ -489,7 +489,7 @@ "name": "acceptGovernance", "inputs": [], "outputs": [], - "gas": 37637 + "gas": 137637 }, { "stateMutability": "nonpayable", @@ -502,7 +502,7 @@ } ], "outputs": [], - "gas": 37775 + "gas": 137775 }, { "stateMutability": "nonpayable", @@ -515,7 +515,7 @@ } ], "outputs": [], - "gas": 37805 + "gas": 137805 }, { "stateMutability": "nonpayable", @@ -528,7 +528,7 @@ } ], "outputs": [], - "gas": 37835 + "gas": 137835 }, { "stateMutability": "nonpayable", @@ -541,7 +541,7 @@ } ], "outputs": [], - "gas": 36519 + "gas": 136519 }, { "stateMutability": "nonpayable", @@ -554,7 +554,7 @@ } ], "outputs": [], - "gas": 37795 + "gas": 137795 }, { "stateMutability": "nonpayable", @@ -567,7 +567,7 @@ } ], "outputs": [], - "gas": 37929 + "gas": 137929 }, { "stateMutability": "nonpayable", @@ -580,7 +580,7 @@ } ], "outputs": [], - "gas": 37959 + "gas": 137959 }, { "stateMutability": "nonpayable", @@ -593,7 +593,7 @@ } ], "outputs": [], - "gas": 39203 + "gas": 139203 }, { "stateMutability": "nonpayable", @@ -606,7 +606,7 @@ } ], "outputs": [], - "gas": 39274 + "gas": 139274 }, { "stateMutability": "nonpayable", @@ -619,7 +619,7 @@ } ], "outputs": [], - "gas": 763950 + "gas": 1763950 }, { "stateMutability": "nonpayable", @@ -641,7 +641,7 @@ "type": "bool" } ], - "gas": 76768 + "gas": 176768 }, { "stateMutability": "nonpayable", @@ -667,7 +667,7 @@ "type": "bool" } ], - "gas": 116531 + "gas": 1116531 }, { "stateMutability": "nonpayable", @@ -689,7 +689,7 @@ "type": "bool" } ], - "gas": 38271 + "gas": 138271 }, { "stateMutability": "nonpayable", @@ -711,7 +711,7 @@ "type": "bool" } ], - "gas": 40312 + "gas": 140312 }, { "stateMutability": "nonpayable", @@ -733,7 +733,7 @@ "type": "bool" } ], - "gas": 40336 + "gas": 140336 }, { "stateMutability": "nonpayable", @@ -767,7 +767,7 @@ "type": "bool" } ], - "gas": 81264 + "gas": 181264 }, { "stateMutability": "view", @@ -780,7 +780,7 @@ "type": "uint256" } ], - "gas": 4098 + "gas": 14098 }, { "stateMutability": "nonpayable", @@ -843,7 +843,7 @@ "type": "uint256" } ], - "gas": 366010 + "gas": 1366010 }, { "stateMutability": "nonpayable", @@ -931,7 +931,7 @@ "type": "uint256" } ], - "gas": 17041 + "gas": 117041 }, { "stateMutability": "nonpayable", @@ -994,7 +994,7 @@ } ], "outputs": [], - "gas": 42441 + "gas": 142441 }, { "stateMutability": "nonpayable", @@ -1011,7 +1011,7 @@ } ], "outputs": [], - "gas": 42471 + "gas": 142471 }, { "stateMutability": "nonpayable", @@ -1028,7 +1028,7 @@ } ], "outputs": [], - "gas": 41251 + "gas": 141251 }, { "stateMutability": "nonpayable", @@ -1161,7 +1161,7 @@ "type": "uint256" } ], - "gas": 9551 + "gas": 19551 }, { "stateMutability": "view", @@ -1257,7 +1257,7 @@ "type": "string" } ], - "gas": 8750 + "gas": 18750 }, { "stateMutability": "view", @@ -1270,7 +1270,7 @@ "type": "string" } ], - "gas": 7803 + "gas": 17803 }, { "stateMutability": "view", @@ -1283,7 +1283,7 @@ "type": "uint256" } ], - "gas": 2408 + "gas": 12408 }, { "stateMutability": "view", @@ -1301,7 +1301,7 @@ "type": "uint256" } ], - "gas": 2653 + "gas": 12653 }, { "stateMutability": "view", @@ -1323,7 +1323,7 @@ "type": "uint256" } ], - "gas": 2898 + "gas": 12898 }, { "stateMutability": "view", @@ -1336,7 +1336,7 @@ "type": "uint256" } ], - "gas": 2498 + "gas": 12498 }, { "stateMutability": "view", @@ -1349,7 +1349,7 @@ "type": "address" } ], - "gas": 2528 + "gas": 12528 }, { "stateMutability": "view", @@ -1362,7 +1362,7 @@ "type": "address" } ], - "gas": 2558 + "gas": 12558 }, { "stateMutability": "view", @@ -1375,7 +1375,7 @@ "type": "address" } ], - "gas": 2588 + "gas": 12588 }, { "stateMutability": "view", @@ -1388,7 +1388,7 @@ "type": "address" } ], - "gas": 2618 + "gas": 12618 }, { "stateMutability": "view", @@ -1401,7 +1401,7 @@ "type": "address" } ], - "gas": 2648 + "gas": 12648 }, { "stateMutability": "view", @@ -1451,7 +1451,7 @@ "type": "uint256" } ], - "gas": 11001 + "gas": 111001 }, { "stateMutability": "view", @@ -1469,7 +1469,7 @@ "type": "address" } ], - "gas": 2817 + "gas": 12817 }, { "stateMutability": "view", @@ -1482,7 +1482,7 @@ "type": "bool" } ], - "gas": 2738 + "gas": 12738 }, { "stateMutability": "view", @@ -1495,7 +1495,7 @@ "type": "uint256" } ], - "gas": 2768 + "gas": 12768 }, { "stateMutability": "view", @@ -1508,7 +1508,7 @@ "type": "uint256" } ], - "gas": 2798 + "gas": 12798 }, { "stateMutability": "view", @@ -1521,7 +1521,7 @@ "type": "uint256" } ], - "gas": 2828 + "gas": 12828 }, { "stateMutability": "view", @@ -1534,7 +1534,7 @@ "type": "uint256" } ], - "gas": 2858 + "gas": 12858 }, { "stateMutability": "view", @@ -1547,7 +1547,7 @@ "type": "uint256" } ], - "gas": 2888 + "gas": 12888 }, { "stateMutability": "view", @@ -1560,7 +1560,7 @@ "type": "uint256" } ], - "gas": 2918 + "gas": 12918 }, { "stateMutability": "view", @@ -1573,7 +1573,7 @@ "type": "uint256" } ], - "gas": 2948 + "gas": 12948 }, { "stateMutability": "view", @@ -1586,7 +1586,7 @@ "type": "uint256" } ], - "gas": 2978 + "gas": 12978 }, { "stateMutability": "view", @@ -1599,7 +1599,7 @@ "type": "address" } ], - "gas": 3008 + "gas": 13008 }, { "stateMutability": "view", @@ -1612,7 +1612,7 @@ "type": "uint256" } ], - "gas": 3038 + "gas": 13038 }, { "stateMutability": "view", @@ -1625,7 +1625,7 @@ "type": "uint256" } ], - "gas": 3068 + "gas": 13068 }, { "stateMutability": "view", @@ -1643,7 +1643,7 @@ "type": "uint256" } ], - "gas": 3313 + "gas": 13313 }, { "stateMutability": "view", @@ -1656,7 +1656,7 @@ "type": "bytes32" } ], - "gas": 3128 + "gas": 13128 } ], "bytecode": "0x61511956600436101561000d57613ced565b600035601c52600051341561002157600080fd5b6383b43589811415610037573361022052610068565b63a5b81fdf8114156100635760a43560a01c1561005357600080fd5b602060a461022037600050610068565b6106ab565b60043560a01c1561007857600080fd5b60243560a01c1561008857600080fd5b60443560a01c1561009857600080fd5b60606064356004016101403760406064356004013511156100b857600080fd5b60406084356004016101c03760206084356004013511156100d857600080fd5b601554156100e557600080fd5b600435600655600061028052610280805160208201209050610140805160208201209050141561022c576000606061032060046395d89b416102c0526102dc6004355afa61013257600080fd5b603f3d1161013f57600080fd5b60156103206103205101511061015457600080fd5b6000506103406014806020846103e001018260208501600060045af15050805182019150506007610380527f20795661756c74000000000000000000000000000000000000000000000000006103a0526103806007806020846103e001018260208501600060045af1505080518201915050806103e0526103e0905080600060c052602060c020602082510161012060006002818352015b826101205160200211156101ff57610221565b61012051602002850151610120518501555b81516001018083528114156101ec575b505050505050610287565b61014080600060c052602060c020602082510161012060006003818352015b8261012051602002111561025e57610280565b61012051602002850151610120518501555b815160010180835281141561024b575b5050505050505b6000610280526102808051602082012090506101c080516020820120905014156103c857600060026102c0527f79760000000000000000000000000000000000000000000000000000000000006102e0526102c06002806020846103e001018260208501600060045af1505080518201915050606061038060046395d89b416103205261033c6004355afa61031b57600080fd5b603f3d1161032857600080fd5b60156103806103805101511061033d57600080fd5b6000506103a06014806020846103e001018260208501600060045af1505080518201915050806103e0526103e0905080600160c052602060c020602082510161012060006002818352015b8261012051602002111561039b576103bd565b61012051602002850151610120518501555b8151600101808352811415610388575b505050505050610423565b6101c080600160c052602060c020602082510161012060006002818352015b826101205160200211156103fa5761041c565b61012051602002850151610120518501555b81516001018083528114156103e7575b5050505050505b60206102a0600463313ce5676102405261025c6004355afa61044457600080fd5b601f3d1161045157600080fd5b6000506102a051600255602435600755602435610240527f8d55d160c0009eb3d739442df0a3ca089ed64378bfac017e7ddad463f9815b876020610240a1602435600855602435610240527fff54978127edd34aec0f9061fb3b155fbe0ededdfa881ee3e0d541d3a1eef4386020610240a1604435601855604435610240527fdf3c41a916aecbf42361a147f8348c242662c3ce20ecef30e826b80642477a3d6020610240a16102205160095561022051610240527f837b9ad138a0a1839a9637afce5306a5c13e23eb63365686843a5319a243609c6020610240a16103e8601a556103e86102405261024051610260527f0810a1c261ca2c0cd86a0152c51c43ba9dc329639d2349f98140891b2ea798eb6020610260a160c860195560c86102405261024051610260527f7a7883b0074f96e2c7fab65eb25abf624c488761a5db889e3bb84855dcc6daaf6020610260a142601455426015556529d635a8e00060175560007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f602082610620010152602081019050600b610500527f596561726e205661756c740000000000000000000000000000000000000000006105205261050080516020820120905060208261062001015260208101905060056105c0527f302e332e340000000000000000000000000000000000000000000000000000006105e0526105c0805160208201209050602082610620010152602081019050466020826106200101526020810190503060208261062001015260208101905080610620526106209050805160208201209050601c55005b6325829410811415610740576005610140527f302e332e34000000000000000000000000000000000000000000000000000000610160526101408051602001806101e08284600060045af16106ff57600080fd5b50506101e0518061020001818260206001820306601f820103905003368237505060206101c05260406101e0510160206001820306601f82010390506101c0f35b63c47f00278114156107d657604a60043560040161014037602a60043560040135111561076c57600080fd5b600754331461077a57600080fd5b61014080600060c052602060c020602082510161012060006003818352015b826101205160200211156107ac576107ce565b61012051602002850151610120518501555b8151600101808352811415610799575b505050505050005b63b84c824681141561086c57603460043560040161014037601460043560040135111561080257600080fd5b600754331461081057600080fd5b61014080600160c052602060c020602082510161012060006002818352015b8261012051602002111561084257610864565b61012051602002850151610120518501555b815160010180835281141561082f575b505050505050005b63ab033ea981141561089e5760043560a01c1561088857600080fd5b600754331461089657600080fd5b600435600a55005b63238efcbc8114156108ea57600a5433146108b857600080fd5b3360075533610140527f8d55d160c0009eb3d739442df0a3ca089ed64378bfac017e7ddad463f9815b876020610140a1005b63d4a22bde81141561094a5760043560a01c1561090657600080fd5b600754331461091457600080fd5b600435600855600435610140527fff54978127edd34aec0f9061fb3b155fbe0ededdfa881ee3e0d541d3a1eef4386020610140a1005b630b5b78eb8114156109aa5760043560a01c1561096657600080fd5b600754331461097457600080fd5b600435600b55600435610140527f6d674c311329fb38bbc96dc33d2aad03b9bf9fcfdd8f5e5054fda291a5b3c1f86020610140a1005b63ec38a862811415610a0a5760043560a01c156109c657600080fd5b60075433146109d457600080fd5b600435601855600435610140527fdf3c41a916aecbf42361a147f8348c242662c3ce20ecef30e826b80642477a3d6020610140a1005b638402a84f811415610a43576007543314610a2457600080fd5b670de0b6b3a76400006004351115610a3b57600080fd5b600435601755005b63bdc8144b811415610a93576007543314610a5d57600080fd5b600435600f55600435610140527fae565aab888bca5e19e25a13db7b0c9144305bf55cb0f3f4d724f730e5acdd626020610140a1005b6370897b23811415610af4576007543314610aad57600080fd5b6127106004351115610abe57600080fd5b600435601a55600435610140527f0810a1c261ca2c0cd86a0152c51c43ba9dc329639d2349f98140891b2ea798eb6020610140a1005b63fe56e232811415610b55576007543314610b0e57600080fd5b6127106004351115610b1f57600080fd5b600435601955600435610140527f7a7883b0074f96e2c7fab65eb25abf624c488761a5db889e3bb84855dcc6daaf6020610140a1005b638a0dac4a811415610c065760043560a01c15610b7157600080fd5b600954610160526007546101805260006101405261014061012060006002818352015b610120516020026101600151331415610bb05760018352610bc0565b8151600101808352811415610b94575b50505061014051610bd057600080fd5b600435600955600435610140527f837b9ad138a0a1839a9637afce5306a5c13e23eb63365686843a5319a243609c6020610140a1005b6314c64402811415610cd25760043560011c15610c2257600080fd5b60043515610c8e57600954610160526007546101805260006101405261014061012060006002818352015b610120516020026101600151331415610c695760018352610c79565b8151600101808352811415610c4d575b50505061014051610c8957600080fd5b610c9c565b6007543314610c9c57600080fd5b600435600e55600435610140527fba40372a3a724dca3c57156128ef1e896724b65b37a17f190b1ad5de68f3a4f36020610140a1005b6394148415811415610f17576000610120525b610120516004013560a01c15610cfa57600080fd5b6020610120510161012052610280610120511015610d1757610ce5565b600854610160526007546101805260006101405261014061012060006002818352015b610120516020026101600151331415610d565760018352610d66565b8151600101808352811415610d3a575b50505061014051610d7657600080fd5b61014060006014818352015b60046101405160148110610d9557600080fd5b60200201351515610dc3576101405160148110610db157600080fd5b600d60c052602060c020015415610dc6565b60005b15610dd057610e53565b60006001600c60046101405160148110610de957600080fd5b602002013560e05260c052604060c02060c052602060c020015411610e0d57600080fd5b60046101405160148110610e2057600080fd5b60200201356101405160148110610e3657600080fd5b600d60c052602060c02001555b8151600101808352811415610d82575b50506004356101405260243561016052604435610180526064356101a0526084356101c05260a4356101e05260c4356102005260e43561022052610104356102405261012435610260526101443561028052610164356102a052610184356102c0526101a4356102e0526101c435610300526101e43561032052610204356103405261022435610360526102443561038052610264356103a0527f695ac3ac73f08f2002284ffe563cefe798ee2878a5e04219522e2e99eb89d168610280610140a1005b63a9059cbb811415610f695760043560a01c15610f3357600080fd5b336101405260043561016052602435610180526101805161016051610140516006580161403e565b600050600160005260206000f35b6323b872dd81141561109e5760043560a01c15610f8557600080fd5b60243560a01c15610f9557600080fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600460043560e05260c052604060c0203360e05260c052604060c02054101561106657600460043560e05260c052604060c0203360e05260c052604060c020546044358082101561100657600080fd5b808203905090506101405261014051600460043560e05260c052604060c0203360e05260c052604060c020556101405161016052336004357f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9256020610160a35b6004356101405260243561016052604435610180526101805161016051610140516006580161403e565b600050600160005260206000f35b63095ea7b38114156111175760043560a01c156110ba57600080fd5b60243560043360e05260c052604060c02060043560e05260c052604060c0205560243561014052600435337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9256020610140a3600160005260206000f35b63395093518114156111c45760043560a01c1561113357600080fd5b60043360e05260c052604060c02060043560e05260c052604060c020805460243581818301101561116357600080fd5b8082019050905081555060043360e05260c052604060c02060043560e05260c052604060c0205461014052600435337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9256020610140a3600160005260206000f35b63a457c2d781141561126f5760043560a01c156111e057600080fd5b60043360e05260c052604060c02060043560e05260c052604060c02080546024358082101561120e57600080fd5b8082039050905081555060043360e05260c052604060c02060043560e05260c052604060c0205461014052600435337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9256020610140a3600160005260206000f35b639fd5a6cf81141561166c5760043560a01c1561128b57600080fd5b60243560a01c1561129b57600080fd5b60616084356004016101403760416084356004013511156112bb57600080fd5b6000600435186112ca57600080fd5b60643515156112da5760016112e1565b4260643510155b6112ea57600080fd5b601b60043560e05260c052604060c020546101e05260006002610520527f19010000000000000000000000000000000000000000000000000000000000006105405261052060028060208461078001018260208501600060045af1505080518201915050601c5460208261078001015260208101905060007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c96020826106800101526020810190506004356020826106800101526020810190506024356020826106800101526020810190506044356020826106800101526020810190506101e05160208261068001015260208101905060643560208261068001015260208101905080610680526106809050805160208201209050602082610780010152602081019050806107805261078090508051602082012090506102005260006020602082066103000161014051828401111561144457600080fd5b6041806103208260206020880688030161014001600060045af150508181528090509050905080602001516000825180602090131561148257600080fd5b809190121561149057600080fd5b806020036101000a8204905090509050610220526020602060208206610320016101405182840111156114c257600080fd5b6041806103408260206020880688030161014001600060045af150508181528090509050905080602001516000825180602090131561150057600080fd5b809190121561150e57600080fd5b806020036101000a82049050905090506102405260406001602082066103400161014051828401111561154057600080fd5b6041806103608260206020880688030161014001600060045af150508181528090509050905080602001516000825180602090131561157e57600080fd5b809190121561158c57600080fd5b806020036101000a8204905090509050610260526004356102005161028052610260516102a052610220516102c052610240516102e052602060c0608061028060015afa5060c051146115de57600080fd5b604435600460043560e05260c052604060c02060243560e05260c052604060c020556101e051600181818301101561161557600080fd5b80820190509050601b60043560e05260c052604060c02055604435610280526024356004357f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9256020610280a3600160005260206000f35b6301e1d1148114156116925760065801614149565b610140526101405160005260206000f35b63d0e30db08114156116cd577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610140523361016052611727565b63b6b55f258114156116ee5733610160526020600461014037600050611727565b636e553f6581141561172257602060046101403760243560a01c1561171257600080fd5b6020602461016037600050611727565b61197b565b601d541561173457600080fd5b6001601d55600e541561174657600080fd5b61014051610180527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61018051141561181057600f5461014051610160516101805160065801614149565b6101a0526101805261016052610140526101a051808210156117b257600080fd5b80820390509050602061024060246370a082316101c052336101e0526101dc6006545afa6117df57600080fd5b601f3d116117ec57600080fd5b60005061024051808211156118015780611803565b815b9050905061018052611861565b600f5461014051610160516101805160065801614149565b6101a0526101805261016052610140526101a0516101805181818301101561184f57600080fd5b80820190509050111561186157600080fd5b6000610180511161187157600080fd5b6000600b5418156118c75760206102406044635ed7660e6101a052336101c052610180516101e0526101bc600b545afa6118aa57600080fd5b601f3d116118b757600080fd5b600050610240516118c757600080fd5b6101405161016051610180516101a051610160516101c052610180516101e0526101e0516101c051600658016141ac565b610240526101a052610180526101605261014052610240516101a0526101405161016051610180516101a0516006546101c052336101e0523061020052610180516102205261022051610200516101e0516101c05160065801613e8d565b6101a0526101805261016052610140526000506101a0516000526000601d5560206000f35b6375de2902811415611ad95760206101e060246370a0823161016052306101805261017c6006545afa6119ad57600080fd5b601f3d116119ba57600080fd5b6000506101e051610200526101405161016051610180516101a0516101c0516101e051610200516102005161022052610220516006580161445a565b61028052610200526101e0526101c0526101a052610180526101605261014052610280516101405261018060006014818352015b61018051600d60c052602060c020015461016052610160511515611a4d57611aca565b61014080516101405161016051610180516006600c6101605160e05260c052604060c02060c052602060c02001546101a0526101a0516006580161445a565b6102005261018052610160526101405261020051818183011015611aaf57600080fd5b808201905090508152505b8151600101808352811415611a2a575b50506101405160005260206000f35b633ccfd60b811415611b1a577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610140523361016052600161018052611bbb565b632e1a7d4d811415611b415733610160526001610180526020600461014037600050611bbb565b62f714ce811415611b7a57600161018052602060046101403760243560a01c15611b6a57600080fd5b6020602461016037600050611bbb565b63e63697c8811415611bb657602060046101403760243560a01c15611b9e57600080fd5b60206024610160376020604461018037600050611bbb565b612214565b601d5415611bc857600080fd5b6001601d55610140516101a052612710610180511115611be757600080fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6101a0511415611c265760033360e05260c052604060c020546101a0525b60033360e05260c052604060c020546101a0511115611c4457600080fd5b60006101a05111611c5457600080fd5b6101405161016051610180516101a0516101c0516101a0516101e0526101e051600658016142e6565b610240526101c0526101a052610180526101605261014052610240516101c05260006101e052602061028060246370a0823161020052306102205261021c6006545afa611cc957600080fd5b601f3d11611cd657600080fd5b600050610280516101c0511115612001576102c060006014818352015b6102c051600d60c052602060c02001546102a0526102a0511515611d1657611ffe565b602061038060246370a0823161030052306103205261031c6006545afa611d3c57600080fd5b601f3d11611d4957600080fd5b600050610380516102e0526102e0516101c051111515611d6857611ffe565b6101c0516102e05180821015611d7d57600080fd5b8082039050905061030052610300516006600c6102a05160e05260c052604060c02060c052602060c020015480821115611db75780611db9565b815b9050905061030052610300511515611dd057611fee565b60206103c06024632e1a7d4d61034052610300516103605261035c60006102a0515af1611dfc57600080fd5b601f3d11611e0957600080fd5b6000506103c0516103205260206103e060246370a0823161036052306103805261037c6006545afa611e3a57600080fd5b601f3d11611e4757600080fd5b6000506103e0516102e05180821015611e5f57600080fd5b80820390509050610340526000610320511115611ef4576101c080516103205180821015611e8c57600080fd5b808203905090508152506101e0805161032051818183011015611eae57600080fd5b808201905090508152506008600c6102a05160e05260c052604060c02060c052602060c02001805461032051818183011015611ee957600080fd5b808201905090508155505b6006600c6102a05160e05260c052604060c02060c052602060c0200180546103405161032051818183011015611f2957600080fd5b8082019050905080821015611f3d57600080fd5b80820390509050815550601180546103405161032051818183011015611f6257600080fd5b8082019050905080821015611f7657600080fd5b80820390509050815550610140610360525b61036051516020610360510161036052610360610360511015611faa57611f88565b6102a05161038052610380516006580161452f565b610340610360525b6103605152602061036051036103605261014061036051101515611fea57611fc7565b6000505b8151600101808352811415611cf3575b50505b60206102a060246370a0823161022052306102405261023c6006545afa61202757600080fd5b601f3d1161203457600080fd5b6000506102a05161020052610200516101c05111156120c957610200516101c0526101405161016051610180516101a0516101c0516101e051610200516101c0516101e05181818301101561208857600080fd5b8082019050905061022052610220516006580161445a565b61028052610200526101e0526101c0526101a052610180526101605261014052610280516101a0525b610180516101c0516101e0518181830110156120e457600080fd5b8082019050905080820282158284830414176120ff57600080fd5b80905090509050612710808204905090506101e051111561211f57600080fd5b600580546101a0518082101561213457600080fd5b8082039050905081555060033360e05260c052604060c02080546101a0518082101561215f57600080fd5b808203905090508155506101a051610220526000337fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6020610220a36101405161016051610180516101a0516101c0516101e051610200516006546102205261016051610240526101c0516102605261026051610240516102205160065801613cf3565b610200526101e0526101c0526101a0526101805261016052610140526000506101c0516000526000601d5560206000f35b6399530b0681141561225757604e6002541061222f57600080fd5b600254600a0a6101405261014051600658016142e6565b6101a0526101a05160005260206000f35b6314b4e26e81141561249c5760043560a01c1561227357600080fd5b6013600d60c052602060c02001541561228b57600080fd5b600e541561229857600080fd5b60075433146122a657600080fd5b6000600435186122b557600080fd5b6001600c60043560e05260c052604060c02060c052602060c0200154156122db57600080fd5b60206101a0600463fbfa77cf6101405261015c6004355afa6122fc57600080fd5b601f3d1161230957600080fd5b6000506101a051301461231b57600080fd5b60206101a06004631f1fcd516101405261015c6004355afa61233c57600080fd5b601f3d1161234957600080fd5b6000506101a0516006541461235d57600080fd5b61271060105460243581818301101561237557600080fd5b80820190509050111561238757600080fd5b606435604435111561239857600080fd5b612710601a54808210156123ab57600080fd5b8082039050905060843511156123c057600080fd5b600c60043560e05260c052604060c02060c052602060c0206084358155426001820155602435600282015560443560038201556064356004820155426005820155600060068201556000600782015560006008820155506024356101405260443561016052606435610180526084356101a0526004357f5a6abd2af9fe6c0554fa08649e2d86e4393ff19dc304d072d38d295c9291d4dc6080610140a26010805460243581818301101561247357600080fd5b808201905090508155506004356013600d60c052602060c02001556006580161460c565b600050005b637c6a4f248114156125f95760043560a01c156124b857600080fd5b600854610160526007546101805260006101405261014061012060006002818352015b6101205160200261016001513314156124f75760018352612507565b81516001018083528114156124db575b5050506101405161251757600080fd5b60006001600c60043560e05260c052604060c02060c052602060c02001541161253f57600080fd5b601080546002600c60043560e05260c052604060c02060c052602060c02001548082101561256c57600080fd5b808203905090508155506024356002600c60043560e05260c052604060c02060c052602060c0200155601080546024358181830110156125ab57600080fd5b8082019050905081555061271060105411156125c657600080fd5b602435610140526004357fbda9398315c83ccef012bcaa318a2ff7b680f36429d36597bd4bc25ac11ead596020610140a2005b63e722befe8114156127185760043560a01c1561261557600080fd5b600854610160526007546101805260006101405261014061012060006002818352015b6101205160200261016001513314156126545760018352612664565b8151600101808352811415612638575b5050506101405161267457600080fd5b60006001600c60043560e05260c052604060c02060c052602060c02001541161269c57600080fd5b6024356004600c60043560e05260c052604060c02060c052602060c020015410156126c657600080fd5b6024356003600c60043560e05260c052604060c02060c052602060c0200155602435610140526004357f0b728ad785976532c4aaadde09b1cba5f262a7090e83c62d2377bc405678b29c6020610140a2005b634757a1568114156128375760043560a01c1561273457600080fd5b600854610160526007546101805260006101405261014061012060006002818352015b6101205160200261016001513314156127735760018352612783565b8151600101808352811415612757575b5050506101405161279357600080fd5b60006001600c60043560e05260c052604060c02060c052602060c0200154116127bb57600080fd5b6024356003600c60043560e05260c052604060c02060c052602060c020015411156127e557600080fd5b6024356004600c60043560e05260c052604060c02060c052602060c0200155602435610140526004357f1796a8e0760e2de5b72e7bf64fccb7666c48ceab94cb6cae7cb7eff4b6f641ab6020610140a2005b63d0194ed68114156129005760043560a01c1561285357600080fd5b600754331461286157600080fd5b612710601a548082101561287457600080fd5b80820390509050602435111561288957600080fd5b60006001600c60043560e05260c052604060c02060c052602060c0200154116128b157600080fd5b602435600c60043560e05260c052604060c02060c052602060c02055602435610140526004357fe57488a65fa53066d4c25bac90db47dda4e5de3025ac12bf76ff07211cf7f39e6020610140a2005b636cb56d19811415612c185760043560a01c1561291c57600080fd5b60243560a01c1561292c57600080fd5b600754331461293a57600080fd5b60006024351861294957600080fd5b60006001600c60043560e05260c052604060c02060c052602060c02001541161297157600080fd5b6001600c60243560e05260c052604060c02060c052602060c02001541561299757600080fd5b610140600c60043560e05260c052604060c0208060c052602060c02054825260018160c052602060c0200154826020015260028160c052602060c0200154826040015260038160c052602060c0200154826060015260048160c052602060c0200154826080015260058160c052602060c02001548260a0015260068160c052602060c02001548260c0015260078160c052602060c02001548260e0015260088160c052602060c020015482610100015250506101405161016051610180516101a0516101c0516101e0516102005161022051610240516004356102605261026051600658016146ef565b6102405261022052610200526101e0526101c0526101a0526101805261016052610140526000506010805461018051818183011015612abf57600080fd5b8082019050905081555060006006600c60043560e05260c052604060c02060c052602060c0200155600c60243560e05260c052604060c02060c052602060c0206101405181556101e05160018201556101805160028201556101a05160038201556101c05160048201556101e05160058201556102005160068201556000600782015560006008820155506004353b612b5757600080fd5b60006000602463ce5494bb610260526024356102805261027c60006004355af1612b8057600080fd5b6024356004357f100b69bb6b504e1252e36b375233158edee64d071b399e2f81473a695fd1b02160006000a361026060006014818352015b6004356102605160148110612bcc57600080fd5b600d60c052602060c02001541415612c04576024356102605160148110612bf257600080fd5b600d60c052602060c020015560006000f35b8151600101808352811415612bb8575b5050005b63a0e4af9a811415612c2e573361014052612c5f565b63bb994d48811415612c5a5760043560a01c15612c4a57600080fd5b6020600461014037600050612c5f565b612ce8565b61014051610180526007546101a0526009546101c05260006101605261016061012060006003818352015b610120516020026101800151331415612ca65760018352612cb6565b8151600101808352811415612c8a575b50505061016051612cc657600080fd5b61014051610140516101605261016051600658016146ef565b61014052600050005b63f76e4caa811415612e645760043560a01c15612d0457600080fd5b600854610160526007546101805260006101405261014061012060006002818352015b610120516020026101600151331415612d435760018352612d53565b8151600101808352811415612d27575b50505061014051612d6357600080fd5b60006001600c60043560e05260c052604060c02060c052602060c020015411612d8b57600080fd5b60006101405261018060006014818352015b61018051600d60c052602060c020015461016052610160511515612dc057612e02565b6004356101605118612dd157600080fd5b61014080516001818183011015612de757600080fd5b808201905090508152505b8151600101808352811415612d9d575b505060146101405110612e1457600080fd5b6004356013600d60c052602060c0200155610140516006580161460c565b610140526000506004357fa8727d412c6fa1e2497d6d6f275e2d9fe4d9318d5b793632e60ad9d38ee8f1fa60006000a2005b63b22439f5811415612f8b5760043560a01c15612e8057600080fd5b600854610160526007546101805260006101405261014061012060006002818352015b610120516020026101600151331415612ebf5760018352612ecf565b8151600101808352811415612ea3575b50505061014051612edf57600080fd5b61014060006014818352015b6004356101405160148110612eff57600080fd5b600d60c052602060c02001541415612f735760006101405160148110612f2457600080fd5b600d60c052602060c0200155610140516006580161460c565b610140526000506004357f8e1ec3c16d6a67ea8effe2ac7adef9c2de0bc0dc47c49cdf18f6a8b0048085be60006000a260006000f35b8151600101808352811415612eeb575b505060006000fd5b63bf3759b5811415612fa1573361014052612fd2565b63bdcf36bb811415612fcd5760043560a01c15612fbd57600080fd5b6020600461014037600050612fd2565b613000565b610140516101405161016052610160516006580161477e565b6101c052610140526101c05160005260206000f35b63112c1f9b811415613016573361014052613047565b63d76480138114156130425760043560a01c1561303257600080fd5b6020600461014037600050613047565b613075565b610140516101405161016052610160516006580161487d565b6101c052610140526101c05160005260206000f35b63153c27c48114156130e55760065801614149565b6101405261014051600f5411156130d857600f546101405160065801614149565b610160526101405261016051808210156130c457600080fd5b8082039050905060005260206000f36130e3565b600060005260206000f35b005b63d3406abd8114156130fb57336101405261312c565b6333586b678114156131275760043560a01c1561311757600080fd5b602060046101403760005061312c565b61315a565b6101405161014051610160526101605160065801614ad8565b6101c052610140526101c05160005260206000f35b63a1d9bafc81141561367f5760006001600c3360e05260c052604060c02060c052602060c02001541161318c57600080fd5b6004356044358181830110156131a157600080fd5b8082019050905060206101c060246370a0823161014052336101605261015c6006545afa6131ce57600080fd5b601f3d116131db57600080fd5b6000506101c05110156131ed57600080fd5b6000602435111561321957336101405260243561016052610160516101405160065801614c2b565b6000505b336101405260043561016052610160516101405160065801614e0d565b6000506007600c3360e05260c052604060c02060c052602060c02001805460043581818301101561326657600080fd5b80820190509050815550610140513361016052610160516006580161477e565b6101c052610140526101c0516101405260443561014051808211156132ab57806132ad565b815b90509050610160526000610160511115613337576006600c3360e05260c052604060c02060c052602060c02001805461016051808210156132ed57600080fd5b8082039050905081555060118054610160518082101561330c57600080fd5b808203905090508155506101408051610160518082101561332c57600080fd5b808203905090508152505b610140516101605161018051336101a0526101a0516006580161487d565b61020052610180526101605261014052610200516101805260006101805111156133d3576006600c3360e05260c052604060c02060c052602060c020018054610180518181830110156133a757600080fd5b8082019050905081555060118054610180518181830110156133c857600080fd5b808201905090508155505b600435610160518181830110156133e957600080fd5b808201905090506101a052610180516101a051101561346b576101405161016051610180516101a0516006546101c052336101e052610180516101a0518082101561343357600080fd5b8082039050905061020052610200516101e0516101c05160065801613cf3565b6101a0526101805261016052610140526000506134e7565b610180516101a05111156134e7576101405161016051610180516101a0516006546101c052336101e05230610200526101a05161018051808210156134af57600080fd5b808203905090506102205261022051610200516101e0516101c05160065801613e8d565b6101a0526101805261016052610140526000505b6101405161016051610180516101a051336101c0526101c0516006580161452f565b6101a052610180526101605261014052600050426005600c3360e05260c052604060c02060c052602060c0200155426014556004356016556004356101c0526024356101e05261016051610200526007600c3360e05260c052604060c02060c052602060c0200154610220526008600c3360e05260c052604060c02060c052602060c0200154610240526006600c3360e05260c052604060c02060c052602060c02001546102605261018051610280526002600c3360e05260c052604060c02060c052602060c02001546102a052337f67f96d2854a335a4cadb49f84fd3ca6f990744ddb3feceeb4b349d2d53d32ad36101006101c0a26002600c3360e05260c052604060c02060c052602060c0200154151561362757600161362b565b600e545b15613670576020610220600463efbb5cb06101c0526101dc335afa61364f57600080fd5b601f3d1161365c57600080fd5b6000506102205160005260206000f361367d565b6101405160005260206000f35b005b6301681a628114156136b5577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610140526136d6565b636ea056a98114156136d15760206024610140376000506136d6565b6137b6565b60043560a01c156136e657600080fd5b60075433146136f457600080fd5b6006546004351861370457600080fd5b61014051610160527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61016051141561377657602061020060246370a0823161018052306101a05261019c6004355afa61375d57600080fd5b601f3d1161376a57600080fd5b60005061020051610160525b6101405161016051600435610180526007546101a052610160516101c0526101c0516101a0516101805160065801613cf3565b6101605261014052600050005b6306fdde0381141561385b5760008060c052602060c020610180602082540161012060006003818352015b826101205160200211156137f457613816565b61012051850154610120516020028501525b81516001018083528114156137e1575b50505050505061018051806101a001818260206001820306601f82010390500336823750506020610160526040610180510160206001820306601f8201039050610160f35b6395d89b418114156139005760018060c052602060c020610180602082540161012060006002818352015b82610120516020021115613899576138bb565b61012051850154610120516020028501525b8151600101808352811415613886575b50505050505061018051806101a001818260206001820306601f82010390500336823750506020610160526040610180510160206001820306601f8201039050610160f35b63313ce5678114156139185760025460005260206000f35b6370a0823181141561394e5760043560a01c1561393457600080fd5b600360043560e05260c052604060c0205460005260206000f35b63dd62ed3e8114156139a25760043560a01c1561396a57600080fd5b60243560a01c1561397a57600080fd5b600460043560e05260c052604060c02060243560e05260c052604060c0205460005260206000f35b6318160ddd8114156139ba5760055460005260206000f35b63fc0c546a8114156139d25760065460005260206000f35b635aa6e6758114156139ea5760075460005260206000f35b6388a8d602811415613a025760085460005260206000f35b63452a9320811415613a1a5760095460005260206000f35b6346d55875811415613a3257600b5460005260206000f35b6339ebf823811415613b4c5760043560a01c15613a4e57600080fd5b600c60043560e05260c052604060c0206101408080808460c052602060c0205481525050602081019050808060018560c052602060c020015481525050602081019050808060028560c052602060c020015481525050602081019050808060038560c052602060c020015481525050602081019050808060048560c052602060c020015481525050602081019050808060058560c052602060c020015481525050602081019050808060068560c052602060c020015481525050602081019050808060078560c052602060c020015481525050602081019050808060088560c052602060c0200154815250506101209050905060c05260c051610140f35b63c822adda811415613b7d5760043560148110613b6857600080fd5b600d60c052602060c020015460005260206000f35b633403c2fc811415613b9557600e5460005260206000f35b63ecf70858811415613bad57600f5460005260206000f35b63cea55f57811415613bc55760105460005260206000f35b63fc7b9c18811415613bdd5760115460005260206000f35b638e6350e2811415613bf55760125460005260206000f35b63c3535b52811415613c0d5760145460005260206000f35b633629c8de811415613c255760155460005260206000f35b6344b81396811415613c3d5760165460005260206000f35b632140254d811415613c555760175460005260206000f35b639ec5a894811415613c6d5760185460005260206000f35b63a6f7f5d6811415613c855760195460005260206000f35b6387788782811415613c9d57601a5460005260206000f35b637ecebe00811415613cd35760043560a01c15613cb957600080fd5b601b60043560e05260c052604060c0205460005260206000f35b633644e515811415613ceb57601c5460005260206000f35b505b60006000fd5b6101a05261014052610160526101805260006004610220527fa9059cbb000000000000000000000000000000000000000000000000000000006102405261022060048060208461028001018260208501600060045af15050805182019150506101605160208261028001015260208101905061018051602082610280010152602081019050806102805261028090508051602001806103208284600060045af1613d9c57600080fd5b505060206103e0610320516103406000610140515af1613dbb57600080fd5b60203d80821115613dcc5780613dce565b815b905090506103c0526103c08051602001806101c08284600060045af1613df357600080fd5b505060006101c0511115613e87576101c0806020015160008251806020901315613e1c57600080fd5b8091901215613e2a57600080fd5b806020036101000a820490509050905015151515613e87576308c379a0610220526020610240526010610260527f5472616e73666572206661696c656421000000000000000000000000000000006102805261026050606461023cfd5b6101a051565b6101c0526101405261016052610180526101a05260006004610240527f23b872dd00000000000000000000000000000000000000000000000000000000610260526102406004806020846102a001018260208501600060045af1505080518201915050610160516020826102a0010152602081019050610180516020826102a00101526020810190506101a0516020826102a0010152602081019050806102a0526102a090508051602001806103608284600060045af1613f4d57600080fd5b50506020610440610360516103806000610140515af1613f6c57600080fd5b60203d80821115613f7d5780613f7f565b815b90509050610420526104208051602001806101e08284600060045af1613fa457600080fd5b505060006101e0511115614038576101e0806020015160008251806020901315613fcd57600080fd5b8091901215613fdb57600080fd5b806020036101000a820490509050905015151515614038576308c379a0610240526020610260526010610280527f5472616e73666572206661696c656421000000000000000000000000000000006102a05261028050606461025cfd5b6101c051565b6101a052610140526101605261018052306101e05260006102005260006101c0526101c061012060006002818352015b610120516020026101e0015161016051141561408d576001835261409d565b815160010180835281141561406e575b5050506101c051156140ae57600080fd5b60036101405160e05260c052604060c020805461018051808210156140d257600080fd5b8082039050905081555060036101605160e05260c052604060c02080546101805181818301101561410257600080fd5b80820190509050815550610180516101c05261016051610140517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60206101c0a36101a051565b6101405260206101e060246370a0823161016052306101805261017c6006545afa61417357600080fd5b601f3d1161418057600080fd5b6000506101e05160115481818301101561419957600080fd5b8082019050905060005260005161014051565b61018052610140526101605260006101a0526005546101c05260006101c051111561424757610160516101c05180820282158284830414176141ed57600080fd5b809050905090506101405161016051610180516101a0516101c05160065801614149565b6101e0526101c0526101a0526101805261016052610140526101e051808061423857600080fd5b8204905090506101a052614250565b610160516101a0525b6101c0516101a05181818301101561426757600080fd5b8082019050905060055560036101405160e05260c052604060c02080546101a05181818301101561429757600080fd5b808201905090508155506101a0516101e0526101405160007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60206101e0a36101a05160005260005161018051565b61016052610140526005541515614307576101405160005260005161016051565b426014548082101561431857600080fd5b80820390509050601754808202821582848304141761433657600080fd5b80905090509050610180526101405161016051610180516101a05160065801614149565b6101c0526101a0526101805261016052610140526101c0516101a052670de0b6b3a76400006101805110156143ef576101a080516016546101805160165480820282158284830414176143ac57600080fd5b80905090509050670de0b6b3a764000080820490509050808210156143d057600080fd5b80820390509050808210156143e457600080fd5b808203905090508152505b6103e8610140516101a051808202821582848304141761440e57600080fd5b80905090509050808202821582848304141761442957600080fd5b80905090509050600554808061443e57600080fd5b8204905090506103e88082049050905060005260005161016051565b61016052610140526000610140516101605160065801614149565b61018052610160526101405261018051111561451f576103e86101405160055480820282158284830414176144a957600080fd5b8090509050905080820282158284830414176144c457600080fd5b8090509050905061014051610160516101805160065801614149565b6101a0526101805261016052610140526101a05180806144ff57600080fd5b8204905090506103e880820490509050600052600051610160515661452d565b600060005260005161016051565b005b61016052610140526012805460136101405160e05260c052604060c020548082101561455a57600080fd5b808203905090508155506006600c6101405160e05260c052604060c02060c052602060c020015460206102006004638e6350e26101a0526101bc610140515afa6145a357600080fd5b601f3d116145b057600080fd5b60005061020051808211156145c557806145c7565b815b905090506101805260128054610180518181830110156145e657600080fd5b808201905090508155506101805160136101405160e05260c052604060c0205561016051565b6101405260006101605261018060006014818352015b610180516014811061463357600080fd5b600d60c052602060c02001546101a0526101a0511515614672576101608051600181818301101561466357600080fd5b808201905090508152506146d7565b60006101605111156146d7576101a05161018051610160518082101561469757600080fd5b80820390509050601481106146ab57600080fd5b600d60c052602060c0200155600061018051601481106146ca57600080fd5b600d60c052602060c02001555b8151600101808352811415614622575b505061014051565b6101605261014052601080546002600c6101405160e05260c052604060c02060c052602060c02001548082101561472557600080fd5b8082039050905081555060006002600c6101405160e05260c052604060c02060c052602060c0200155610140517f4201c688d84c01154d321afa0c72f1bffe9eef53005c9de9d035074e71e9b32a60006000a261016051565b61016052610140526002600c6101405160e05260c052604060c02060c052602060c020015461014051610160516101805160065801614149565b6101a0526101805261016052610140526101a05180820282158284830414176147e057600080fd5b8090509050905061271080820490509050610180526006600c6101405160e05260c052604060c02060c052602060c02001546101a052600e5415614832576101a051600052600051610160515661487b565b610180516101a051111515614853576000600052600051610160515661487b565b6101a051610180518082101561486857600080fd5b8082039050905060005260005161016051565b005b6101605261014052600e541561489b57600060005260005161016051565b61014051610160516101805160065801614149565b6101a0526101805261016052610140526101a051610180526010546101805180820282158284830414176148e357600080fd5b80905090509050612710808204905090506101a0526011546101c0526002600c6101405160e05260c052604060c02060c052602060c020015461018051808202821582848304141761493457600080fd5b80905090509050612710808204905090506101e0526006600c6101405160e05260c052604060c02060c052602060c0200154610200526003600c6101405160e05260c052604060c02060c052602060c0200154610220526004600c6101405160e05260c052604060c02060c052602060c020015461024052610200516101e0511115156149c25760016149cd565b6101c0516101a05111155b156149e057600060005260005161016051565b6101e05161020051808210156149f557600080fd5b8082039050905061026052610260516101a0516101c05180821015614a1957600080fd5b8082039050905080821115614a2e5780614a30565b815b905090506102605261026051602061030060246370a0823161028052306102a05261029c6006545afa614a6257600080fd5b601f3d11614a6f57600080fd5b6000506103005180821115614a845780614a86565b815b905090506102605261022051610260511015614aae5760006000526000516101605156614ad6565b610260516102405180821115614ac45780614ac6565b815b9050905060005260005161016051565b005b61016052610140526005600c6101405160e05260c052604060c02060c052602060c020015461018052426101805180821015614b1357600080fd5b808203905090506101a052610180516001600c6101405160e05260c052604060c02060c052602060c020015480821015614b4c57600080fd5b808203905090506101c05260006101a0511115614bb25760006101c0511115614baa5760206102c060046322f3e2d46102605261027c610140515afa614b9157600080fd5b601f3d11614b9e57600080fd5b6000506102c051614bad565b60005b614bb5565b60005b15614c1b576007600c6101405160e05260c052604060c02060c052602060c02001546101a0518082028215828483041417614bef57600080fd5b809050905090506101c0518080614c0557600080fd5b8204905090506000526000516101605156614c29565b600060005260005161016051565b005b6101805261014052610160526006600c6101405160e05260c052604060c02060c052602060c02001546101a052610160516101a0511015614c6b57600080fd5b6008600c6101405160e05260c052604060c02060c052602060c02001805461016051818183011015614c9c57600080fd5b808201905090508155506101a0516101605180821015614cbb57600080fd5b808203905090506006600c6101405160e05260c052604060c02060c052602060c0200155601180546101605180821015614cf457600080fd5b808203905090508155506002600c6101405160e05260c052604060c02060c052602060c02001546101c052610160516127108082028215828483041417614d3a57600080fd5b809050905090506101405161016051610180516101a0516101c0516101e05160065801614149565b610200526101e0526101c0526101a052610180526101605261014052610200518080614d8d57600080fd5b8204905090506101c05180821115614da55780614da7565b815b905090506101e0526002600c6101405160e05260c052604060c02060c052602060c0200180546101e05180821015614dde57600080fd5b80820390509050815550601080546101e05180821015614dfd57600080fd5b8082039050905081555061018051565b61018052610140526101605260115460125480821015614e2c57600080fd5b808203905090504260145480821015614e4457600080fd5b808203905090508082028215828483041417614e5f57600080fd5b809050905090506019548082028215828483041417614e7d57600080fd5b80905090509050612710808204905090506301e18558808204905090506101a05260006101c0526000610160511115614f425761016051600c6101405160e05260c052604060c02060c052602060c020548082028215828483041417614ee257600080fd5b80905090509050612710808204905090506101c0526101a0805161016051601a548082028215828483041417614f1757600080fd5b8090509050905061271080820490509050818183011015614f3757600080fd5b808201905090508152505b6101a0516101c051818183011015614f5957600080fd5b808201905090506101e05260006101e051111561510f576101405161016051610180516101a0516101c0516101e0516102005130610220526101e051610240526102405161022051600658016141ac565b6102a052610200526101e0526101c0526101a0526101805261016052610140526102a0516102005260006101c0511115615088576101c051610200518082028215828483041417614ffa57600080fd5b809050905090506101e051808061501057600080fd5b820490509050610220526101405161016051610180516101a0516101c0516101e05161020051610220513061024052610140516102605261022051610280526102805161026051610240516006580161403e565b61022052610200526101e0526101c0526101a0526101805261016052610140526000505b600060033060e05260c052604060c02054111561510f576101405161016051610180516101a0516101c0516101e0516102005130610220526018546102405260033060e05260c052604060c02054610260526102605161024051610220516006580161403e565b610200526101e0526101c0526101a0526101805261016052610140526000505b61018051565b61000461511903610004600039610004615119036000f3",