Created
May 4, 2023 19:46
-
-
Save ksyao2002/e707b4b452c07497a8babfb164985412 to your computer and use it in GitHub Desktop.
Created using remix-ide: Realtime Ethereum Contract Compiler and Runtime. Load this file by pasting this gists URL or ID at https://remix.ethereum.org/#version=soljson-v0.8.18+commit.87f61d96.js&optimize=false&runs=200&gist=
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"overrides": [ | |
{ | |
"files": "*.sol", | |
"options": { | |
"printWidth": 80, | |
"tabWidth": 4, | |
"useTabs": false, | |
"singleQuote": false, | |
"bracketSpacing": false | |
} | |
}, | |
{ | |
"files": "*.yml", | |
"options": {} | |
}, | |
{ | |
"files": "*.yaml", | |
"options": {} | |
}, | |
{ | |
"files": "*.toml", | |
"options": {} | |
}, | |
{ | |
"files": "*.json", | |
"options": {} | |
}, | |
{ | |
"files": "*.js", | |
"options": {} | |
}, | |
{ | |
"files": "*.ts", | |
"options": {} | |
} | |
] | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
REMIX DEFAULT WORKSPACE | |
Remix default workspace is present when: | |
i. Remix loads for the very first time | |
ii. A new workspace is created with 'Default' template | |
iii. There are no files existing in the File Explorer | |
This workspace contains 3 directories: | |
1. 'contracts': Holds three contracts with increasing levels of complexity. | |
2. 'scripts': Contains four typescript files to deploy a contract. It is explained below. | |
3. 'tests': Contains one Solidity test file for 'Ballot' contract & one JS test file for 'Storage' contract. | |
SCRIPTS | |
The 'scripts' folder has four typescript files which help to deploy the 'Storage' contract using 'web3.js' and 'ethers.js' libraries. | |
For the deployment of any other contract, just update the contract's name from 'Storage' to the desired contract and provide constructor arguments accordingly | |
in the file `deploy_with_ethers.ts` or `deploy_with_web3.ts` | |
In the 'tests' folder there is a script containing Mocha-Chai unit tests for 'Storage' contract. | |
To run a script, right click on file name in the file explorer and click 'Run'. Remember, Solidity file must already be compiled. | |
Output from script will appear in remix terminal. | |
Please note, require/import is supported in a limited manner for Remix supported modules. | |
For now, modules supported by Remix are ethers, web3, swarmgw, chai, multihashes, remix and hardhat only for hardhat.ethers object/plugin. | |
For unsupported modules, an error like this will be thrown: '<module_name> module require is not supported by Remix IDE' will be shown. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"id": "4f6efa666a973ab71be563e294530782", | |
"_format": "hh-sol-build-info-1", | |
"solcVersion": "0.8.18", | |
"solcLongVersion": "0.8.18+commit.87f61d96", | |
"input": { | |
"language": "Solidity", | |
"sources": { | |
"contracts/BalancerErrors.sol": { | |
"content": "// SPDX-License-Identifier: GPL-3.0-or-later\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU General Public License for more details.\n// You should have received a copy of the GNU General Public License\n// along with this program. If not, see .\npragma solidity >=0.8.0 <0.9.0;\n// solhint-disable\n/**\n * @dev Reverts if `condition` is false, with a revert reason containing `errorCode`. Only codes up to 999 are\n * supported.\n * Uses the default 'BAL' prefix for the error code\n */\nfunction _require(bool condition, uint256 errorCode) pure {\n if (!condition) _revert(errorCode);\n}\n/**\n * @dev Reverts if `condition` is false, with a revert reason containing `errorCode`. Only codes up to 999 are\n * supported.\n */\nfunction _require(\n bool condition,\n uint256 errorCode,\n bytes3 prefix\n) pure {\n if (!condition) _revert(errorCode, prefix);\n}\n/**\n * @dev Reverts with a revert reason containing `errorCode`. Only codes up to 999 are supported.\n * Uses the default 'BAL' prefix for the error code\n */\nfunction _revert(uint256 errorCode) pure {\n _revert(errorCode, 0x42414c); // This is the raw byte representation of \"BAL\"\n}\n/**\n * @dev Reverts with a revert reason containing `errorCode`. Only codes up to 999 are supported.\n */\nfunction _revert(uint256 errorCode, bytes3 prefix) pure {\n uint256 prefixUint = uint256(uint24(prefix));\n // We're going to dynamically create a revert string based on the error code, with the following format:\n // 'BAL#{errorCode}'\n // where the code is left-padded with zeroes to three digits (so they range from 000 to 999).\n //\n // We don't have revert strings embedded in the contract to save bytecode size: it takes much less space to store a\n // number (8 to 16 bits) than the individual string characters.\n //\n // The dynamic string creation algorithm that follows could be implemented in Solidity, but assembly allows for a\n // much denser implementation, again saving bytecode size. Given this function unconditionally reverts, this is a\n // safe place to rely on it without worrying about how its usage might affect e.g. memory contents.\n assembly {\n // First, we need to compute the ASCII representation of the error code. We assume that it is in the 0-999\n // range, so we only need to convert three digits. To convert the digits to ASCII, we add 0x30, the value for\n // the '0' character.\n let units := add(mod(errorCode, 10), 0x30)\n errorCode := div(errorCode, 10)\n let tenths := add(mod(errorCode, 10), 0x30)\n errorCode := div(errorCode, 10)\n let hundreds := add(mod(errorCode, 10), 0x30)\n // With the individual characters, we can now construct the full string.\n // We first append the '#' character (0x23) to the prefix. In the case of 'BAL', it results in 0x42414c23 ('BAL#')\n // Then, we shift this by 24 (to provide space for the 3 bytes of the error code), and add the\n // characters to it, each shifted by a multiple of 8.\n // The revert reason is then shifted left by 200 bits (256 minus the length of the string, 7 characters * 8 bits\n // per character = 56) to locate it in the most significant part of the 256 slot (the beginning of a byte\n // array).\n let formattedPrefix := shl(24, add(0x23, shl(8, prefixUint)))\n let revertReason := shl(200, add(formattedPrefix, add(add(units, shl(8, tenths)), shl(16, hundreds))))\n // We can now encode the reason in memory, which can be safely overwritten as we're about to revert. The encoded\n // message will have the following layout:\n // [ revert reason identifier ] [ string location offset ] [ string length ] [ string contents ]\n // The Solidity revert reason identifier is 0x08c739a0, the function selector of the Error(string) function. We\n // also write zeroes to the next 28 bytes of memory, but those are about to be overwritten.\n mstore(0x0, 0x08c379a000000000000000000000000000000000000000000000000000000000)\n // Next is the offset to the location of the string, which will be placed immediately after (20 bytes away).\n mstore(0x04, 0x0000000000000000000000000000000000000000000000000000000000000020)\n // The string length is fixed: 7 characters.\n mstore(0x24, 7)\n // Finally, the string itself is stored.\n mstore(0x44, revertReason)\n // Even if the string is only 7 bytes long, we need to return a full 32 byte slot containing it. The length of\n // the encoded message is therefore 4 + 32 + 32 + 32 = 100.\n revert(0, 100)\n }\n}\nlibrary Errors {\n // Math\n uint256 internal constant ADD_OVERFLOW = 0;\n uint256 internal constant SUB_OVERFLOW = 1;\n uint256 internal constant SUB_UNDERFLOW = 2;\n uint256 internal constant MUL_OVERFLOW = 3;\n uint256 internal constant ZERO_DIVISION = 4;\n uint256 internal constant DIV_INTERNAL = 5;\n uint256 internal constant X_OUT_OF_BOUNDS = 6;\n uint256 internal constant Y_OUT_OF_BOUNDS = 7;\n uint256 internal constant PRODUCT_OUT_OF_BOUNDS = 8;\n uint256 internal constant INVALID_EXPONENT = 9;\n // Input\n uint256 internal constant OUT_OF_BOUNDS = 100;\n uint256 internal constant UNSORTED_ARRAY = 101;\n uint256 internal constant UNSORTED_TOKENS = 102;\n uint256 internal constant INPUT_LENGTH_MISMATCH = 103;\n uint256 internal constant ZERO_TOKEN = 104;\n uint256 internal constant INSUFFICIENT_DATA = 105;\n // Shared pools\n uint256 internal constant MIN_TOKENS = 200;\n uint256 internal constant MAX_TOKENS = 201;\n uint256 internal constant MAX_SWAP_FEE_PERCENTAGE = 202;\n uint256 internal constant MIN_SWAP_FEE_PERCENTAGE = 203;\n uint256 internal constant MINIMUM_BPT = 204;\n uint256 internal constant CALLER_NOT_VAULT = 205;\n uint256 internal constant UNINITIALIZED = 206;\n uint256 internal constant BPT_IN_MAX_AMOUNT = 207;\n uint256 internal constant BPT_OUT_MIN_AMOUNT = 208;\n uint256 internal constant EXPIRED_PERMIT = 209;\n uint256 internal constant NOT_TWO_TOKENS = 210;\n uint256 internal constant DISABLED = 211;\n // Pools\n uint256 internal constant MIN_AMP = 300;\n uint256 internal constant MAX_AMP = 301;\n uint256 internal constant MIN_WEIGHT = 302;\n uint256 internal constant MAX_STABLE_TOKENS = 303;\n uint256 internal constant MAX_IN_RATIO = 304;\n uint256 internal constant MAX_OUT_RATIO = 305;\n uint256 internal constant MIN_BPT_IN_FOR_TOKEN_OUT = 306;\n uint256 internal constant MAX_OUT_BPT_FOR_TOKEN_IN = 307;\n uint256 internal constant NORMALIZED_WEIGHT_INVARIANT = 308;\n uint256 internal constant INVALID_TOKEN = 309;\n uint256 internal constant UNHANDLED_JOIN_KIND = 310;\n uint256 internal constant ZERO_INVARIANT = 311;\n uint256 internal constant ORACLE_INVALID_SECONDS_QUERY = 312;\n uint256 internal constant ORACLE_NOT_INITIALIZED = 313;\n uint256 internal constant ORACLE_QUERY_TOO_OLD = 314;\n uint256 internal constant ORACLE_INVALID_INDEX = 315;\n uint256 internal constant ORACLE_BAD_SECS = 316;\n uint256 internal constant AMP_END_TIME_TOO_CLOSE = 317;\n uint256 internal constant AMP_ONGOING_UPDATE = 318;\n uint256 internal constant AMP_RATE_TOO_HIGH = 319;\n uint256 internal constant AMP_NO_ONGOING_UPDATE = 320;\n uint256 internal constant STABLE_INVARIANT_DIDNT_CONVERGE = 321;\n uint256 internal constant STABLE_GET_BALANCE_DIDNT_CONVERGE = 322;\n uint256 internal constant RELAYER_NOT_CONTRACT = 323;\n uint256 internal constant BASE_POOL_RELAYER_NOT_CALLED = 324;\n uint256 internal constant REBALANCING_RELAYER_REENTERED = 325;\n uint256 internal constant GRADUAL_UPDATE_TIME_TRAVEL = 326;\n uint256 internal constant SWAPS_DISABLED = 327;\n uint256 internal constant CALLER_IS_NOT_LBP_OWNER = 328;\n uint256 internal constant PRICE_RATE_OVERFLOW = 329;\n uint256 internal constant INVALID_JOIN_EXIT_KIND_WHILE_SWAPS_DISABLED = 330;\n uint256 internal constant WEIGHT_CHANGE_TOO_FAST = 331;\n uint256 internal constant LOWER_GREATER_THAN_UPPER_TARGET = 332;\n uint256 internal constant UPPER_TARGET_TOO_HIGH = 333;\n uint256 internal constant UNHANDLED_BY_LINEAR_POOL = 334;\n uint256 internal constant OUT_OF_TARGET_RANGE = 335;\n uint256 internal constant UNHANDLED_EXIT_KIND = 336;\n uint256 internal constant UNAUTHORIZED_EXIT = 337;\n uint256 internal constant MAX_MANAGEMENT_SWAP_FEE_PERCENTAGE = 338;\n uint256 internal constant UNHANDLED_BY_MANAGED_POOL = 339;\n uint256 internal constant UNHANDLED_BY_PHANTOM_POOL = 340;\n uint256 internal constant TOKEN_DOES_NOT_HAVE_RATE_PROVIDER = 341;\n uint256 internal constant INVALID_INITIALIZATION = 342;\n uint256 internal constant OUT_OF_NEW_TARGET_RANGE = 343;\n uint256 internal constant FEATURE_DISABLED = 344;\n uint256 internal constant UNINITIALIZED_POOL_CONTROLLER = 345;\n uint256 internal constant SET_SWAP_FEE_DURING_FEE_CHANGE = 346;\n uint256 internal constant SET_SWAP_FEE_PENDING_FEE_CHANGE = 347;\n uint256 internal constant CHANGE_TOKENS_DURING_WEIGHT_CHANGE = 348;\n uint256 internal constant CHANGE_TOKENS_PENDING_WEIGHT_CHANGE = 349;\n uint256 internal constant MAX_WEIGHT = 350;\n uint256 internal constant UNAUTHORIZED_JOIN = 351;\n uint256 internal constant MAX_MANAGEMENT_AUM_FEE_PERCENTAGE = 352;\n uint256 internal constant FRACTIONAL_TARGET = 353;\n uint256 internal constant ADD_OR_REMOVE_BPT = 354;\n uint256 internal constant INVALID_CIRCUIT_BREAKER_BOUNDS = 355;\n uint256 internal constant CIRCUIT_BREAKER_TRIPPED = 356;\n uint256 internal constant MALICIOUS_QUERY_REVERT = 357;\n uint256 internal constant JOINS_EXITS_DISABLED = 358;\n // Lib\n uint256 internal constant REENTRANCY = 400;\n uint256 internal constant SENDER_NOT_ALLOWED = 401;\n uint256 internal constant PAUSED = 402;\n uint256 internal constant PAUSE_WINDOW_EXPIRED = 403;\n uint256 internal constant MAX_PAUSE_WINDOW_DURATION = 404;\n uint256 internal constant MAX_BUFFER_PERIOD_DURATION = 405;\n uint256 internal constant INSUFFICIENT_BALANCE = 406;\n uint256 internal constant INSUFFICIENT_ALLOWANCE = 407;\n uint256 internal constant ERC20_TRANSFER_FROM_ZERO_ADDRESS = 408;\n uint256 internal constant ERC20_TRANSFER_TO_ZERO_ADDRESS = 409;\n uint256 internal constant ERC20_MINT_TO_ZERO_ADDRESS = 410;\n uint256 internal constant ERC20_BURN_FROM_ZERO_ADDRESS = 411;\n uint256 internal constant ERC20_APPROVE_FROM_ZERO_ADDRESS = 412;\n uint256 internal constant ERC20_APPROVE_TO_ZERO_ADDRESS = 413;\n uint256 internal constant ERC20_TRANSFER_EXCEEDS_ALLOWANCE = 414;\n uint256 internal constant ERC20_DECREASED_ALLOWANCE_BELOW_ZERO = 415;\n uint256 internal constant ERC20_TRANSFER_EXCEEDS_BALANCE = 416;\n uint256 internal constant ERC20_BURN_EXCEEDS_ALLOWANCE = 417;\n uint256 internal constant SAFE_ERC20_CALL_FAILED = 418;\n uint256 internal constant ADDRESS_INSUFFICIENT_BALANCE = 419;\n uint256 internal constant ADDRESS_CANNOT_SEND_VALUE = 420;\n uint256 internal constant SAFE_CAST_VALUE_CANT_FIT_INT256 = 421;\n uint256 internal constant GRANT_SENDER_NOT_ADMIN = 422;\n uint256 internal constant REVOKE_SENDER_NOT_ADMIN = 423;\n uint256 internal constant RENOUNCE_SENDER_NOT_ALLOWED = 424;\n uint256 internal constant BUFFER_PERIOD_EXPIRED = 425;\n uint256 internal constant CALLER_IS_NOT_OWNER = 426;\n uint256 internal constant NEW_OWNER_IS_ZERO = 427;\n uint256 internal constant CODE_DEPLOYMENT_FAILED = 428;\n uint256 internal constant CALL_TO_NON_CONTRACT = 429;\n uint256 internal constant LOW_LEVEL_CALL_FAILED = 430;\n uint256 internal constant NOT_PAUSED = 431;\n uint256 internal constant ADDRESS_ALREADY_ALLOWLISTED = 432;\n uint256 internal constant ADDRESS_NOT_ALLOWLISTED = 433;\n uint256 internal constant ERC20_BURN_EXCEEDS_BALANCE = 434;\n uint256 internal constant INVALID_OPERATION = 435;\n uint256 internal constant CODEC_OVERFLOW = 436;\n uint256 internal constant IN_RECOVERY_MODE = 437;\n uint256 internal constant NOT_IN_RECOVERY_MODE = 438;\n uint256 internal constant INDUCED_FAILURE = 439;\n uint256 internal constant EXPIRED_SIGNATURE = 440;\n uint256 internal constant MALFORMED_SIGNATURE = 441;\n uint256 internal constant SAFE_CAST_VALUE_CANT_FIT_UINT64 = 442;\n uint256 internal constant UNHANDLED_FEE_TYPE = 443;\n uint256 internal constant BURN_FROM_ZERO = 444;\n // Vault\n uint256 internal constant INVALID_POOL_ID = 500;\n uint256 internal constant CALLER_NOT_POOL = 501;\n uint256 internal constant SENDER_NOT_ASSET_MANAGER = 502;\n uint256 internal constant USER_DOESNT_ALLOW_RELAYER = 503;\n uint256 internal constant INVALID_SIGNATURE = 504;\n uint256 internal constant EXIT_BELOW_MIN = 505;\n uint256 internal constant JOIN_ABOVE_MAX = 506;\n uint256 internal constant SWAP_LIMIT = 507;\n uint256 internal constant SWAP_DEADLINE = 508;\n uint256 internal constant CANNOT_SWAP_SAME_TOKEN = 509;\n uint256 internal constant UNKNOWN_AMOUNT_IN_FIRST_SWAP = 510;\n uint256 internal constant MALCONSTRUCTED_MULTIHOP_SWAP = 511;\n uint256 internal constant INTERNAL_BALANCE_OVERFLOW = 512;\n uint256 internal constant INSUFFICIENT_INTERNAL_BALANCE = 513;\n uint256 internal constant INVALID_ETH_INTERNAL_BALANCE = 514;\n uint256 internal constant INVALID_POST_LOAN_BALANCE = 515;\n uint256 internal constant INSUFFICIENT_ETH = 516;\n uint256 internal constant UNALLOCATED_ETH = 517;\n uint256 internal constant ETH_TRANSFER = 518;\n uint256 internal constant CANNOT_USE_ETH_SENTINEL = 519;\n uint256 internal constant TOKENS_MISMATCH = 520;\n uint256 internal constant TOKEN_NOT_REGISTERED = 521;\n uint256 internal constant TOKEN_ALREADY_REGISTERED = 522;\n uint256 internal constant TOKENS_ALREADY_SET = 523;\n uint256 internal constant TOKENS_LENGTH_MUST_BE_2 = 524;\n uint256 internal constant NONZERO_TOKEN_BALANCE = 525;\n uint256 internal constant BALANCE_TOTAL_OVERFLOW = 526;\n uint256 internal constant POOL_NO_TOKENS = 527;\n uint256 internal constant INSUFFICIENT_FLASH_LOAN_BALANCE = 528;\n // Fees\n uint256 internal constant SWAP_FEE_PERCENTAGE_TOO_HIGH = 600;\n uint256 internal constant FLASH_LOAN_FEE_PERCENTAGE_TOO_HIGH = 601;\n uint256 internal constant INSUFFICIENT_FLASH_LOAN_FEE_AMOUNT = 602;\n uint256 internal constant AUM_FEE_PERCENTAGE_TOO_HIGH = 603;\n // FeeSplitter\n uint256 internal constant SPLITTER_FEE_PERCENTAGE_TOO_HIGH = 700;\n // Misc\n uint256 internal constant UNIMPLEMENTED = 998;\n uint256 internal constant SHOULD_NOT_HAPPEN = 999;\n}" | |
} | |
}, | |
"settings": { | |
"optimizer": { | |
"enabled": false, | |
"runs": 200 | |
}, | |
"outputSelection": { | |
"*": { | |
"": [ | |
"ast" | |
], | |
"*": [ | |
"abi", | |
"metadata", | |
"devdoc", | |
"userdoc", | |
"storageLayout", | |
"evm.legacyAssembly", | |
"evm.bytecode", | |
"evm.deployedBytecode", | |
"evm.methodIdentifiers", | |
"evm.gasEstimates", | |
"evm.assembly" | |
] | |
} | |
} | |
} | |
}, | |
"output": { | |
"contracts": { | |
"contracts/BalancerErrors.sol": { | |
"Errors": { | |
"abi": [], | |
"devdoc": { | |
"kind": "dev", | |
"methods": {}, | |
"version": 1 | |
}, | |
"evm": { | |
"assembly": " /* \"contracts/BalancerErrors.sol\":5025:15040 library Errors {... */\n dataSize(sub_0)\n dataOffset(sub_0)\n 0x0b\n dup3\n dup3\n dup3\n codecopy\n dup1\n mload\n 0x00\n byte\n 0x73\n eq\n tag_1\n jumpi\n mstore(0x00, 0x4e487b7100000000000000000000000000000000000000000000000000000000)\n mstore(0x04, 0x00)\n revert(0x00, 0x24)\ntag_1:\n mstore(0x00, address)\n 0x73\n dup2\n mstore8\n dup3\n dup2\n return\nstop\n\nsub_0: assembly {\n /* \"contracts/BalancerErrors.sol\":5025:15040 library Errors {... */\n eq(address, deployTimeAddress())\n mstore(0x40, 0x80)\n 0x00\n dup1\n revert\n\n auxdata: 0xa26469706673582212209bdc67a52b5130afc04a1c002a12e3ee31c6a181cb73595de74a594d71f7378a64736f6c63430008120033\n}\n", | |
"bytecode": { | |
"functionDebugData": {}, | |
"generatedSources": [], | |
"linkReferences": {}, | |
"object": "60566050600b82828239805160001a6073146043577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212209bdc67a52b5130afc04a1c002a12e3ee31c6a181cb73595de74a594d71f7378a64736f6c63430008120033", | |
"opcodes": "PUSH1 0x56 PUSH1 0x50 PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x43 JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SWAP12 0xDC PUSH8 0xA52B5130AFC04A1C STOP 0x2A SLT 0xE3 0xEE BALANCE 0xC6 LOG1 DUP2 0xCB PUSH20 0x595DE74A594D71F7378A64736F6C634300081200 CALLER ", | |
"sourceMap": "5025:10015:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;" | |
}, | |
"deployedBytecode": { | |
"functionDebugData": {}, | |
"generatedSources": [], | |
"immutableReferences": {}, | |
"linkReferences": {}, | |
"object": "73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212209bdc67a52b5130afc04a1c002a12e3ee31c6a181cb73595de74a594d71f7378a64736f6c63430008120033", | |
"opcodes": "PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SWAP12 0xDC PUSH8 0xA52B5130AFC04A1C STOP 0x2A SLT 0xE3 0xEE BALANCE 0xC6 LOG1 DUP2 0xCB PUSH20 0x595DE74A594D71F7378A64736F6C634300081200 CALLER ", | |
"sourceMap": "5025:10015:0:-:0;;;;;;;;" | |
}, | |
"gasEstimates": { | |
"creation": { | |
"codeDepositCost": "17200", | |
"executionCost": "97", | |
"totalCost": "17297" | |
} | |
}, | |
"legacyAssembly": { | |
".code": [ | |
{ | |
"begin": 5025, | |
"end": 15040, | |
"name": "PUSH #[$]", | |
"source": 0, | |
"value": "0000000000000000000000000000000000000000000000000000000000000000" | |
}, | |
{ | |
"begin": 5025, | |
"end": 15040, | |
"name": "PUSH [$]", | |
"source": 0, | |
"value": "0000000000000000000000000000000000000000000000000000000000000000" | |
}, | |
{ | |
"begin": 5025, | |
"end": 15040, | |
"name": "PUSH", | |
"source": 0, | |
"value": "B" | |
}, | |
{ | |
"begin": 5025, | |
"end": 15040, | |
"name": "DUP3", | |
"source": 0 | |
}, | |
{ | |
"begin": 5025, | |
"end": 15040, | |
"name": "DUP3", | |
"source": 0 | |
}, | |
{ | |
"begin": 5025, | |
"end": 15040, | |
"name": "DUP3", | |
"source": 0 | |
}, | |
{ | |
"begin": 5025, | |
"end": 15040, | |
"name": "CODECOPY", | |
"source": 0 | |
}, | |
{ | |
"begin": 5025, | |
"end": 15040, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 5025, | |
"end": 15040, | |
"name": "MLOAD", | |
"source": 0 | |
}, | |
{ | |
"begin": 5025, | |
"end": 15040, | |
"name": "PUSH", | |
"source": 0, | |
"value": "0" | |
}, | |
{ | |
"begin": 5025, | |
"end": 15040, | |
"name": "BYTE", | |
"source": 0 | |
}, | |
{ | |
"begin": 5025, | |
"end": 15040, | |
"name": "PUSH", | |
"source": 0, | |
"value": "73" | |
}, | |
{ | |
"begin": 5025, | |
"end": 15040, | |
"name": "EQ", | |
"source": 0 | |
}, | |
{ | |
"begin": 5025, | |
"end": 15040, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "1" | |
}, | |
{ | |
"begin": 5025, | |
"end": 15040, | |
"name": "JUMPI", | |
"source": 0 | |
}, | |
{ | |
"begin": 5025, | |
"end": 15040, | |
"name": "PUSH", | |
"source": 0, | |
"value": "4E487B7100000000000000000000000000000000000000000000000000000000" | |
}, | |
{ | |
"begin": 5025, | |
"end": 15040, | |
"name": "PUSH", | |
"source": 0, | |
"value": "0" | |
}, | |
{ | |
"begin": 5025, | |
"end": 15040, | |
"name": "MSTORE", | |
"source": 0 | |
}, | |
{ | |
"begin": 5025, | |
"end": 15040, | |
"name": "PUSH", | |
"source": 0, | |
"value": "0" | |
}, | |
{ | |
"begin": 5025, | |
"end": 15040, | |
"name": "PUSH", | |
"source": 0, | |
"value": "4" | |
}, | |
{ | |
"begin": 5025, | |
"end": 15040, | |
"name": "MSTORE", | |
"source": 0 | |
}, | |
{ | |
"begin": 5025, | |
"end": 15040, | |
"name": "PUSH", | |
"source": 0, | |
"value": "24" | |
}, | |
{ | |
"begin": 5025, | |
"end": 15040, | |
"name": "PUSH", | |
"source": 0, | |
"value": "0" | |
}, | |
{ | |
"begin": 5025, | |
"end": 15040, | |
"name": "REVERT", | |
"source": 0 | |
}, | |
{ | |
"begin": 5025, | |
"end": 15040, | |
"name": "tag", | |
"source": 0, | |
"value": "1" | |
}, | |
{ | |
"begin": 5025, | |
"end": 15040, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": 5025, | |
"end": 15040, | |
"name": "ADDRESS", | |
"source": 0 | |
}, | |
{ | |
"begin": 5025, | |
"end": 15040, | |
"name": "PUSH", | |
"source": 0, | |
"value": "0" | |
}, | |
{ | |
"begin": 5025, | |
"end": 15040, | |
"name": "MSTORE", | |
"source": 0 | |
}, | |
{ | |
"begin": 5025, | |
"end": 15040, | |
"name": "PUSH", | |
"source": 0, | |
"value": "73" | |
}, | |
{ | |
"begin": 5025, | |
"end": 15040, | |
"name": "DUP2", | |
"source": 0 | |
}, | |
{ | |
"begin": 5025, | |
"end": 15040, | |
"name": "MSTORE8", | |
"source": 0 | |
}, | |
{ | |
"begin": 5025, | |
"end": 15040, | |
"name": "DUP3", | |
"source": 0 | |
}, | |
{ | |
"begin": 5025, | |
"end": 15040, | |
"name": "DUP2", | |
"source": 0 | |
}, | |
{ | |
"begin": 5025, | |
"end": 15040, | |
"name": "RETURN", | |
"source": 0 | |
} | |
], | |
".data": { | |
"0": { | |
".auxdata": "a26469706673582212209bdc67a52b5130afc04a1c002a12e3ee31c6a181cb73595de74a594d71f7378a64736f6c63430008120033", | |
".code": [ | |
{ | |
"begin": 5025, | |
"end": 15040, | |
"name": "PUSHDEPLOYADDRESS", | |
"source": 0 | |
}, | |
{ | |
"begin": 5025, | |
"end": 15040, | |
"name": "ADDRESS", | |
"source": 0 | |
}, | |
{ | |
"begin": 5025, | |
"end": 15040, | |
"name": "EQ", | |
"source": 0 | |
}, | |
{ | |
"begin": 5025, | |
"end": 15040, | |
"name": "PUSH", | |
"source": 0, | |
"value": "80" | |
}, | |
{ | |
"begin": 5025, | |
"end": 15040, | |
"name": "PUSH", | |
"source": 0, | |
"value": "40" | |
}, | |
{ | |
"begin": 5025, | |
"end": 15040, | |
"name": "MSTORE", | |
"source": 0 | |
}, | |
{ | |
"begin": 5025, | |
"end": 15040, | |
"name": "PUSH", | |
"source": 0, | |
"value": "0" | |
}, | |
{ | |
"begin": 5025, | |
"end": 15040, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 5025, | |
"end": 15040, | |
"name": "REVERT", | |
"source": 0 | |
} | |
] | |
} | |
}, | |
"sourceList": [ | |
"contracts/BalancerErrors.sol", | |
"#utility.yul" | |
] | |
}, | |
"methodIdentifiers": {} | |
}, | |
"metadata": "{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/BalancerErrors.sol\":\"Errors\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/BalancerErrors.sol\":{\"keccak256\":\"0xa273e3cb93c54603b79e64b7d26ca02f40d2178365673ba13c7b3d0f7b1aaf23\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://325275ac80f27eaedfb578d182b70bc2c27e9fd5b331c88f6a2647613f1ded48\",\"dweb:/ipfs/QmRTZ7HcoCUKjwratcd2ujpeCo7FtFDspG2R9yJSUuGpJf\"]}},\"version\":1}", | |
"storageLayout": { | |
"storage": [], | |
"types": null | |
}, | |
"userdoc": { | |
"kind": "user", | |
"methods": {}, | |
"version": 1 | |
} | |
} | |
} | |
}, | |
"sources": { | |
"contracts/BalancerErrors.sol": { | |
"ast": { | |
"absolutePath": "contracts/BalancerErrors.sol", | |
"exportedSymbols": { | |
"Errors": [ | |
573 | |
], | |
"_require": [ | |
17, | |
36 | |
], | |
"_revert": [ | |
48, | |
68 | |
] | |
}, | |
"id": 574, | |
"license": "GPL-3.0-or-later", | |
"nodeType": "SourceUnit", | |
"nodes": [ | |
{ | |
"id": 1, | |
"literals": [ | |
"solidity", | |
">=", | |
"0.8", | |
".0", | |
"<", | |
"0.9", | |
".0" | |
], | |
"nodeType": "PragmaDirective", | |
"src": "655:31:0" | |
}, | |
{ | |
"body": { | |
"id": 16, | |
"nodeType": "Block", | |
"src": "949:43:0", | |
"statements": [ | |
{ | |
"condition": { | |
"id": 10, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"nodeType": "UnaryOperation", | |
"operator": "!", | |
"prefix": true, | |
"src": "959:10:0", | |
"subExpression": { | |
"id": 9, | |
"name": "condition", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 4, | |
"src": "960:9:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
"id": 15, | |
"nodeType": "IfStatement", | |
"src": "955:34:0", | |
"trueBody": { | |
"expression": { | |
"arguments": [ | |
{ | |
"id": 12, | |
"name": "errorCode", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 6, | |
"src": "979:9:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
], | |
"id": 11, | |
"name": "_revert", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [ | |
48, | |
68 | |
], | |
"referencedDeclaration": 48, | |
"src": "971:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$__$", | |
"typeString": "function (uint256) pure" | |
} | |
}, | |
"id": 13, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"nameLocations": [], | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "971:18:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_tuple$__$", | |
"typeString": "tuple()" | |
} | |
}, | |
"id": 14, | |
"nodeType": "ExpressionStatement", | |
"src": "971:18:0" | |
} | |
} | |
] | |
}, | |
"documentation": { | |
"id": 2, | |
"nodeType": "StructuredDocumentation", | |
"src": "706:184:0", | |
"text": " @dev Reverts if `condition` is false, with a revert reason containing `errorCode`. Only codes up to 999 are\n supported.\n Uses the default 'BAL' prefix for the error code" | |
}, | |
"id": 17, | |
"implemented": true, | |
"kind": "freeFunction", | |
"modifiers": [], | |
"name": "_require", | |
"nameLocation": "900:8:0", | |
"nodeType": "FunctionDefinition", | |
"parameters": { | |
"id": 7, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 4, | |
"mutability": "mutable", | |
"name": "condition", | |
"nameLocation": "914:9:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 17, | |
"src": "909:14:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
"typeName": { | |
"id": 3, | |
"name": "bool", | |
"nodeType": "ElementaryTypeName", | |
"src": "909:4:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": false, | |
"id": 6, | |
"mutability": "mutable", | |
"name": "errorCode", | |
"nameLocation": "933:9:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 17, | |
"src": "925:17:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 5, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "925:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"visibility": "internal" | |
} | |
], | |
"src": "908:35:0" | |
}, | |
"returnParameters": { | |
"id": 8, | |
"nodeType": "ParameterList", | |
"parameters": [], | |
"src": "949:0:0" | |
}, | |
"scope": 574, | |
"src": "891:101:0", | |
"stateMutability": "pure", | |
"virtual": false, | |
"visibility": "internal" | |
}, | |
{ | |
"body": { | |
"id": 35, | |
"nodeType": "Block", | |
"src": "1213:51:0", | |
"statements": [ | |
{ | |
"condition": { | |
"id": 28, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"nodeType": "UnaryOperation", | |
"operator": "!", | |
"prefix": true, | |
"src": "1223:10:0", | |
"subExpression": { | |
"id": 27, | |
"name": "condition", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 20, | |
"src": "1224:9:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
"id": 34, | |
"nodeType": "IfStatement", | |
"src": "1219:42:0", | |
"trueBody": { | |
"expression": { | |
"arguments": [ | |
{ | |
"id": 30, | |
"name": "errorCode", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 22, | |
"src": "1243:9:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
{ | |
"id": 31, | |
"name": "prefix", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 24, | |
"src": "1254:6:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes3", | |
"typeString": "bytes3" | |
} | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
{ | |
"typeIdentifier": "t_bytes3", | |
"typeString": "bytes3" | |
} | |
], | |
"id": 29, | |
"name": "_revert", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [ | |
48, | |
68 | |
], | |
"referencedDeclaration": 68, | |
"src": "1235:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_bytes3_$returns$__$", | |
"typeString": "function (uint256,bytes3) pure" | |
} | |
}, | |
"id": 32, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"nameLocations": [], | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "1235:26:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_tuple$__$", | |
"typeString": "tuple()" | |
} | |
}, | |
"id": 33, | |
"nodeType": "ExpressionStatement", | |
"src": "1235:26:0" | |
} | |
} | |
] | |
}, | |
"documentation": { | |
"id": 18, | |
"nodeType": "StructuredDocumentation", | |
"src": "993:132:0", | |
"text": " @dev Reverts if `condition` is false, with a revert reason containing `errorCode`. Only codes up to 999 are\n supported." | |
}, | |
"id": 36, | |
"implemented": true, | |
"kind": "freeFunction", | |
"modifiers": [], | |
"name": "_require", | |
"nameLocation": "1135:8:0", | |
"nodeType": "FunctionDefinition", | |
"parameters": { | |
"id": 25, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 20, | |
"mutability": "mutable", | |
"name": "condition", | |
"nameLocation": "1154:9:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 36, | |
"src": "1149:14:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
"typeName": { | |
"id": 19, | |
"name": "bool", | |
"nodeType": "ElementaryTypeName", | |
"src": "1149:4:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": false, | |
"id": 22, | |
"mutability": "mutable", | |
"name": "errorCode", | |
"nameLocation": "1177:9:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 36, | |
"src": "1169:17:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 21, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "1169:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": false, | |
"id": 24, | |
"mutability": "mutable", | |
"name": "prefix", | |
"nameLocation": "1199:6:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 36, | |
"src": "1192:13:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes3", | |
"typeString": "bytes3" | |
}, | |
"typeName": { | |
"id": 23, | |
"name": "bytes3", | |
"nodeType": "ElementaryTypeName", | |
"src": "1192:6:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes3", | |
"typeString": "bytes3" | |
} | |
}, | |
"visibility": "internal" | |
} | |
], | |
"src": "1143:64:0" | |
}, | |
"returnParameters": { | |
"id": 26, | |
"nodeType": "ParameterList", | |
"parameters": [], | |
"src": "1213:0:0" | |
}, | |
"scope": 574, | |
"src": "1126:138:0", | |
"stateMutability": "pure", | |
"virtual": false, | |
"visibility": "internal" | |
}, | |
{ | |
"body": { | |
"id": 47, | |
"nodeType": "Block", | |
"src": "1463:85:0", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"id": 43, | |
"name": "errorCode", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 39, | |
"src": "1477:9:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
{ | |
"hexValue": "3078343234313463", | |
"id": 44, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "1488:8:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_4342092_by_1", | |
"typeString": "int_const 4342092" | |
}, | |
"value": "0x42414c" | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
{ | |
"typeIdentifier": "t_rational_4342092_by_1", | |
"typeString": "int_const 4342092" | |
} | |
], | |
"id": 42, | |
"name": "_revert", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [ | |
48, | |
68 | |
], | |
"referencedDeclaration": 68, | |
"src": "1469:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_bytes3_$returns$__$", | |
"typeString": "function (uint256,bytes3) pure" | |
} | |
}, | |
"id": 45, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"nameLocations": [], | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "1469:28:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_tuple$__$", | |
"typeString": "tuple()" | |
} | |
}, | |
"id": 46, | |
"nodeType": "ExpressionStatement", | |
"src": "1469:28:0" | |
} | |
] | |
}, | |
"documentation": { | |
"id": 37, | |
"nodeType": "StructuredDocumentation", | |
"src": "1265:156:0", | |
"text": " @dev Reverts with a revert reason containing `errorCode`. Only codes up to 999 are supported.\n Uses the default 'BAL' prefix for the error code" | |
}, | |
"id": 48, | |
"implemented": true, | |
"kind": "freeFunction", | |
"modifiers": [], | |
"name": "_revert", | |
"nameLocation": "1431:7:0", | |
"nodeType": "FunctionDefinition", | |
"parameters": { | |
"id": 40, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 39, | |
"mutability": "mutable", | |
"name": "errorCode", | |
"nameLocation": "1447:9:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 48, | |
"src": "1439:17:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 38, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "1439:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"visibility": "internal" | |
} | |
], | |
"src": "1438:19:0" | |
}, | |
"returnParameters": { | |
"id": 41, | |
"nodeType": "ParameterList", | |
"parameters": [], | |
"src": "1463:0:0" | |
}, | |
"scope": 574, | |
"src": "1422:126:0", | |
"stateMutability": "pure", | |
"virtual": false, | |
"visibility": "internal" | |
}, | |
{ | |
"body": { | |
"id": 67, | |
"nodeType": "Block", | |
"src": "1710:3314:0", | |
"statements": [ | |
{ | |
"assignments": [ | |
57 | |
], | |
"declarations": [ | |
{ | |
"constant": false, | |
"id": 57, | |
"mutability": "mutable", | |
"name": "prefixUint", | |
"nameLocation": "1724:10:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 67, | |
"src": "1716:18:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 56, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "1716:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"visibility": "internal" | |
} | |
], | |
"id": 65, | |
"initialValue": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"id": 62, | |
"name": "prefix", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 53, | |
"src": "1752:6:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes3", | |
"typeString": "bytes3" | |
} | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_bytes3", | |
"typeString": "bytes3" | |
} | |
], | |
"id": 61, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"lValueRequested": false, | |
"nodeType": "ElementaryTypeNameExpression", | |
"src": "1745:6:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_type$_t_uint24_$", | |
"typeString": "type(uint24)" | |
}, | |
"typeName": { | |
"id": 60, | |
"name": "uint24", | |
"nodeType": "ElementaryTypeName", | |
"src": "1745:6:0", | |
"typeDescriptions": {} | |
} | |
}, | |
"id": 63, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "typeConversion", | |
"lValueRequested": false, | |
"nameLocations": [], | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "1745:14:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint24", | |
"typeString": "uint24" | |
} | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_uint24", | |
"typeString": "uint24" | |
} | |
], | |
"id": 59, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"lValueRequested": false, | |
"nodeType": "ElementaryTypeNameExpression", | |
"src": "1737:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_type$_t_uint256_$", | |
"typeString": "type(uint256)" | |
}, | |
"typeName": { | |
"id": 58, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "1737:7:0", | |
"typeDescriptions": {} | |
} | |
}, | |
"id": 64, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "typeConversion", | |
"lValueRequested": false, | |
"nameLocations": [], | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "1737:23:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "VariableDeclarationStatement", | |
"src": "1716:44:0" | |
}, | |
{ | |
"AST": { | |
"nodeType": "YulBlock", | |
"src": "2549:2473:0", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "2822:42:0", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "errorCode", | |
"nodeType": "YulIdentifier", | |
"src": "2843:9:0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2854:2:0", | |
"type": "", | |
"value": "10" | |
} | |
], | |
"functionName": { | |
"name": "mod", | |
"nodeType": "YulIdentifier", | |
"src": "2839:3:0" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2839:18:0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2859:4:0", | |
"type": "", | |
"value": "0x30" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "2835:3:0" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2835:29:0" | |
}, | |
"variables": [ | |
{ | |
"name": "units", | |
"nodeType": "YulTypedName", | |
"src": "2826:5:0", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "2873:31:0", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "errorCode", | |
"nodeType": "YulIdentifier", | |
"src": "2890:9:0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2901:2:0", | |
"type": "", | |
"value": "10" | |
} | |
], | |
"functionName": { | |
"name": "div", | |
"nodeType": "YulIdentifier", | |
"src": "2886:3:0" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2886:18:0" | |
}, | |
"variableNames": [ | |
{ | |
"name": "errorCode", | |
"nodeType": "YulIdentifier", | |
"src": "2873:9:0" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "2913:43:0", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "errorCode", | |
"nodeType": "YulIdentifier", | |
"src": "2935:9:0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2946:2:0", | |
"type": "", | |
"value": "10" | |
} | |
], | |
"functionName": { | |
"name": "mod", | |
"nodeType": "YulIdentifier", | |
"src": "2931:3:0" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2931:18:0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2951:4:0", | |
"type": "", | |
"value": "0x30" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "2927:3:0" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2927:29:0" | |
}, | |
"variables": [ | |
{ | |
"name": "tenths", | |
"nodeType": "YulTypedName", | |
"src": "2917:6:0", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "2965:31:0", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "errorCode", | |
"nodeType": "YulIdentifier", | |
"src": "2982:9:0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2993:2:0", | |
"type": "", | |
"value": "10" | |
} | |
], | |
"functionName": { | |
"name": "div", | |
"nodeType": "YulIdentifier", | |
"src": "2978:3:0" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2978:18:0" | |
}, | |
"variableNames": [ | |
{ | |
"name": "errorCode", | |
"nodeType": "YulIdentifier", | |
"src": "2965:9:0" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "3005:45:0", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "errorCode", | |
"nodeType": "YulIdentifier", | |
"src": "3029:9:0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "3040:2:0", | |
"type": "", | |
"value": "10" | |
} | |
], | |
"functionName": { | |
"name": "mod", | |
"nodeType": "YulIdentifier", | |
"src": "3025:3:0" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3025:18:0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "3045:4:0", | |
"type": "", | |
"value": "0x30" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "3021:3:0" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3021:29:0" | |
}, | |
"variables": [ | |
{ | |
"name": "hundreds", | |
"nodeType": "YulTypedName", | |
"src": "3009:8:0", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "3682:61:0", | |
"value": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "3709:2:0", | |
"type": "", | |
"value": "24" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "3717:4:0", | |
"type": "", | |
"value": "0x23" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "3727:1:0", | |
"type": "", | |
"value": "8" | |
}, | |
{ | |
"name": "prefixUint", | |
"nodeType": "YulIdentifier", | |
"src": "3730:10:0" | |
} | |
], | |
"functionName": { | |
"name": "shl", | |
"nodeType": "YulIdentifier", | |
"src": "3723:3:0" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3723:18:0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "3713:3:0" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3713:29:0" | |
} | |
], | |
"functionName": { | |
"name": "shl", | |
"nodeType": "YulIdentifier", | |
"src": "3705:3:0" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3705:38:0" | |
}, | |
"variables": [ | |
{ | |
"name": "formattedPrefix", | |
"nodeType": "YulTypedName", | |
"src": "3686:15:0", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "3752:102:0", | |
"value": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "3776:3:0", | |
"type": "", | |
"value": "200" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "formattedPrefix", | |
"nodeType": "YulIdentifier", | |
"src": "3785:15:0" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "units", | |
"nodeType": "YulIdentifier", | |
"src": "3810:5:0" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "3821:1:0", | |
"type": "", | |
"value": "8" | |
}, | |
{ | |
"name": "tenths", | |
"nodeType": "YulIdentifier", | |
"src": "3824:6:0" | |
} | |
], | |
"functionName": { | |
"name": "shl", | |
"nodeType": "YulIdentifier", | |
"src": "3817:3:0" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3817:14:0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "3806:3:0" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3806:26:0" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "3838:2:0", | |
"type": "", | |
"value": "16" | |
}, | |
{ | |
"name": "hundreds", | |
"nodeType": "YulIdentifier", | |
"src": "3842:8:0" | |
} | |
], | |
"functionName": { | |
"name": "shl", | |
"nodeType": "YulIdentifier", | |
"src": "3834:3:0" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3834:17:0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "3802:3:0" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3802:50:0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "3781:3:0" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3781:72:0" | |
} | |
], | |
"functionName": { | |
"name": "shl", | |
"nodeType": "YulIdentifier", | |
"src": "3772:3:0" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3772:82:0" | |
}, | |
"variables": [ | |
{ | |
"name": "revertReason", | |
"nodeType": "YulTypedName", | |
"src": "3756:12:0", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "4367:3:0", | |
"type": "", | |
"value": "0x0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "4372:66:0", | |
"type": "", | |
"value": "0x08c379a000000000000000000000000000000000000000000000000000000000" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "4360:6:0" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4360:79:0" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "4360:79:0" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "4572:4:0", | |
"type": "", | |
"value": "0x04" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "4578:66:0", | |
"type": "", | |
"value": "0x0000000000000000000000000000000000000000000000000000000000000020" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "4565:6:0" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4565:80:0" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "4565:80:0" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "4714:4:0", | |
"type": "", | |
"value": "0x24" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "4720:1:0", | |
"type": "", | |
"value": "7" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "4707:6:0" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4707:15:0" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "4707:15:0" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "4787:4:0", | |
"type": "", | |
"value": "0x44" | |
}, | |
{ | |
"name": "revertReason", | |
"nodeType": "YulIdentifier", | |
"src": "4793:12:0" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "4780:6:0" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4780:26:0" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "4780:26:0" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "5009:1:0", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "5012:3:0", | |
"type": "", | |
"value": "100" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "5002:6:0" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5002:14:0" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "5002:14:0" | |
} | |
] | |
}, | |
"evmVersion": "paris", | |
"externalReferences": [ | |
{ | |
"declaration": 51, | |
"isOffset": false, | |
"isSlot": false, | |
"src": "2843:9:0", | |
"valueSize": 1 | |
}, | |
{ | |
"declaration": 51, | |
"isOffset": false, | |
"isSlot": false, | |
"src": "2873:9:0", | |
"valueSize": 1 | |
}, | |
{ | |
"declaration": 51, | |
"isOffset": false, | |
"isSlot": false, | |
"src": "2890:9:0", | |
"valueSize": 1 | |
}, | |
{ | |
"declaration": 51, | |
"isOffset": false, | |
"isSlot": false, | |
"src": "2935:9:0", | |
"valueSize": 1 | |
}, | |
{ | |
"declaration": 51, | |
"isOffset": false, | |
"isSlot": false, | |
"src": "2965:9:0", | |
"valueSize": 1 | |
}, | |
{ | |
"declaration": 51, | |
"isOffset": false, | |
"isSlot": false, | |
"src": "2982:9:0", | |
"valueSize": 1 | |
}, | |
{ | |
"declaration": 51, | |
"isOffset": false, | |
"isSlot": false, | |
"src": "3029:9:0", | |
"valueSize": 1 | |
}, | |
{ | |
"declaration": 57, | |
"isOffset": false, | |
"isSlot": false, | |
"src": "3730:10:0", | |
"valueSize": 1 | |
} | |
], | |
"id": 66, | |
"nodeType": "InlineAssembly", | |
"src": "2540:2482:0" | |
} | |
] | |
}, | |
"documentation": { | |
"id": 49, | |
"nodeType": "StructuredDocumentation", | |
"src": "1549:104:0", | |
"text": " @dev Reverts with a revert reason containing `errorCode`. Only codes up to 999 are supported." | |
}, | |
"id": 68, | |
"implemented": true, | |
"kind": "freeFunction", | |
"modifiers": [], | |
"name": "_revert", | |
"nameLocation": "1663:7:0", | |
"nodeType": "FunctionDefinition", | |
"parameters": { | |
"id": 54, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 51, | |
"mutability": "mutable", | |
"name": "errorCode", | |
"nameLocation": "1679:9:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 68, | |
"src": "1671:17:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 50, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "1671:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": false, | |
"id": 53, | |
"mutability": "mutable", | |
"name": "prefix", | |
"nameLocation": "1697:6:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 68, | |
"src": "1690:13:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes3", | |
"typeString": "bytes3" | |
}, | |
"typeName": { | |
"id": 52, | |
"name": "bytes3", | |
"nodeType": "ElementaryTypeName", | |
"src": "1690:6:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes3", | |
"typeString": "bytes3" | |
} | |
}, | |
"visibility": "internal" | |
} | |
], | |
"src": "1670:34:0" | |
}, | |
"returnParameters": { | |
"id": 55, | |
"nodeType": "ParameterList", | |
"parameters": [], | |
"src": "1710:0:0" | |
}, | |
"scope": 574, | |
"src": "1654:3370:0", | |
"stateMutability": "pure", | |
"virtual": false, | |
"visibility": "internal" | |
}, | |
{ | |
"abstract": false, | |
"baseContracts": [], | |
"canonicalName": "Errors", | |
"contractDependencies": [], | |
"contractKind": "library", | |
"fullyImplemented": true, | |
"id": 573, | |
"linearizedBaseContracts": [ | |
573 | |
], | |
"name": "Errors", | |
"nameLocation": "5033:6:0", | |
"nodeType": "ContractDefinition", | |
"nodes": [ | |
{ | |
"constant": true, | |
"id": 71, | |
"mutability": "constant", | |
"name": "ADD_OVERFLOW", | |
"nameLocation": "5084:12:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "5058:42:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 69, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "5058:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "30", | |
"id": 70, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "5099:1:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_0_by_1", | |
"typeString": "int_const 0" | |
}, | |
"value": "0" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 74, | |
"mutability": "constant", | |
"name": "SUB_OVERFLOW", | |
"nameLocation": "5132:12:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "5106:42:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 72, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "5106:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "31", | |
"id": 73, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "5147:1:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_1_by_1", | |
"typeString": "int_const 1" | |
}, | |
"value": "1" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 77, | |
"mutability": "constant", | |
"name": "SUB_UNDERFLOW", | |
"nameLocation": "5180:13:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "5154:43:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 75, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "5154:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "32", | |
"id": 76, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "5196:1:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_2_by_1", | |
"typeString": "int_const 2" | |
}, | |
"value": "2" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 80, | |
"mutability": "constant", | |
"name": "MUL_OVERFLOW", | |
"nameLocation": "5229:12:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "5203:42:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 78, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "5203:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "33", | |
"id": 79, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "5244:1:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_3_by_1", | |
"typeString": "int_const 3" | |
}, | |
"value": "3" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 83, | |
"mutability": "constant", | |
"name": "ZERO_DIVISION", | |
"nameLocation": "5277:13:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "5251:43:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 81, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "5251:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "34", | |
"id": 82, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "5293:1:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_4_by_1", | |
"typeString": "int_const 4" | |
}, | |
"value": "4" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 86, | |
"mutability": "constant", | |
"name": "DIV_INTERNAL", | |
"nameLocation": "5326:12:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "5300:42:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 84, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "5300:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "35", | |
"id": 85, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "5341:1:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_5_by_1", | |
"typeString": "int_const 5" | |
}, | |
"value": "5" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 89, | |
"mutability": "constant", | |
"name": "X_OUT_OF_BOUNDS", | |
"nameLocation": "5374:15:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "5348:45:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 87, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "5348:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "36", | |
"id": 88, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "5392:1:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_6_by_1", | |
"typeString": "int_const 6" | |
}, | |
"value": "6" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 92, | |
"mutability": "constant", | |
"name": "Y_OUT_OF_BOUNDS", | |
"nameLocation": "5425:15:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "5399:45:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 90, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "5399:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "37", | |
"id": 91, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "5443:1:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_7_by_1", | |
"typeString": "int_const 7" | |
}, | |
"value": "7" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 95, | |
"mutability": "constant", | |
"name": "PRODUCT_OUT_OF_BOUNDS", | |
"nameLocation": "5476:21:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "5450:51:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 93, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "5450:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "38", | |
"id": 94, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "5500:1:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_8_by_1", | |
"typeString": "int_const 8" | |
}, | |
"value": "8" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 98, | |
"mutability": "constant", | |
"name": "INVALID_EXPONENT", | |
"nameLocation": "5533:16:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "5507:46:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 96, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "5507:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "39", | |
"id": 97, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "5552:1:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_9_by_1", | |
"typeString": "int_const 9" | |
}, | |
"value": "9" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 101, | |
"mutability": "constant", | |
"name": "OUT_OF_BOUNDS", | |
"nameLocation": "5598:13:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "5572:45:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 99, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "5572:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "313030", | |
"id": 100, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "5614:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_100_by_1", | |
"typeString": "int_const 100" | |
}, | |
"value": "100" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 104, | |
"mutability": "constant", | |
"name": "UNSORTED_ARRAY", | |
"nameLocation": "5649:14:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "5623:46:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 102, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "5623:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "313031", | |
"id": 103, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "5666:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_101_by_1", | |
"typeString": "int_const 101" | |
}, | |
"value": "101" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 107, | |
"mutability": "constant", | |
"name": "UNSORTED_TOKENS", | |
"nameLocation": "5701:15:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "5675:47:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 105, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "5675:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "313032", | |
"id": 106, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "5719:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_102_by_1", | |
"typeString": "int_const 102" | |
}, | |
"value": "102" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 110, | |
"mutability": "constant", | |
"name": "INPUT_LENGTH_MISMATCH", | |
"nameLocation": "5754:21:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "5728:53:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 108, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "5728:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "313033", | |
"id": 109, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "5778:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_103_by_1", | |
"typeString": "int_const 103" | |
}, | |
"value": "103" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 113, | |
"mutability": "constant", | |
"name": "ZERO_TOKEN", | |
"nameLocation": "5813:10:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "5787:42:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 111, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "5787:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "313034", | |
"id": 112, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "5826:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_104_by_1", | |
"typeString": "int_const 104" | |
}, | |
"value": "104" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 116, | |
"mutability": "constant", | |
"name": "INSUFFICIENT_DATA", | |
"nameLocation": "5861:17:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "5835:49:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 114, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "5835:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "313035", | |
"id": 115, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "5881:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_105_by_1", | |
"typeString": "int_const 105" | |
}, | |
"value": "105" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 119, | |
"mutability": "constant", | |
"name": "MIN_TOKENS", | |
"nameLocation": "5936:10:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "5910:42:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 117, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "5910:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "323030", | |
"id": 118, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "5949:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_200_by_1", | |
"typeString": "int_const 200" | |
}, | |
"value": "200" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 122, | |
"mutability": "constant", | |
"name": "MAX_TOKENS", | |
"nameLocation": "5984:10:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "5958:42:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 120, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "5958:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "323031", | |
"id": 121, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "5997:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_201_by_1", | |
"typeString": "int_const 201" | |
}, | |
"value": "201" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 125, | |
"mutability": "constant", | |
"name": "MAX_SWAP_FEE_PERCENTAGE", | |
"nameLocation": "6032:23:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "6006:55:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 123, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "6006:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "323032", | |
"id": 124, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "6058:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_202_by_1", | |
"typeString": "int_const 202" | |
}, | |
"value": "202" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 128, | |
"mutability": "constant", | |
"name": "MIN_SWAP_FEE_PERCENTAGE", | |
"nameLocation": "6093:23:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "6067:55:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 126, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "6067:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "323033", | |
"id": 127, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "6119:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_203_by_1", | |
"typeString": "int_const 203" | |
}, | |
"value": "203" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 131, | |
"mutability": "constant", | |
"name": "MINIMUM_BPT", | |
"nameLocation": "6154:11:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "6128:43:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 129, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "6128:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "323034", | |
"id": 130, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "6168:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_204_by_1", | |
"typeString": "int_const 204" | |
}, | |
"value": "204" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 134, | |
"mutability": "constant", | |
"name": "CALLER_NOT_VAULT", | |
"nameLocation": "6203:16:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "6177:48:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 132, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "6177:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "323035", | |
"id": 133, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "6222:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_205_by_1", | |
"typeString": "int_const 205" | |
}, | |
"value": "205" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 137, | |
"mutability": "constant", | |
"name": "UNINITIALIZED", | |
"nameLocation": "6257:13:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "6231:45:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 135, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "6231:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "323036", | |
"id": 136, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "6273:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_206_by_1", | |
"typeString": "int_const 206" | |
}, | |
"value": "206" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 140, | |
"mutability": "constant", | |
"name": "BPT_IN_MAX_AMOUNT", | |
"nameLocation": "6308:17:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "6282:49:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 138, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "6282:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "323037", | |
"id": 139, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "6328:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_207_by_1", | |
"typeString": "int_const 207" | |
}, | |
"value": "207" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 143, | |
"mutability": "constant", | |
"name": "BPT_OUT_MIN_AMOUNT", | |
"nameLocation": "6363:18:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "6337:50:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 141, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "6337:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "323038", | |
"id": 142, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "6384:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_208_by_1", | |
"typeString": "int_const 208" | |
}, | |
"value": "208" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 146, | |
"mutability": "constant", | |
"name": "EXPIRED_PERMIT", | |
"nameLocation": "6419:14:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "6393:46:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 144, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "6393:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "323039", | |
"id": 145, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "6436:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_209_by_1", | |
"typeString": "int_const 209" | |
}, | |
"value": "209" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 149, | |
"mutability": "constant", | |
"name": "NOT_TWO_TOKENS", | |
"nameLocation": "6471:14:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "6445:46:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 147, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "6445:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "323130", | |
"id": 148, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "6488:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_210_by_1", | |
"typeString": "int_const 210" | |
}, | |
"value": "210" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 152, | |
"mutability": "constant", | |
"name": "DISABLED", | |
"nameLocation": "6523:8:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "6497:40:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 150, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "6497:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "323131", | |
"id": 151, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "6534:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_211_by_1", | |
"typeString": "int_const 211" | |
}, | |
"value": "211" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 155, | |
"mutability": "constant", | |
"name": "MIN_AMP", | |
"nameLocation": "6582:7:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "6556:39:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 153, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "6556:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "333030", | |
"id": 154, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "6592:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_300_by_1", | |
"typeString": "int_const 300" | |
}, | |
"value": "300" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 158, | |
"mutability": "constant", | |
"name": "MAX_AMP", | |
"nameLocation": "6627:7:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "6601:39:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 156, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "6601:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "333031", | |
"id": 157, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "6637:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_301_by_1", | |
"typeString": "int_const 301" | |
}, | |
"value": "301" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 161, | |
"mutability": "constant", | |
"name": "MIN_WEIGHT", | |
"nameLocation": "6672:10:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "6646:42:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 159, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "6646:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "333032", | |
"id": 160, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "6685:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_302_by_1", | |
"typeString": "int_const 302" | |
}, | |
"value": "302" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 164, | |
"mutability": "constant", | |
"name": "MAX_STABLE_TOKENS", | |
"nameLocation": "6720:17:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "6694:49:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 162, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "6694:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "333033", | |
"id": 163, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "6740:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_303_by_1", | |
"typeString": "int_const 303" | |
}, | |
"value": "303" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 167, | |
"mutability": "constant", | |
"name": "MAX_IN_RATIO", | |
"nameLocation": "6775:12:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "6749:44:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 165, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "6749:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "333034", | |
"id": 166, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "6790:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_304_by_1", | |
"typeString": "int_const 304" | |
}, | |
"value": "304" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 170, | |
"mutability": "constant", | |
"name": "MAX_OUT_RATIO", | |
"nameLocation": "6825:13:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "6799:45:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 168, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "6799:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "333035", | |
"id": 169, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "6841:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_305_by_1", | |
"typeString": "int_const 305" | |
}, | |
"value": "305" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 173, | |
"mutability": "constant", | |
"name": "MIN_BPT_IN_FOR_TOKEN_OUT", | |
"nameLocation": "6876:24:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "6850:56:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 171, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "6850:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "333036", | |
"id": 172, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "6903:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_306_by_1", | |
"typeString": "int_const 306" | |
}, | |
"value": "306" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 176, | |
"mutability": "constant", | |
"name": "MAX_OUT_BPT_FOR_TOKEN_IN", | |
"nameLocation": "6938:24:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "6912:56:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 174, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "6912:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "333037", | |
"id": 175, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "6965:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_307_by_1", | |
"typeString": "int_const 307" | |
}, | |
"value": "307" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 179, | |
"mutability": "constant", | |
"name": "NORMALIZED_WEIGHT_INVARIANT", | |
"nameLocation": "7000:27:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "6974:59:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 177, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "6974:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "333038", | |
"id": 178, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "7030:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_308_by_1", | |
"typeString": "int_const 308" | |
}, | |
"value": "308" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 182, | |
"mutability": "constant", | |
"name": "INVALID_TOKEN", | |
"nameLocation": "7065:13:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "7039:45:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 180, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "7039:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "333039", | |
"id": 181, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "7081:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_309_by_1", | |
"typeString": "int_const 309" | |
}, | |
"value": "309" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 185, | |
"mutability": "constant", | |
"name": "UNHANDLED_JOIN_KIND", | |
"nameLocation": "7116:19:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "7090:51:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 183, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "7090:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "333130", | |
"id": 184, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "7138:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_310_by_1", | |
"typeString": "int_const 310" | |
}, | |
"value": "310" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 188, | |
"mutability": "constant", | |
"name": "ZERO_INVARIANT", | |
"nameLocation": "7173:14:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "7147:46:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 186, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "7147:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "333131", | |
"id": 187, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "7190:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_311_by_1", | |
"typeString": "int_const 311" | |
}, | |
"value": "311" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 191, | |
"mutability": "constant", | |
"name": "ORACLE_INVALID_SECONDS_QUERY", | |
"nameLocation": "7225:28:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "7199:60:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 189, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "7199:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "333132", | |
"id": 190, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "7256:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_312_by_1", | |
"typeString": "int_const 312" | |
}, | |
"value": "312" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 194, | |
"mutability": "constant", | |
"name": "ORACLE_NOT_INITIALIZED", | |
"nameLocation": "7291:22:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "7265:54:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 192, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "7265:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "333133", | |
"id": 193, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "7316:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_313_by_1", | |
"typeString": "int_const 313" | |
}, | |
"value": "313" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 197, | |
"mutability": "constant", | |
"name": "ORACLE_QUERY_TOO_OLD", | |
"nameLocation": "7351:20:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "7325:52:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 195, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "7325:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "333134", | |
"id": 196, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "7374:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_314_by_1", | |
"typeString": "int_const 314" | |
}, | |
"value": "314" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 200, | |
"mutability": "constant", | |
"name": "ORACLE_INVALID_INDEX", | |
"nameLocation": "7409:20:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "7383:52:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 198, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "7383:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "333135", | |
"id": 199, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "7432:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_315_by_1", | |
"typeString": "int_const 315" | |
}, | |
"value": "315" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 203, | |
"mutability": "constant", | |
"name": "ORACLE_BAD_SECS", | |
"nameLocation": "7467:15:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "7441:47:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 201, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "7441:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "333136", | |
"id": 202, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "7485:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_316_by_1", | |
"typeString": "int_const 316" | |
}, | |
"value": "316" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 206, | |
"mutability": "constant", | |
"name": "AMP_END_TIME_TOO_CLOSE", | |
"nameLocation": "7520:22:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "7494:54:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 204, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "7494:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "333137", | |
"id": 205, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "7545:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_317_by_1", | |
"typeString": "int_const 317" | |
}, | |
"value": "317" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 209, | |
"mutability": "constant", | |
"name": "AMP_ONGOING_UPDATE", | |
"nameLocation": "7580:18:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "7554:50:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 207, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "7554:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "333138", | |
"id": 208, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "7601:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_318_by_1", | |
"typeString": "int_const 318" | |
}, | |
"value": "318" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 212, | |
"mutability": "constant", | |
"name": "AMP_RATE_TOO_HIGH", | |
"nameLocation": "7636:17:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "7610:49:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 210, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "7610:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "333139", | |
"id": 211, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "7656:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_319_by_1", | |
"typeString": "int_const 319" | |
}, | |
"value": "319" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 215, | |
"mutability": "constant", | |
"name": "AMP_NO_ONGOING_UPDATE", | |
"nameLocation": "7691:21:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "7665:53:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 213, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "7665:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "333230", | |
"id": 214, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "7715:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_320_by_1", | |
"typeString": "int_const 320" | |
}, | |
"value": "320" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 218, | |
"mutability": "constant", | |
"name": "STABLE_INVARIANT_DIDNT_CONVERGE", | |
"nameLocation": "7750:31:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "7724:63:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 216, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "7724:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "333231", | |
"id": 217, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "7784:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_321_by_1", | |
"typeString": "int_const 321" | |
}, | |
"value": "321" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 221, | |
"mutability": "constant", | |
"name": "STABLE_GET_BALANCE_DIDNT_CONVERGE", | |
"nameLocation": "7819:33:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "7793:65:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 219, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "7793:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "333232", | |
"id": 220, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "7855:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_322_by_1", | |
"typeString": "int_const 322" | |
}, | |
"value": "322" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 224, | |
"mutability": "constant", | |
"name": "RELAYER_NOT_CONTRACT", | |
"nameLocation": "7890:20:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "7864:52:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 222, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "7864:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "333233", | |
"id": 223, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "7913:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_323_by_1", | |
"typeString": "int_const 323" | |
}, | |
"value": "323" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 227, | |
"mutability": "constant", | |
"name": "BASE_POOL_RELAYER_NOT_CALLED", | |
"nameLocation": "7948:28:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "7922:60:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 225, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "7922:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "333234", | |
"id": 226, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "7979:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_324_by_1", | |
"typeString": "int_const 324" | |
}, | |
"value": "324" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 230, | |
"mutability": "constant", | |
"name": "REBALANCING_RELAYER_REENTERED", | |
"nameLocation": "8014:29:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "7988:61:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 228, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "7988:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "333235", | |
"id": 229, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "8046:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_325_by_1", | |
"typeString": "int_const 325" | |
}, | |
"value": "325" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 233, | |
"mutability": "constant", | |
"name": "GRADUAL_UPDATE_TIME_TRAVEL", | |
"nameLocation": "8081:26:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "8055:58:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 231, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "8055:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "333236", | |
"id": 232, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "8110:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_326_by_1", | |
"typeString": "int_const 326" | |
}, | |
"value": "326" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 236, | |
"mutability": "constant", | |
"name": "SWAPS_DISABLED", | |
"nameLocation": "8145:14:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "8119:46:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 234, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "8119:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "333237", | |
"id": 235, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "8162:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_327_by_1", | |
"typeString": "int_const 327" | |
}, | |
"value": "327" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 239, | |
"mutability": "constant", | |
"name": "CALLER_IS_NOT_LBP_OWNER", | |
"nameLocation": "8197:23:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "8171:55:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 237, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "8171:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "333238", | |
"id": 238, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "8223:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_328_by_1", | |
"typeString": "int_const 328" | |
}, | |
"value": "328" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 242, | |
"mutability": "constant", | |
"name": "PRICE_RATE_OVERFLOW", | |
"nameLocation": "8258:19:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "8232:51:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 240, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "8232:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "333239", | |
"id": 241, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "8280:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_329_by_1", | |
"typeString": "int_const 329" | |
}, | |
"value": "329" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 245, | |
"mutability": "constant", | |
"name": "INVALID_JOIN_EXIT_KIND_WHILE_SWAPS_DISABLED", | |
"nameLocation": "8315:43:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "8289:75:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 243, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "8289:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "333330", | |
"id": 244, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "8361:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_330_by_1", | |
"typeString": "int_const 330" | |
}, | |
"value": "330" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 248, | |
"mutability": "constant", | |
"name": "WEIGHT_CHANGE_TOO_FAST", | |
"nameLocation": "8396:22:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "8370:54:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 246, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "8370:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "333331", | |
"id": 247, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "8421:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_331_by_1", | |
"typeString": "int_const 331" | |
}, | |
"value": "331" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 251, | |
"mutability": "constant", | |
"name": "LOWER_GREATER_THAN_UPPER_TARGET", | |
"nameLocation": "8456:31:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "8430:63:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 249, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "8430:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "333332", | |
"id": 250, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "8490:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_332_by_1", | |
"typeString": "int_const 332" | |
}, | |
"value": "332" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 254, | |
"mutability": "constant", | |
"name": "UPPER_TARGET_TOO_HIGH", | |
"nameLocation": "8525:21:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "8499:53:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 252, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "8499:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "333333", | |
"id": 253, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "8549:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_333_by_1", | |
"typeString": "int_const 333" | |
}, | |
"value": "333" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 257, | |
"mutability": "constant", | |
"name": "UNHANDLED_BY_LINEAR_POOL", | |
"nameLocation": "8584:24:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "8558:56:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 255, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "8558:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "333334", | |
"id": 256, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "8611:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_334_by_1", | |
"typeString": "int_const 334" | |
}, | |
"value": "334" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 260, | |
"mutability": "constant", | |
"name": "OUT_OF_TARGET_RANGE", | |
"nameLocation": "8646:19:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "8620:51:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 258, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "8620:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "333335", | |
"id": 259, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "8668:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_335_by_1", | |
"typeString": "int_const 335" | |
}, | |
"value": "335" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 263, | |
"mutability": "constant", | |
"name": "UNHANDLED_EXIT_KIND", | |
"nameLocation": "8703:19:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "8677:51:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 261, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "8677:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "333336", | |
"id": 262, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "8725:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_336_by_1", | |
"typeString": "int_const 336" | |
}, | |
"value": "336" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 266, | |
"mutability": "constant", | |
"name": "UNAUTHORIZED_EXIT", | |
"nameLocation": "8760:17:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "8734:49:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 264, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "8734:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "333337", | |
"id": 265, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "8780:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_337_by_1", | |
"typeString": "int_const 337" | |
}, | |
"value": "337" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 269, | |
"mutability": "constant", | |
"name": "MAX_MANAGEMENT_SWAP_FEE_PERCENTAGE", | |
"nameLocation": "8815:34:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "8789:66:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 267, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "8789:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "333338", | |
"id": 268, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "8852:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_338_by_1", | |
"typeString": "int_const 338" | |
}, | |
"value": "338" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 272, | |
"mutability": "constant", | |
"name": "UNHANDLED_BY_MANAGED_POOL", | |
"nameLocation": "8887:25:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "8861:57:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 270, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "8861:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "333339", | |
"id": 271, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "8915:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_339_by_1", | |
"typeString": "int_const 339" | |
}, | |
"value": "339" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 275, | |
"mutability": "constant", | |
"name": "UNHANDLED_BY_PHANTOM_POOL", | |
"nameLocation": "8950:25:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "8924:57:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 273, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "8924:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "333430", | |
"id": 274, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "8978:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_340_by_1", | |
"typeString": "int_const 340" | |
}, | |
"value": "340" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 278, | |
"mutability": "constant", | |
"name": "TOKEN_DOES_NOT_HAVE_RATE_PROVIDER", | |
"nameLocation": "9013:33:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "8987:65:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 276, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "8987:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "333431", | |
"id": 277, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "9049:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_341_by_1", | |
"typeString": "int_const 341" | |
}, | |
"value": "341" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 281, | |
"mutability": "constant", | |
"name": "INVALID_INITIALIZATION", | |
"nameLocation": "9084:22:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "9058:54:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 279, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "9058:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "333432", | |
"id": 280, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "9109:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_342_by_1", | |
"typeString": "int_const 342" | |
}, | |
"value": "342" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 284, | |
"mutability": "constant", | |
"name": "OUT_OF_NEW_TARGET_RANGE", | |
"nameLocation": "9144:23:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "9118:55:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 282, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "9118:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "333433", | |
"id": 283, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "9170:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_343_by_1", | |
"typeString": "int_const 343" | |
}, | |
"value": "343" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 287, | |
"mutability": "constant", | |
"name": "FEATURE_DISABLED", | |
"nameLocation": "9205:16:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "9179:48:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 285, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "9179:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "333434", | |
"id": 286, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "9224:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_344_by_1", | |
"typeString": "int_const 344" | |
}, | |
"value": "344" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 290, | |
"mutability": "constant", | |
"name": "UNINITIALIZED_POOL_CONTROLLER", | |
"nameLocation": "9259:29:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "9233:61:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 288, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "9233:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "333435", | |
"id": 289, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "9291:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_345_by_1", | |
"typeString": "int_const 345" | |
}, | |
"value": "345" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 293, | |
"mutability": "constant", | |
"name": "SET_SWAP_FEE_DURING_FEE_CHANGE", | |
"nameLocation": "9326:30:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "9300:62:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 291, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "9300:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "333436", | |
"id": 292, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "9359:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_346_by_1", | |
"typeString": "int_const 346" | |
}, | |
"value": "346" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 296, | |
"mutability": "constant", | |
"name": "SET_SWAP_FEE_PENDING_FEE_CHANGE", | |
"nameLocation": "9394:31:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "9368:63:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 294, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "9368:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "333437", | |
"id": 295, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "9428:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_347_by_1", | |
"typeString": "int_const 347" | |
}, | |
"value": "347" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 299, | |
"mutability": "constant", | |
"name": "CHANGE_TOKENS_DURING_WEIGHT_CHANGE", | |
"nameLocation": "9463:34:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "9437:66:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 297, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "9437:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "333438", | |
"id": 298, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "9500:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_348_by_1", | |
"typeString": "int_const 348" | |
}, | |
"value": "348" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 302, | |
"mutability": "constant", | |
"name": "CHANGE_TOKENS_PENDING_WEIGHT_CHANGE", | |
"nameLocation": "9535:35:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "9509:67:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 300, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "9509:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "333439", | |
"id": 301, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "9573:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_349_by_1", | |
"typeString": "int_const 349" | |
}, | |
"value": "349" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 305, | |
"mutability": "constant", | |
"name": "MAX_WEIGHT", | |
"nameLocation": "9608:10:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "9582:42:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 303, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "9582:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "333530", | |
"id": 304, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "9621:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_350_by_1", | |
"typeString": "int_const 350" | |
}, | |
"value": "350" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 308, | |
"mutability": "constant", | |
"name": "UNAUTHORIZED_JOIN", | |
"nameLocation": "9656:17:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "9630:49:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 306, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "9630:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "333531", | |
"id": 307, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "9676:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_351_by_1", | |
"typeString": "int_const 351" | |
}, | |
"value": "351" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 311, | |
"mutability": "constant", | |
"name": "MAX_MANAGEMENT_AUM_FEE_PERCENTAGE", | |
"nameLocation": "9711:33:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "9685:65:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 309, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "9685:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "333532", | |
"id": 310, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "9747:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_352_by_1", | |
"typeString": "int_const 352" | |
}, | |
"value": "352" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 314, | |
"mutability": "constant", | |
"name": "FRACTIONAL_TARGET", | |
"nameLocation": "9782:17:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "9756:49:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 312, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "9756:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "333533", | |
"id": 313, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "9802:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_353_by_1", | |
"typeString": "int_const 353" | |
}, | |
"value": "353" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 317, | |
"mutability": "constant", | |
"name": "ADD_OR_REMOVE_BPT", | |
"nameLocation": "9837:17:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "9811:49:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 315, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "9811:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "333534", | |
"id": 316, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "9857:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_354_by_1", | |
"typeString": "int_const 354" | |
}, | |
"value": "354" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 320, | |
"mutability": "constant", | |
"name": "INVALID_CIRCUIT_BREAKER_BOUNDS", | |
"nameLocation": "9892:30:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "9866:62:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 318, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "9866:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "333535", | |
"id": 319, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "9925:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_355_by_1", | |
"typeString": "int_const 355" | |
}, | |
"value": "355" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 323, | |
"mutability": "constant", | |
"name": "CIRCUIT_BREAKER_TRIPPED", | |
"nameLocation": "9960:23:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "9934:55:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 321, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "9934:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "333536", | |
"id": 322, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "9986:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_356_by_1", | |
"typeString": "int_const 356" | |
}, | |
"value": "356" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 326, | |
"mutability": "constant", | |
"name": "MALICIOUS_QUERY_REVERT", | |
"nameLocation": "10021:22:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "9995:54:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 324, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "9995:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "333537", | |
"id": 325, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "10046:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_357_by_1", | |
"typeString": "int_const 357" | |
}, | |
"value": "357" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 329, | |
"mutability": "constant", | |
"name": "JOINS_EXITS_DISABLED", | |
"nameLocation": "10081:20:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "10055:52:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 327, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "10055:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "333538", | |
"id": 328, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "10104:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_358_by_1", | |
"typeString": "int_const 358" | |
}, | |
"value": "358" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 332, | |
"mutability": "constant", | |
"name": "REENTRANCY", | |
"nameLocation": "10150:10:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "10124:42:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 330, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "10124:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "343030", | |
"id": 331, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "10163:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_400_by_1", | |
"typeString": "int_const 400" | |
}, | |
"value": "400" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 335, | |
"mutability": "constant", | |
"name": "SENDER_NOT_ALLOWED", | |
"nameLocation": "10198:18:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "10172:50:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 333, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "10172:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "343031", | |
"id": 334, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "10219:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_401_by_1", | |
"typeString": "int_const 401" | |
}, | |
"value": "401" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 338, | |
"mutability": "constant", | |
"name": "PAUSED", | |
"nameLocation": "10254:6:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "10228:38:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 336, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "10228:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "343032", | |
"id": 337, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "10263:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_402_by_1", | |
"typeString": "int_const 402" | |
}, | |
"value": "402" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 341, | |
"mutability": "constant", | |
"name": "PAUSE_WINDOW_EXPIRED", | |
"nameLocation": "10298:20:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "10272:52:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 339, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "10272:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "343033", | |
"id": 340, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "10321:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_403_by_1", | |
"typeString": "int_const 403" | |
}, | |
"value": "403" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 344, | |
"mutability": "constant", | |
"name": "MAX_PAUSE_WINDOW_DURATION", | |
"nameLocation": "10356:25:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "10330:57:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 342, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "10330:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "343034", | |
"id": 343, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "10384:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_404_by_1", | |
"typeString": "int_const 404" | |
}, | |
"value": "404" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 347, | |
"mutability": "constant", | |
"name": "MAX_BUFFER_PERIOD_DURATION", | |
"nameLocation": "10419:26:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "10393:58:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 345, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "10393:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "343035", | |
"id": 346, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "10448:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_405_by_1", | |
"typeString": "int_const 405" | |
}, | |
"value": "405" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 350, | |
"mutability": "constant", | |
"name": "INSUFFICIENT_BALANCE", | |
"nameLocation": "10483:20:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "10457:52:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 348, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "10457:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "343036", | |
"id": 349, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "10506:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_406_by_1", | |
"typeString": "int_const 406" | |
}, | |
"value": "406" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 353, | |
"mutability": "constant", | |
"name": "INSUFFICIENT_ALLOWANCE", | |
"nameLocation": "10541:22:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "10515:54:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 351, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "10515:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "343037", | |
"id": 352, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "10566:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_407_by_1", | |
"typeString": "int_const 407" | |
}, | |
"value": "407" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 356, | |
"mutability": "constant", | |
"name": "ERC20_TRANSFER_FROM_ZERO_ADDRESS", | |
"nameLocation": "10601:32:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "10575:64:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 354, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "10575:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "343038", | |
"id": 355, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "10636:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_408_by_1", | |
"typeString": "int_const 408" | |
}, | |
"value": "408" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 359, | |
"mutability": "constant", | |
"name": "ERC20_TRANSFER_TO_ZERO_ADDRESS", | |
"nameLocation": "10671:30:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "10645:62:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 357, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "10645:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "343039", | |
"id": 358, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "10704:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_409_by_1", | |
"typeString": "int_const 409" | |
}, | |
"value": "409" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 362, | |
"mutability": "constant", | |
"name": "ERC20_MINT_TO_ZERO_ADDRESS", | |
"nameLocation": "10739:26:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "10713:58:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 360, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "10713:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "343130", | |
"id": 361, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "10768:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_410_by_1", | |
"typeString": "int_const 410" | |
}, | |
"value": "410" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 365, | |
"mutability": "constant", | |
"name": "ERC20_BURN_FROM_ZERO_ADDRESS", | |
"nameLocation": "10803:28:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "10777:60:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 363, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "10777:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "343131", | |
"id": 364, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "10834:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_411_by_1", | |
"typeString": "int_const 411" | |
}, | |
"value": "411" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 368, | |
"mutability": "constant", | |
"name": "ERC20_APPROVE_FROM_ZERO_ADDRESS", | |
"nameLocation": "10869:31:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "10843:63:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 366, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "10843:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "343132", | |
"id": 367, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "10903:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_412_by_1", | |
"typeString": "int_const 412" | |
}, | |
"value": "412" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 371, | |
"mutability": "constant", | |
"name": "ERC20_APPROVE_TO_ZERO_ADDRESS", | |
"nameLocation": "10938:29:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "10912:61:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 369, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "10912:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "343133", | |
"id": 370, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "10970:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_413_by_1", | |
"typeString": "int_const 413" | |
}, | |
"value": "413" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 374, | |
"mutability": "constant", | |
"name": "ERC20_TRANSFER_EXCEEDS_ALLOWANCE", | |
"nameLocation": "11005:32:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "10979:64:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 372, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "10979:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "343134", | |
"id": 373, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "11040:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_414_by_1", | |
"typeString": "int_const 414" | |
}, | |
"value": "414" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 377, | |
"mutability": "constant", | |
"name": "ERC20_DECREASED_ALLOWANCE_BELOW_ZERO", | |
"nameLocation": "11075:36:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "11049:68:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 375, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "11049:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "343135", | |
"id": 376, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "11114:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_415_by_1", | |
"typeString": "int_const 415" | |
}, | |
"value": "415" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 380, | |
"mutability": "constant", | |
"name": "ERC20_TRANSFER_EXCEEDS_BALANCE", | |
"nameLocation": "11149:30:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "11123:62:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 378, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "11123:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "343136", | |
"id": 379, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "11182:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_416_by_1", | |
"typeString": "int_const 416" | |
}, | |
"value": "416" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 383, | |
"mutability": "constant", | |
"name": "ERC20_BURN_EXCEEDS_ALLOWANCE", | |
"nameLocation": "11217:28:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "11191:60:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 381, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "11191:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "343137", | |
"id": 382, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "11248:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_417_by_1", | |
"typeString": "int_const 417" | |
}, | |
"value": "417" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 386, | |
"mutability": "constant", | |
"name": "SAFE_ERC20_CALL_FAILED", | |
"nameLocation": "11283:22:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "11257:54:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 384, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "11257:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "343138", | |
"id": 385, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "11308:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_418_by_1", | |
"typeString": "int_const 418" | |
}, | |
"value": "418" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 389, | |
"mutability": "constant", | |
"name": "ADDRESS_INSUFFICIENT_BALANCE", | |
"nameLocation": "11343:28:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "11317:60:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 387, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "11317:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "343139", | |
"id": 388, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "11374:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_419_by_1", | |
"typeString": "int_const 419" | |
}, | |
"value": "419" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 392, | |
"mutability": "constant", | |
"name": "ADDRESS_CANNOT_SEND_VALUE", | |
"nameLocation": "11409:25:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "11383:57:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 390, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "11383:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "343230", | |
"id": 391, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "11437:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_420_by_1", | |
"typeString": "int_const 420" | |
}, | |
"value": "420" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 395, | |
"mutability": "constant", | |
"name": "SAFE_CAST_VALUE_CANT_FIT_INT256", | |
"nameLocation": "11472:31:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "11446:63:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 393, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "11446:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "343231", | |
"id": 394, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "11506:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_421_by_1", | |
"typeString": "int_const 421" | |
}, | |
"value": "421" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 398, | |
"mutability": "constant", | |
"name": "GRANT_SENDER_NOT_ADMIN", | |
"nameLocation": "11541:22:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "11515:54:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 396, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "11515:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "343232", | |
"id": 397, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "11566:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_422_by_1", | |
"typeString": "int_const 422" | |
}, | |
"value": "422" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 401, | |
"mutability": "constant", | |
"name": "REVOKE_SENDER_NOT_ADMIN", | |
"nameLocation": "11601:23:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "11575:55:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 399, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "11575:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "343233", | |
"id": 400, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "11627:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_423_by_1", | |
"typeString": "int_const 423" | |
}, | |
"value": "423" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 404, | |
"mutability": "constant", | |
"name": "RENOUNCE_SENDER_NOT_ALLOWED", | |
"nameLocation": "11662:27:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "11636:59:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 402, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "11636:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "343234", | |
"id": 403, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "11692:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_424_by_1", | |
"typeString": "int_const 424" | |
}, | |
"value": "424" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 407, | |
"mutability": "constant", | |
"name": "BUFFER_PERIOD_EXPIRED", | |
"nameLocation": "11727:21:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "11701:53:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 405, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "11701:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "343235", | |
"id": 406, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "11751:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_425_by_1", | |
"typeString": "int_const 425" | |
}, | |
"value": "425" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 410, | |
"mutability": "constant", | |
"name": "CALLER_IS_NOT_OWNER", | |
"nameLocation": "11786:19:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "11760:51:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 408, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "11760:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "343236", | |
"id": 409, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "11808:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_426_by_1", | |
"typeString": "int_const 426" | |
}, | |
"value": "426" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 413, | |
"mutability": "constant", | |
"name": "NEW_OWNER_IS_ZERO", | |
"nameLocation": "11843:17:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "11817:49:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 411, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "11817:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "343237", | |
"id": 412, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "11863:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_427_by_1", | |
"typeString": "int_const 427" | |
}, | |
"value": "427" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 416, | |
"mutability": "constant", | |
"name": "CODE_DEPLOYMENT_FAILED", | |
"nameLocation": "11898:22:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "11872:54:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 414, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "11872:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "343238", | |
"id": 415, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "11923:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_428_by_1", | |
"typeString": "int_const 428" | |
}, | |
"value": "428" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 419, | |
"mutability": "constant", | |
"name": "CALL_TO_NON_CONTRACT", | |
"nameLocation": "11958:20:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "11932:52:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 417, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "11932:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "343239", | |
"id": 418, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "11981:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_429_by_1", | |
"typeString": "int_const 429" | |
}, | |
"value": "429" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 422, | |
"mutability": "constant", | |
"name": "LOW_LEVEL_CALL_FAILED", | |
"nameLocation": "12016:21:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "11990:53:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 420, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "11990:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "343330", | |
"id": 421, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "12040:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_430_by_1", | |
"typeString": "int_const 430" | |
}, | |
"value": "430" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 425, | |
"mutability": "constant", | |
"name": "NOT_PAUSED", | |
"nameLocation": "12075:10:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "12049:42:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 423, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "12049:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "343331", | |
"id": 424, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "12088:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_431_by_1", | |
"typeString": "int_const 431" | |
}, | |
"value": "431" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 428, | |
"mutability": "constant", | |
"name": "ADDRESS_ALREADY_ALLOWLISTED", | |
"nameLocation": "12123:27:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "12097:59:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 426, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "12097:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "343332", | |
"id": 427, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "12153:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_432_by_1", | |
"typeString": "int_const 432" | |
}, | |
"value": "432" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 431, | |
"mutability": "constant", | |
"name": "ADDRESS_NOT_ALLOWLISTED", | |
"nameLocation": "12188:23:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "12162:55:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 429, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "12162:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "343333", | |
"id": 430, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "12214:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_433_by_1", | |
"typeString": "int_const 433" | |
}, | |
"value": "433" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 434, | |
"mutability": "constant", | |
"name": "ERC20_BURN_EXCEEDS_BALANCE", | |
"nameLocation": "12249:26:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "12223:58:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 432, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "12223:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "343334", | |
"id": 433, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "12278:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_434_by_1", | |
"typeString": "int_const 434" | |
}, | |
"value": "434" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 437, | |
"mutability": "constant", | |
"name": "INVALID_OPERATION", | |
"nameLocation": "12313:17:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "12287:49:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 435, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "12287:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "343335", | |
"id": 436, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "12333:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_435_by_1", | |
"typeString": "int_const 435" | |
}, | |
"value": "435" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 440, | |
"mutability": "constant", | |
"name": "CODEC_OVERFLOW", | |
"nameLocation": "12368:14:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "12342:46:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 438, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "12342:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "343336", | |
"id": 439, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "12385:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_436_by_1", | |
"typeString": "int_const 436" | |
}, | |
"value": "436" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 443, | |
"mutability": "constant", | |
"name": "IN_RECOVERY_MODE", | |
"nameLocation": "12420:16:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "12394:48:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 441, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "12394:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "343337", | |
"id": 442, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "12439:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_437_by_1", | |
"typeString": "int_const 437" | |
}, | |
"value": "437" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 446, | |
"mutability": "constant", | |
"name": "NOT_IN_RECOVERY_MODE", | |
"nameLocation": "12474:20:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "12448:52:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 444, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "12448:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "343338", | |
"id": 445, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "12497:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_438_by_1", | |
"typeString": "int_const 438" | |
}, | |
"value": "438" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 449, | |
"mutability": "constant", | |
"name": "INDUCED_FAILURE", | |
"nameLocation": "12532:15:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "12506:47:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 447, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "12506:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "343339", | |
"id": 448, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "12550:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_439_by_1", | |
"typeString": "int_const 439" | |
}, | |
"value": "439" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 452, | |
"mutability": "constant", | |
"name": "EXPIRED_SIGNATURE", | |
"nameLocation": "12585:17:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "12559:49:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 450, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "12559:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "343430", | |
"id": 451, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "12605:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_440_by_1", | |
"typeString": "int_const 440" | |
}, | |
"value": "440" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 455, | |
"mutability": "constant", | |
"name": "MALFORMED_SIGNATURE", | |
"nameLocation": "12640:19:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "12614:51:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 453, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "12614:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "343431", | |
"id": 454, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "12662:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_441_by_1", | |
"typeString": "int_const 441" | |
}, | |
"value": "441" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 458, | |
"mutability": "constant", | |
"name": "SAFE_CAST_VALUE_CANT_FIT_UINT64", | |
"nameLocation": "12697:31:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "12671:63:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 456, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "12671:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "343432", | |
"id": 457, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "12731:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_442_by_1", | |
"typeString": "int_const 442" | |
}, | |
"value": "442" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 461, | |
"mutability": "constant", | |
"name": "UNHANDLED_FEE_TYPE", | |
"nameLocation": "12766:18:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "12740:50:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 459, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "12740:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "343433", | |
"id": 460, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "12787:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_443_by_1", | |
"typeString": "int_const 443" | |
}, | |
"value": "443" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 464, | |
"mutability": "constant", | |
"name": "BURN_FROM_ZERO", | |
"nameLocation": "12822:14:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "12796:46:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 462, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "12796:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "343434", | |
"id": 463, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "12839:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_444_by_1", | |
"typeString": "int_const 444" | |
}, | |
"value": "444" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 467, | |
"mutability": "constant", | |
"name": "INVALID_POOL_ID", | |
"nameLocation": "12887:15:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "12861:47:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 465, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "12861:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "353030", | |
"id": 466, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "12905:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_500_by_1", | |
"typeString": "int_const 500" | |
}, | |
"value": "500" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 470, | |
"mutability": "constant", | |
"name": "CALLER_NOT_POOL", | |
"nameLocation": "12940:15:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "12914:47:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 468, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "12914:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "353031", | |
"id": 469, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "12958:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_501_by_1", | |
"typeString": "int_const 501" | |
}, | |
"value": "501" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 473, | |
"mutability": "constant", | |
"name": "SENDER_NOT_ASSET_MANAGER", | |
"nameLocation": "12993:24:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "12967:56:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 471, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "12967:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "353032", | |
"id": 472, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "13020:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_502_by_1", | |
"typeString": "int_const 502" | |
}, | |
"value": "502" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 476, | |
"mutability": "constant", | |
"name": "USER_DOESNT_ALLOW_RELAYER", | |
"nameLocation": "13055:25:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "13029:57:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 474, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "13029:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "353033", | |
"id": 475, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "13083:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_503_by_1", | |
"typeString": "int_const 503" | |
}, | |
"value": "503" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 479, | |
"mutability": "constant", | |
"name": "INVALID_SIGNATURE", | |
"nameLocation": "13118:17:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "13092:49:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 477, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "13092:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "353034", | |
"id": 478, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "13138:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_504_by_1", | |
"typeString": "int_const 504" | |
}, | |
"value": "504" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 482, | |
"mutability": "constant", | |
"name": "EXIT_BELOW_MIN", | |
"nameLocation": "13173:14:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "13147:46:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 480, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "13147:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "353035", | |
"id": 481, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "13190:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_505_by_1", | |
"typeString": "int_const 505" | |
}, | |
"value": "505" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 485, | |
"mutability": "constant", | |
"name": "JOIN_ABOVE_MAX", | |
"nameLocation": "13225:14:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "13199:46:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 483, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "13199:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "353036", | |
"id": 484, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "13242:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_506_by_1", | |
"typeString": "int_const 506" | |
}, | |
"value": "506" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 488, | |
"mutability": "constant", | |
"name": "SWAP_LIMIT", | |
"nameLocation": "13277:10:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "13251:42:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 486, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "13251:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "353037", | |
"id": 487, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "13290:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_507_by_1", | |
"typeString": "int_const 507" | |
}, | |
"value": "507" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 491, | |
"mutability": "constant", | |
"name": "SWAP_DEADLINE", | |
"nameLocation": "13325:13:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "13299:45:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 489, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "13299:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "353038", | |
"id": 490, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "13341:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_508_by_1", | |
"typeString": "int_const 508" | |
}, | |
"value": "508" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 494, | |
"mutability": "constant", | |
"name": "CANNOT_SWAP_SAME_TOKEN", | |
"nameLocation": "13376:22:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "13350:54:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 492, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "13350:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "353039", | |
"id": 493, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "13401:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_509_by_1", | |
"typeString": "int_const 509" | |
}, | |
"value": "509" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 497, | |
"mutability": "constant", | |
"name": "UNKNOWN_AMOUNT_IN_FIRST_SWAP", | |
"nameLocation": "13436:28:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "13410:60:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 495, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "13410:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "353130", | |
"id": 496, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "13467:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_510_by_1", | |
"typeString": "int_const 510" | |
}, | |
"value": "510" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 500, | |
"mutability": "constant", | |
"name": "MALCONSTRUCTED_MULTIHOP_SWAP", | |
"nameLocation": "13502:28:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "13476:60:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 498, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "13476:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "353131", | |
"id": 499, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "13533:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_511_by_1", | |
"typeString": "int_const 511" | |
}, | |
"value": "511" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 503, | |
"mutability": "constant", | |
"name": "INTERNAL_BALANCE_OVERFLOW", | |
"nameLocation": "13568:25:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "13542:57:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 501, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "13542:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "353132", | |
"id": 502, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "13596:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_512_by_1", | |
"typeString": "int_const 512" | |
}, | |
"value": "512" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 506, | |
"mutability": "constant", | |
"name": "INSUFFICIENT_INTERNAL_BALANCE", | |
"nameLocation": "13631:29:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "13605:61:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 504, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "13605:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "353133", | |
"id": 505, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "13663:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_513_by_1", | |
"typeString": "int_const 513" | |
}, | |
"value": "513" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 509, | |
"mutability": "constant", | |
"name": "INVALID_ETH_INTERNAL_BALANCE", | |
"nameLocation": "13698:28:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "13672:60:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 507, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "13672:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "353134", | |
"id": 508, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "13729:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_514_by_1", | |
"typeString": "int_const 514" | |
}, | |
"value": "514" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 512, | |
"mutability": "constant", | |
"name": "INVALID_POST_LOAN_BALANCE", | |
"nameLocation": "13764:25:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "13738:57:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 510, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "13738:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "353135", | |
"id": 511, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "13792:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_515_by_1", | |
"typeString": "int_const 515" | |
}, | |
"value": "515" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 515, | |
"mutability": "constant", | |
"name": "INSUFFICIENT_ETH", | |
"nameLocation": "13827:16:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "13801:48:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 513, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "13801:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "353136", | |
"id": 514, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "13846:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_516_by_1", | |
"typeString": "int_const 516" | |
}, | |
"value": "516" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 518, | |
"mutability": "constant", | |
"name": "UNALLOCATED_ETH", | |
"nameLocation": "13881:15:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "13855:47:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 516, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "13855:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "353137", | |
"id": 517, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "13899:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_517_by_1", | |
"typeString": "int_const 517" | |
}, | |
"value": "517" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 521, | |
"mutability": "constant", | |
"name": "ETH_TRANSFER", | |
"nameLocation": "13934:12:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "13908:44:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 519, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "13908:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "353138", | |
"id": 520, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "13949:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_518_by_1", | |
"typeString": "int_const 518" | |
}, | |
"value": "518" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 524, | |
"mutability": "constant", | |
"name": "CANNOT_USE_ETH_SENTINEL", | |
"nameLocation": "13984:23:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "13958:55:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 522, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "13958:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "353139", | |
"id": 523, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "14010:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_519_by_1", | |
"typeString": "int_const 519" | |
}, | |
"value": "519" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 527, | |
"mutability": "constant", | |
"name": "TOKENS_MISMATCH", | |
"nameLocation": "14045:15:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "14019:47:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 525, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "14019:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "353230", | |
"id": 526, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "14063:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_520_by_1", | |
"typeString": "int_const 520" | |
}, | |
"value": "520" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 530, | |
"mutability": "constant", | |
"name": "TOKEN_NOT_REGISTERED", | |
"nameLocation": "14098:20:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "14072:52:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 528, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "14072:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "353231", | |
"id": 529, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "14121:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_521_by_1", | |
"typeString": "int_const 521" | |
}, | |
"value": "521" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 533, | |
"mutability": "constant", | |
"name": "TOKEN_ALREADY_REGISTERED", | |
"nameLocation": "14156:24:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "14130:56:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 531, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "14130:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "353232", | |
"id": 532, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "14183:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_522_by_1", | |
"typeString": "int_const 522" | |
}, | |
"value": "522" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 536, | |
"mutability": "constant", | |
"name": "TOKENS_ALREADY_SET", | |
"nameLocation": "14218:18:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "14192:50:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 534, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "14192:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "353233", | |
"id": 535, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "14239:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_523_by_1", | |
"typeString": "int_const 523" | |
}, | |
"value": "523" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 539, | |
"mutability": "constant", | |
"name": "TOKENS_LENGTH_MUST_BE_2", | |
"nameLocation": "14274:23:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "14248:55:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 537, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "14248:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "353234", | |
"id": 538, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "14300:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_524_by_1", | |
"typeString": "int_const 524" | |
}, | |
"value": "524" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 542, | |
"mutability": "constant", | |
"name": "NONZERO_TOKEN_BALANCE", | |
"nameLocation": "14335:21:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "14309:53:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 540, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "14309:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "353235", | |
"id": 541, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "14359:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_525_by_1", | |
"typeString": "int_const 525" | |
}, | |
"value": "525" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 545, | |
"mutability": "constant", | |
"name": "BALANCE_TOTAL_OVERFLOW", | |
"nameLocation": "14394:22:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "14368:54:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 543, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "14368:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "353236", | |
"id": 544, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "14419:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_526_by_1", | |
"typeString": "int_const 526" | |
}, | |
"value": "526" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 548, | |
"mutability": "constant", | |
"name": "POOL_NO_TOKENS", | |
"nameLocation": "14454:14:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "14428:46:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 546, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "14428:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "353237", | |
"id": 547, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "14471:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_527_by_1", | |
"typeString": "int_const 527" | |
}, | |
"value": "527" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 551, | |
"mutability": "constant", | |
"name": "INSUFFICIENT_FLASH_LOAN_BALANCE", | |
"nameLocation": "14506:31:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "14480:63:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 549, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "14480:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "353238", | |
"id": 550, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "14540:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_528_by_1", | |
"typeString": "int_const 528" | |
}, | |
"value": "528" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 554, | |
"mutability": "constant", | |
"name": "SWAP_FEE_PERCENTAGE_TOO_HIGH", | |
"nameLocation": "14587:28:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "14561:60:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 552, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "14561:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "363030", | |
"id": 553, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "14618:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_600_by_1", | |
"typeString": "int_const 600" | |
}, | |
"value": "600" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 557, | |
"mutability": "constant", | |
"name": "FLASH_LOAN_FEE_PERCENTAGE_TOO_HIGH", | |
"nameLocation": "14653:34:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "14627:66:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 555, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "14627:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "363031", | |
"id": 556, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "14690:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_601_by_1", | |
"typeString": "int_const 601" | |
}, | |
"value": "601" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 560, | |
"mutability": "constant", | |
"name": "INSUFFICIENT_FLASH_LOAN_FEE_AMOUNT", | |
"nameLocation": "14725:34:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "14699:66:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 558, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "14699:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "363032", | |
"id": 559, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "14762:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_602_by_1", | |
"typeString": "int_const 602" | |
}, | |
"value": "602" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 563, | |
"mutability": "constant", | |
"name": "AUM_FEE_PERCENTAGE_TOO_HIGH", | |
"nameLocation": "14797:27:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "14771:59:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 561, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "14771:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "363033", | |
"id": 562, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "14827:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_603_by_1", | |
"typeString": "int_const 603" | |
}, | |
"value": "603" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 566, | |
"mutability": "constant", | |
"name": "SPLITTER_FEE_PERCENTAGE_TOO_HIGH", | |
"nameLocation": "14881:32:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "14855:64:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 564, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "14855:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "373030", | |
"id": 565, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "14916:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_700_by_1", | |
"typeString": "int_const 700" | |
}, | |
"value": "700" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 569, | |
"mutability": "constant", | |
"name": "UNIMPLEMENTED", | |
"nameLocation": "14963:13:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "14937:45:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 567, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "14937:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "393938", | |
"id": 568, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "14979:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_998_by_1", | |
"typeString": "int_const 998" | |
}, | |
"value": "998" | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": true, | |
"id": 572, | |
"mutability": "constant", | |
"name": "SHOULD_NOT_HAPPEN", | |
"nameLocation": "15014:17:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 573, | |
"src": "14988:49:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 570, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "14988:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"hexValue": "393939", | |
"id": 571, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "15034:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_999_by_1", | |
"typeString": "int_const 999" | |
}, | |
"value": "999" | |
}, | |
"visibility": "internal" | |
} | |
], | |
"scope": 574, | |
"src": "5025:10015:0", | |
"usedErrors": [] | |
} | |
], | |
"src": "655:14385:0" | |
}, | |
"id": 0 | |
} | |
} | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"deploy": { | |
"VM:-": { | |
"linkReferences": {}, | |
"autoDeployLib": true | |
}, | |
"main:1": { | |
"linkReferences": {}, | |
"autoDeployLib": true | |
}, | |
"ropsten:3": { | |
"linkReferences": {}, | |
"autoDeployLib": true | |
}, | |
"rinkeby:4": { | |
"linkReferences": {}, | |
"autoDeployLib": true | |
}, | |
"kovan:42": { | |
"linkReferences": {}, | |
"autoDeployLib": true | |
}, | |
"goerli:5": { | |
"linkReferences": {}, | |
"autoDeployLib": true | |
}, | |
"Custom": { | |
"linkReferences": {}, | |
"autoDeployLib": true | |
} | |
}, | |
"data": { | |
"bytecode": { | |
"functionDebugData": {}, | |
"generatedSources": [], | |
"linkReferences": {}, | |
"object": "60566050600b82828239805160001a6073146043577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212209bdc67a52b5130afc04a1c002a12e3ee31c6a181cb73595de74a594d71f7378a64736f6c63430008120033", | |
"opcodes": "PUSH1 0x56 PUSH1 0x50 PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x43 JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SWAP12 0xDC PUSH8 0xA52B5130AFC04A1C STOP 0x2A SLT 0xE3 0xEE BALANCE 0xC6 LOG1 DUP2 0xCB PUSH20 0x595DE74A594D71F7378A64736F6C634300081200 CALLER ", | |
"sourceMap": "5025:10015:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;" | |
}, | |
"deployedBytecode": { | |
"functionDebugData": {}, | |
"generatedSources": [], | |
"immutableReferences": {}, | |
"linkReferences": {}, | |
"object": "73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212209bdc67a52b5130afc04a1c002a12e3ee31c6a181cb73595de74a594d71f7378a64736f6c63430008120033", | |
"opcodes": "PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SWAP12 0xDC PUSH8 0xA52B5130AFC04A1C STOP 0x2A SLT 0xE3 0xEE BALANCE 0xC6 LOG1 DUP2 0xCB PUSH20 0x595DE74A594D71F7378A64736F6C634300081200 CALLER ", | |
"sourceMap": "5025:10015:0:-:0;;;;;;;;" | |
}, | |
"gasEstimates": { | |
"creation": { | |
"codeDepositCost": "17200", | |
"executionCost": "97", | |
"totalCost": "17297" | |
} | |
}, | |
"methodIdentifiers": {} | |
}, | |
"abi": [] | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"compiler": { | |
"version": "0.8.18+commit.87f61d96" | |
}, | |
"language": "Solidity", | |
"output": { | |
"abi": [], | |
"devdoc": { | |
"kind": "dev", | |
"methods": {}, | |
"version": 1 | |
}, | |
"userdoc": { | |
"kind": "user", | |
"methods": {}, | |
"version": 1 | |
} | |
}, | |
"settings": { | |
"compilationTarget": { | |
"contracts/BalancerErrors.sol": "Errors" | |
}, | |
"evmVersion": "paris", | |
"libraries": {}, | |
"metadata": { | |
"bytecodeHash": "ipfs" | |
}, | |
"optimizer": { | |
"enabled": false, | |
"runs": 200 | |
}, | |
"remappings": [] | |
}, | |
"sources": { | |
"contracts/BalancerErrors.sol": { | |
"keccak256": "0xa273e3cb93c54603b79e64b7d26ca02f40d2178365673ba13c7b3d0f7b1aaf23", | |
"license": "GPL-3.0-or-later", | |
"urls": [ | |
"bzz-raw://325275ac80f27eaedfb578d182b70bc2c27e9fd5b331c88f6a2647613f1ded48", | |
"dweb:/ipfs/QmRTZ7HcoCUKjwratcd2ujpeCo7FtFDspG2R9yJSUuGpJf" | |
] | |
} | |
}, | |
"version": 1 | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"deploy": { | |
"VM:-": { | |
"linkReferences": {}, | |
"autoDeployLib": true | |
}, | |
"main:1": { | |
"linkReferences": {}, | |
"autoDeployLib": true | |
}, | |
"ropsten:3": { | |
"linkReferences": {}, | |
"autoDeployLib": true | |
}, | |
"rinkeby:4": { | |
"linkReferences": {}, | |
"autoDeployLib": true | |
}, | |
"kovan:42": { | |
"linkReferences": {}, | |
"autoDeployLib": true | |
}, | |
"goerli:5": { | |
"linkReferences": {}, | |
"autoDeployLib": true | |
}, | |
"Custom": { | |
"linkReferences": {}, | |
"autoDeployLib": true | |
} | |
}, | |
"data": { | |
"bytecode": { | |
"functionDebugData": {}, | |
"generatedSources": [], | |
"linkReferences": {}, | |
"object": "608060405234801561001057600080fd5b506117ba806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063a019d71414610030575b600080fd5b61004a600480360381019061004591906113b7565b610060565b6040516100579190611406565b60405180910390f35b600060028360ff16036100ad57633b9aca0061009c838560ff16670de0b6b3a764000061008d9190611493565b67ffffffffffffffff1661013a565b6100a691906114c4565b9050610134565b60038360ff16036100f95764e8d4a510006100e8838560ff16670de0b6b3a76400006100d99190611493565b67ffffffffffffffff1661013a565b6100f291906114c4565b9050610134565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161012b90611578565b60405180910390fd5b92915050565b600080820361015357670de0b6b3a764000090506102fb565b6000830361016457600090506102fb565b610176600060ff85901c146006610301565b60008390506101bc68056bc75e2d631000007f40000000000000000000000000000000000000000000000000000000000000006101b391906114c4565b84106007610301565b600083905060008267016345785d8a0000670de0b6b3a76400006101e091906115a2565b128015610207575067016345785d8a0000670de0b6b3a764000061020491906115e5565b83125b1561027c57600061021784610314565b9050670de0b6b3a764000083670de0b6b3a7640000836102379190611629565b610241919061165a565b61024b91906116d2565b83670de0b6b3a76400008361026091906116d2565b61026a919061165a565b61027491906115e5565b915050610293565b8161028684610595565b610290919061165a565b90505b670de0b6b3a7640000816102a791906116d2565b90506102ec817ffffffffffffffffffffffffffffffffffffffffffffffffdc702bd3a30fc0000131580156102e5575068070c1cc73b00c800008213155b6008610301565b6102f581610be9565b93505050505b92915050565b816103105761030f816112b0565b5b5050565b6000670de0b6b3a76400008261032a919061165a565b915060006ec097ce7bc90715b34b9f10000000008361034991906115e5565b6ec097ce7bc90715b34b9f1000000000808561036591906115a2565b61036f919061165a565b61037991906116d2565b905060006ec097ce7bc90715b34b9f10000000008283610399919061165a565b6103a391906116d2565b9050600082905060008190506ec097ce7bc90715b34b9f100000000083836103cb919061165a565b6103d591906116d2565b91506003826103e491906116d2565b816103ef91906115e5565b90506ec097ce7bc90715b34b9f1000000000838361040d919061165a565b61041791906116d2565b915060058261042691906116d2565b8161043191906115e5565b90506ec097ce7bc90715b34b9f1000000000838361044f919061165a565b61045991906116d2565b915060078261046891906116d2565b8161047391906115e5565b90506ec097ce7bc90715b34b9f10000000008383610491919061165a565b61049b91906116d2565b91506009826104aa91906116d2565b816104b591906115e5565b90506ec097ce7bc90715b34b9f100000000083836104d3919061165a565b6104dd91906116d2565b9150600b826104ec91906116d2565b816104f791906115e5565b90506ec097ce7bc90715b34b9f10000000008383610515919061165a565b61051f91906116d2565b9150600d8261052e91906116d2565b8161053991906115e5565b90506ec097ce7bc90715b34b9f10000000008383610557919061165a565b61056191906116d2565b9150600f8261057091906116d2565b8161057b91906115e5565b905060028161058a919061165a565b945050505050919050565b6000670de0b6b3a76400008212156105de576105ce82670de0b6b3a7640000806105bf919061165a565b6105c991906116d2565b610595565b6105d79061173c565b9050610be4565b6000670de0b6b3a7640000770195e54c5dd42177f53a27172fa9ec63026282700000000061060c919061165a565b831261065057770195e54c5dd42177f53a27172fa9ec6302628270000000008361063691906116d2565b92506806f05b59d3b20000008161064d91906115e5565b90505b670de0b6b3a76400006b1425982cf597cd205cef7380610670919061165a565b83126106a8576b1425982cf597cd205cef73808361068e91906116d2565b92506803782dace9d9000000816106a591906115e5565b90505b6064816106b5919061165a565b90506064836106c4919061165a565b92506e01855144814a7ff805980ff00840008312610725576e01855144814a7ff805980ff008400068056bc75e2d6310000084610701919061165a565b61070b91906116d2565b925068ad78ebc5ac620000008161072291906115e5565b90505b6b02df0ab5a80a22c61ab5a700831261077e576b02df0ab5a80a22c61ab5a70068056bc75e2d631000008461075a919061165a565b61076491906116d2565b92506856bc75e2d6310000008161077b91906115e5565b90505b693f1fce3da636ea5cf85083126107d357693f1fce3da636ea5cf85068056bc75e2d63100000846107af919061165a565b6107b991906116d2565b9250682b5e3af16b18800000816107d091906115e5565b90505b690127fa27722cc06cc5e2831261082857690127fa27722cc06cc5e268056bc75e2d6310000084610804919061165a565b61080e91906116d2565b92506815af1d78b58c4000008161082591906115e5565b90505b68280e60114edb805d03831261087b5768280e60114edb805d0368056bc75e2d6310000084610857919061165a565b61086191906116d2565b9250680ad78ebc5ac62000008161087891906115e5565b90505b680ebc5fb4174612111083126108ce57680ebc5fb4174612111068056bc75e2d63100000846108aa919061165a565b6108b491906116d2565b925068056bc75e2d63100000816108cb91906115e5565b90505b6808f00f760a4b2db55d8312610921576808f00f760a4b2db55d68056bc75e2d63100000846108fd919061165a565b61090791906116d2565b92506802b5e3af16b18800008161091e91906115e5565b90505b6806f5f17757889379378312610974576806f5f177578893793768056bc75e2d6310000084610950919061165a565b61095a91906116d2565b925068015af1d78b58c400008161097191906115e5565b90505b6806248f33704b28660383126109c6576806248f33704b28660368056bc75e2d63100000846109a3919061165a565b6109ad91906116d2565b925067ad78ebc5ac620000816109c391906115e5565b90505b6805c548670b9510e7ac8312610a18576805c548670b9510e7ac68056bc75e2d63100000846109f5919061165a565b6109ff91906116d2565b92506756bc75e2d631000081610a1591906115e5565b90505b600068056bc75e2d6310000084610a2f91906115e5565b68056bc75e2d631000008086610a4591906115a2565b610a4f919061165a565b610a5991906116d2565b9050600068056bc75e2d631000008283610a73919061165a565b610a7d91906116d2565b90506000829050600081905068056bc75e2d631000008383610a9f919061165a565b610aa991906116d2565b9150600382610ab891906116d2565b81610ac391906115e5565b905068056bc75e2d631000008383610adb919061165a565b610ae591906116d2565b9150600582610af491906116d2565b81610aff91906115e5565b905068056bc75e2d631000008383610b17919061165a565b610b2191906116d2565b9150600782610b3091906116d2565b81610b3b91906115e5565b905068056bc75e2d631000008383610b53919061165a565b610b5d91906116d2565b9150600982610b6c91906116d2565b81610b7791906115e5565b905068056bc75e2d631000008383610b8f919061165a565b610b9991906116d2565b9150600b82610ba891906116d2565b81610bb391906115e5565b9050600281610bc2919061165a565b905060648186610bd291906115e5565b610bdc91906116d2565b955050505050505b919050565b6000610c2e7ffffffffffffffffffffffffffffffffffffffffffffffffdc702bd3a30fc00008312158015610c27575068070c1cc73b00c800008313155b6009610301565b6000821215610c6e57610c4982610c449061173c565b610be9565b670de0b6b3a764000080610c5d919061165a565b610c6791906116d2565b90506112ab565b60006806f05b59d3b20000008312610cb7576806f05b59d3b200000083610c9591906115a2565b9250770195e54c5dd42177f53a27172fa9ec6302628270000000009050610cf8565b6803782dace9d90000008312610cf2576803782dace9d900000083610cdc91906115a2565b92506b1425982cf597cd205cef73809050610cf7565b600190505b5b606483610d05919061165a565b9250600068056bc75e2d63100000905068ad78ebc5ac620000008412610d6e5768ad78ebc5ac6200000084610d3a91906115a2565b935068056bc75e2d631000006e01855144814a7ff805980ff008400082610d61919061165a565b610d6b91906116d2565b90505b6856bc75e2d6310000008412610dc4576856bc75e2d63100000084610d9391906115a2565b935068056bc75e2d631000006b02df0ab5a80a22c61ab5a70082610db7919061165a565b610dc191906116d2565b90505b682b5e3af16b188000008412610e1857682b5e3af16b1880000084610de991906115a2565b935068056bc75e2d63100000693f1fce3da636ea5cf85082610e0b919061165a565b610e1591906116d2565b90505b6815af1d78b58c4000008412610e6c576815af1d78b58c40000084610e3d91906115a2565b935068056bc75e2d63100000690127fa27722cc06cc5e282610e5f919061165a565b610e6991906116d2565b90505b680ad78ebc5ac62000008412610ebf57680ad78ebc5ac620000084610e9191906115a2565b935068056bc75e2d6310000068280e60114edb805d0382610eb2919061165a565b610ebc91906116d2565b90505b68056bc75e2d631000008412610f125768056bc75e2d6310000084610ee491906115a2565b935068056bc75e2d63100000680ebc5fb4174612111082610f05919061165a565b610f0f91906116d2565b90505b6802b5e3af16b18800008412610f65576802b5e3af16b188000084610f3791906115a2565b935068056bc75e2d631000006808f00f760a4b2db55d82610f58919061165a565b610f6291906116d2565b90505b68015af1d78b58c400008412610fb85768015af1d78b58c4000084610f8a91906115a2565b935068056bc75e2d631000006806f5f177578893793782610fab919061165a565b610fb591906116d2565b90505b600068056bc75e2d63100000905060008590508082610fd791906115e5565b9150600268056bc75e2d631000008783610ff1919061165a565b610ffb91906116d2565b61100591906116d2565b9050808261101391906115e5565b9150600368056bc75e2d63100000878361102d919061165a565b61103791906116d2565b61104191906116d2565b9050808261104f91906115e5565b9150600468056bc75e2d631000008783611069919061165a565b61107391906116d2565b61107d91906116d2565b9050808261108b91906115e5565b9150600568056bc75e2d6310000087836110a5919061165a565b6110af91906116d2565b6110b991906116d2565b905080826110c791906115e5565b9150600668056bc75e2d6310000087836110e1919061165a565b6110eb91906116d2565b6110f591906116d2565b9050808261110391906115e5565b9150600768056bc75e2d63100000878361111d919061165a565b61112791906116d2565b61113191906116d2565b9050808261113f91906115e5565b9150600868056bc75e2d631000008783611159919061165a565b61116391906116d2565b61116d91906116d2565b9050808261117b91906115e5565b9150600968056bc75e2d631000008783611195919061165a565b61119f91906116d2565b6111a991906116d2565b905080826111b791906115e5565b9150600a68056bc75e2d6310000087836111d1919061165a565b6111db91906116d2565b6111e591906116d2565b905080826111f391906115e5565b9150600b68056bc75e2d63100000878361120d919061165a565b61121791906116d2565b61122191906116d2565b9050808261122f91906115e5565b9150600c68056bc75e2d631000008783611249919061165a565b61125391906116d2565b61125d91906116d2565b9050808261126b91906115e5565b915060648468056bc75e2d631000008486611286919061165a565b61129091906116d2565b61129a919061165a565b6112a491906116d2565b9450505050505b919050565b6112c0816242414c60e81b6112c3565b50565b60008160e81c62ffffff1690506030600a840601600a840493506030600a850601600a850494506030600a8606018360081b60230160181b8160101b8360081b850101810160c81b7f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260076024528060445260646000fd5b600080fd5b600060ff82169050919050565b61135e81611348565b811461136957600080fd5b50565b60008135905061137b81611355565b92915050565b6000819050919050565b61139481611381565b811461139f57600080fd5b50565b6000813590506113b18161138b565b92915050565b600080604083850312156113ce576113cd611343565b5b60006113dc8582860161136c565b92505060206113ed858286016113a2565b9150509250929050565b61140081611381565b82525050565b600060208201905061141b60008301846113f7565b92915050565b600067ffffffffffffffff82169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061149e82611421565b91506114a983611421565b9250826114b9576114b8611435565b5b828204905092915050565b60006114cf82611381565b91506114da83611381565b9250826114ea576114e9611435565b5b828204905092915050565b600082825260208201905092915050565b7f42616c616e636572206d617468206f6e6c792063616e2068616e646c6520737160008201527f7561726520726f6f747320616e64206375626520726f6f747300000000000000602082015250565b60006115626039836114f5565b915061156d82611506565b604082019050919050565b6000602082019050818103600083015261159181611555565b9050919050565b6000819050919050565b60006115ad82611598565b91506115b883611598565b92508282039050818112600084121682821360008512151617156115df576115de611464565b5b92915050565b60006115f082611598565b91506115fb83611598565b92508282019050828112156000831216838212600084121516171561162357611622611464565b5b92915050565b600061163482611598565b915061163f83611598565b92508261164f5761164e611435565b5b828207905092915050565b600061166582611598565b915061167083611598565b925082820261167e81611598565b91507f800000000000000000000000000000000000000000000000000000000000000084146000841216156116b6576116b5611464565b5b82820584148315176116cb576116ca611464565b5b5092915050565b60006116dd82611598565b91506116e883611598565b9250826116f8576116f7611435565b5b600160000383147f80000000000000000000000000000000000000000000000000000000000000008314161561173157611730611464565b5b828205905092915050565b600061174782611598565b91507f8000000000000000000000000000000000000000000000000000000000000000820361177957611778611464565b5b81600003905091905056fea2646970667358221220c21604cb2d038a6ebbafceadb53bb68b996854188c1e556c697cb8f18f55e68964736f6c63430008120033", | |
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x17BA DUP1 PUSH2 0x20 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x2B JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0xA019D714 EQ PUSH2 0x30 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4A PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x45 SWAP2 SWAP1 PUSH2 0x13B7 JUMP JUMPDEST PUSH2 0x60 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x57 SWAP2 SWAP1 PUSH2 0x1406 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP4 PUSH1 0xFF AND SUB PUSH2 0xAD JUMPI PUSH4 0x3B9ACA00 PUSH2 0x9C DUP4 DUP6 PUSH1 0xFF AND PUSH8 0xDE0B6B3A7640000 PUSH2 0x8D SWAP2 SWAP1 PUSH2 0x1493 JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH2 0x13A JUMP JUMPDEST PUSH2 0xA6 SWAP2 SWAP1 PUSH2 0x14C4 JUMP JUMPDEST SWAP1 POP PUSH2 0x134 JUMP JUMPDEST PUSH1 0x3 DUP4 PUSH1 0xFF AND SUB PUSH2 0xF9 JUMPI PUSH5 0xE8D4A51000 PUSH2 0xE8 DUP4 DUP6 PUSH1 0xFF AND PUSH8 0xDE0B6B3A7640000 PUSH2 0xD9 SWAP2 SWAP1 PUSH2 0x1493 JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH2 0x13A JUMP JUMPDEST PUSH2 0xF2 SWAP2 SWAP1 PUSH2 0x14C4 JUMP JUMPDEST SWAP1 POP PUSH2 0x134 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x12B SWAP1 PUSH2 0x1578 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 SUB PUSH2 0x153 JUMPI PUSH8 0xDE0B6B3A7640000 SWAP1 POP PUSH2 0x2FB JUMP JUMPDEST PUSH1 0x0 DUP4 SUB PUSH2 0x164 JUMPI PUSH1 0x0 SWAP1 POP PUSH2 0x2FB JUMP JUMPDEST PUSH2 0x176 PUSH1 0x0 PUSH1 0xFF DUP6 SWAP1 SHR EQ PUSH1 0x6 PUSH2 0x301 JUMP JUMPDEST PUSH1 0x0 DUP4 SWAP1 POP PUSH2 0x1BC PUSH9 0x56BC75E2D63100000 PUSH32 0x4000000000000000000000000000000000000000000000000000000000000000 PUSH2 0x1B3 SWAP2 SWAP1 PUSH2 0x14C4 JUMP JUMPDEST DUP5 LT PUSH1 0x7 PUSH2 0x301 JUMP JUMPDEST PUSH1 0x0 DUP4 SWAP1 POP PUSH1 0x0 DUP3 PUSH8 0x16345785D8A0000 PUSH8 0xDE0B6B3A7640000 PUSH2 0x1E0 SWAP2 SWAP1 PUSH2 0x15A2 JUMP JUMPDEST SLT DUP1 ISZERO PUSH2 0x207 JUMPI POP PUSH8 0x16345785D8A0000 PUSH8 0xDE0B6B3A7640000 PUSH2 0x204 SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST DUP4 SLT JUMPDEST ISZERO PUSH2 0x27C JUMPI PUSH1 0x0 PUSH2 0x217 DUP5 PUSH2 0x314 JUMP JUMPDEST SWAP1 POP PUSH8 0xDE0B6B3A7640000 DUP4 PUSH8 0xDE0B6B3A7640000 DUP4 PUSH2 0x237 SWAP2 SWAP1 PUSH2 0x1629 JUMP JUMPDEST PUSH2 0x241 SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0x24B SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST DUP4 PUSH8 0xDE0B6B3A7640000 DUP4 PUSH2 0x260 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST PUSH2 0x26A SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0x274 SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x293 JUMP JUMPDEST DUP2 PUSH2 0x286 DUP5 PUSH2 0x595 JUMP JUMPDEST PUSH2 0x290 SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST SWAP1 POP JUMPDEST PUSH8 0xDE0B6B3A7640000 DUP2 PUSH2 0x2A7 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP1 POP PUSH2 0x2EC DUP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDC702BD3A30FC0000 SGT ISZERO DUP1 ISZERO PUSH2 0x2E5 JUMPI POP PUSH9 0x70C1CC73B00C80000 DUP3 SGT ISZERO JUMPDEST PUSH1 0x8 PUSH2 0x301 JUMP JUMPDEST PUSH2 0x2F5 DUP2 PUSH2 0xBE9 JUMP JUMPDEST SWAP4 POP POP POP POP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP2 PUSH2 0x310 JUMPI PUSH2 0x30F DUP2 PUSH2 0x12B0 JUMP JUMPDEST JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xDE0B6B3A7640000 DUP3 PUSH2 0x32A SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST SWAP2 POP PUSH1 0x0 PUSH15 0xC097CE7BC90715B34B9F1000000000 DUP4 PUSH2 0x349 SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST PUSH15 0xC097CE7BC90715B34B9F1000000000 DUP1 DUP6 PUSH2 0x365 SWAP2 SWAP1 PUSH2 0x15A2 JUMP JUMPDEST PUSH2 0x36F SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0x379 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH15 0xC097CE7BC90715B34B9F1000000000 DUP3 DUP4 PUSH2 0x399 SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0x3A3 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP3 SWAP1 POP PUSH1 0x0 DUP2 SWAP1 POP PUSH15 0xC097CE7BC90715B34B9F1000000000 DUP4 DUP4 PUSH2 0x3CB SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0x3D5 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP2 POP PUSH1 0x3 DUP3 PUSH2 0x3E4 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST DUP2 PUSH2 0x3EF SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP1 POP PUSH15 0xC097CE7BC90715B34B9F1000000000 DUP4 DUP4 PUSH2 0x40D SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0x417 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP2 POP PUSH1 0x5 DUP3 PUSH2 0x426 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST DUP2 PUSH2 0x431 SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP1 POP PUSH15 0xC097CE7BC90715B34B9F1000000000 DUP4 DUP4 PUSH2 0x44F SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0x459 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP2 POP PUSH1 0x7 DUP3 PUSH2 0x468 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST DUP2 PUSH2 0x473 SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP1 POP PUSH15 0xC097CE7BC90715B34B9F1000000000 DUP4 DUP4 PUSH2 0x491 SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0x49B SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP2 POP PUSH1 0x9 DUP3 PUSH2 0x4AA SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST DUP2 PUSH2 0x4B5 SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP1 POP PUSH15 0xC097CE7BC90715B34B9F1000000000 DUP4 DUP4 PUSH2 0x4D3 SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0x4DD SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP2 POP PUSH1 0xB DUP3 PUSH2 0x4EC SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST DUP2 PUSH2 0x4F7 SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP1 POP PUSH15 0xC097CE7BC90715B34B9F1000000000 DUP4 DUP4 PUSH2 0x515 SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0x51F SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP2 POP PUSH1 0xD DUP3 PUSH2 0x52E SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST DUP2 PUSH2 0x539 SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP1 POP PUSH15 0xC097CE7BC90715B34B9F1000000000 DUP4 DUP4 PUSH2 0x557 SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0x561 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP2 POP PUSH1 0xF DUP3 PUSH2 0x570 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST DUP2 PUSH2 0x57B SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP1 POP PUSH1 0x2 DUP2 PUSH2 0x58A SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST SWAP5 POP POP POP POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xDE0B6B3A7640000 DUP3 SLT ISZERO PUSH2 0x5DE JUMPI PUSH2 0x5CE DUP3 PUSH8 0xDE0B6B3A7640000 DUP1 PUSH2 0x5BF SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0x5C9 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST PUSH2 0x595 JUMP JUMPDEST PUSH2 0x5D7 SWAP1 PUSH2 0x173C JUMP JUMPDEST SWAP1 POP PUSH2 0xBE4 JUMP JUMPDEST PUSH1 0x0 PUSH8 0xDE0B6B3A7640000 PUSH24 0x195E54C5DD42177F53A27172FA9EC630262827000000000 PUSH2 0x60C SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST DUP4 SLT PUSH2 0x650 JUMPI PUSH24 0x195E54C5DD42177F53A27172FA9EC630262827000000000 DUP4 PUSH2 0x636 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP3 POP PUSH9 0x6F05B59D3B2000000 DUP2 PUSH2 0x64D SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP1 POP JUMPDEST PUSH8 0xDE0B6B3A7640000 PUSH12 0x1425982CF597CD205CEF7380 PUSH2 0x670 SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST DUP4 SLT PUSH2 0x6A8 JUMPI PUSH12 0x1425982CF597CD205CEF7380 DUP4 PUSH2 0x68E SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP3 POP PUSH9 0x3782DACE9D9000000 DUP2 PUSH2 0x6A5 SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP1 POP JUMPDEST PUSH1 0x64 DUP2 PUSH2 0x6B5 SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST SWAP1 POP PUSH1 0x64 DUP4 PUSH2 0x6C4 SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST SWAP3 POP PUSH15 0x1855144814A7FF805980FF0084000 DUP4 SLT PUSH2 0x725 JUMPI PUSH15 0x1855144814A7FF805980FF0084000 PUSH9 0x56BC75E2D63100000 DUP5 PUSH2 0x701 SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0x70B SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP3 POP PUSH9 0xAD78EBC5AC62000000 DUP2 PUSH2 0x722 SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP1 POP JUMPDEST PUSH12 0x2DF0AB5A80A22C61AB5A700 DUP4 SLT PUSH2 0x77E JUMPI PUSH12 0x2DF0AB5A80A22C61AB5A700 PUSH9 0x56BC75E2D63100000 DUP5 PUSH2 0x75A SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0x764 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP3 POP PUSH9 0x56BC75E2D631000000 DUP2 PUSH2 0x77B SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP1 POP JUMPDEST PUSH10 0x3F1FCE3DA636EA5CF850 DUP4 SLT PUSH2 0x7D3 JUMPI PUSH10 0x3F1FCE3DA636EA5CF850 PUSH9 0x56BC75E2D63100000 DUP5 PUSH2 0x7AF SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0x7B9 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP3 POP PUSH9 0x2B5E3AF16B18800000 DUP2 PUSH2 0x7D0 SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP1 POP JUMPDEST PUSH10 0x127FA27722CC06CC5E2 DUP4 SLT PUSH2 0x828 JUMPI PUSH10 0x127FA27722CC06CC5E2 PUSH9 0x56BC75E2D63100000 DUP5 PUSH2 0x804 SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0x80E SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP3 POP PUSH9 0x15AF1D78B58C400000 DUP2 PUSH2 0x825 SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP1 POP JUMPDEST PUSH9 0x280E60114EDB805D03 DUP4 SLT PUSH2 0x87B JUMPI PUSH9 0x280E60114EDB805D03 PUSH9 0x56BC75E2D63100000 DUP5 PUSH2 0x857 SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0x861 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP3 POP PUSH9 0xAD78EBC5AC6200000 DUP2 PUSH2 0x878 SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP1 POP JUMPDEST PUSH9 0xEBC5FB41746121110 DUP4 SLT PUSH2 0x8CE JUMPI PUSH9 0xEBC5FB41746121110 PUSH9 0x56BC75E2D63100000 DUP5 PUSH2 0x8AA SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0x8B4 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP3 POP PUSH9 0x56BC75E2D63100000 DUP2 PUSH2 0x8CB SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP1 POP JUMPDEST PUSH9 0x8F00F760A4B2DB55D DUP4 SLT PUSH2 0x921 JUMPI PUSH9 0x8F00F760A4B2DB55D PUSH9 0x56BC75E2D63100000 DUP5 PUSH2 0x8FD SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0x907 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP3 POP PUSH9 0x2B5E3AF16B1880000 DUP2 PUSH2 0x91E SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP1 POP JUMPDEST PUSH9 0x6F5F1775788937937 DUP4 SLT PUSH2 0x974 JUMPI PUSH9 0x6F5F1775788937937 PUSH9 0x56BC75E2D63100000 DUP5 PUSH2 0x950 SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0x95A SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP3 POP PUSH9 0x15AF1D78B58C40000 DUP2 PUSH2 0x971 SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP1 POP JUMPDEST PUSH9 0x6248F33704B286603 DUP4 SLT PUSH2 0x9C6 JUMPI PUSH9 0x6248F33704B286603 PUSH9 0x56BC75E2D63100000 DUP5 PUSH2 0x9A3 SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0x9AD SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP3 POP PUSH8 0xAD78EBC5AC620000 DUP2 PUSH2 0x9C3 SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP1 POP JUMPDEST PUSH9 0x5C548670B9510E7AC DUP4 SLT PUSH2 0xA18 JUMPI PUSH9 0x5C548670B9510E7AC PUSH9 0x56BC75E2D63100000 DUP5 PUSH2 0x9F5 SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0x9FF SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP3 POP PUSH8 0x56BC75E2D6310000 DUP2 PUSH2 0xA15 SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP1 POP JUMPDEST PUSH1 0x0 PUSH9 0x56BC75E2D63100000 DUP5 PUSH2 0xA2F SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST PUSH9 0x56BC75E2D63100000 DUP1 DUP7 PUSH2 0xA45 SWAP2 SWAP1 PUSH2 0x15A2 JUMP JUMPDEST PUSH2 0xA4F SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0xA59 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH9 0x56BC75E2D63100000 DUP3 DUP4 PUSH2 0xA73 SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0xA7D SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP3 SWAP1 POP PUSH1 0x0 DUP2 SWAP1 POP PUSH9 0x56BC75E2D63100000 DUP4 DUP4 PUSH2 0xA9F SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0xAA9 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP2 POP PUSH1 0x3 DUP3 PUSH2 0xAB8 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST DUP2 PUSH2 0xAC3 SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP1 POP PUSH9 0x56BC75E2D63100000 DUP4 DUP4 PUSH2 0xADB SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0xAE5 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP2 POP PUSH1 0x5 DUP3 PUSH2 0xAF4 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST DUP2 PUSH2 0xAFF SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP1 POP PUSH9 0x56BC75E2D63100000 DUP4 DUP4 PUSH2 0xB17 SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0xB21 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP2 POP PUSH1 0x7 DUP3 PUSH2 0xB30 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST DUP2 PUSH2 0xB3B SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP1 POP PUSH9 0x56BC75E2D63100000 DUP4 DUP4 PUSH2 0xB53 SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0xB5D SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP2 POP PUSH1 0x9 DUP3 PUSH2 0xB6C SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST DUP2 PUSH2 0xB77 SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP1 POP PUSH9 0x56BC75E2D63100000 DUP4 DUP4 PUSH2 0xB8F SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0xB99 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP2 POP PUSH1 0xB DUP3 PUSH2 0xBA8 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST DUP2 PUSH2 0xBB3 SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP1 POP PUSH1 0x2 DUP2 PUSH2 0xBC2 SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST SWAP1 POP PUSH1 0x64 DUP2 DUP7 PUSH2 0xBD2 SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST PUSH2 0xBDC SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP6 POP POP POP POP POP POP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xC2E PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDC702BD3A30FC0000 DUP4 SLT ISZERO DUP1 ISZERO PUSH2 0xC27 JUMPI POP PUSH9 0x70C1CC73B00C80000 DUP4 SGT ISZERO JUMPDEST PUSH1 0x9 PUSH2 0x301 JUMP JUMPDEST PUSH1 0x0 DUP3 SLT ISZERO PUSH2 0xC6E JUMPI PUSH2 0xC49 DUP3 PUSH2 0xC44 SWAP1 PUSH2 0x173C JUMP JUMPDEST PUSH2 0xBE9 JUMP JUMPDEST PUSH8 0xDE0B6B3A7640000 DUP1 PUSH2 0xC5D SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0xC67 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP1 POP PUSH2 0x12AB JUMP JUMPDEST PUSH1 0x0 PUSH9 0x6F05B59D3B2000000 DUP4 SLT PUSH2 0xCB7 JUMPI PUSH9 0x6F05B59D3B2000000 DUP4 PUSH2 0xC95 SWAP2 SWAP1 PUSH2 0x15A2 JUMP JUMPDEST SWAP3 POP PUSH24 0x195E54C5DD42177F53A27172FA9EC630262827000000000 SWAP1 POP PUSH2 0xCF8 JUMP JUMPDEST PUSH9 0x3782DACE9D9000000 DUP4 SLT PUSH2 0xCF2 JUMPI PUSH9 0x3782DACE9D9000000 DUP4 PUSH2 0xCDC SWAP2 SWAP1 PUSH2 0x15A2 JUMP JUMPDEST SWAP3 POP PUSH12 0x1425982CF597CD205CEF7380 SWAP1 POP PUSH2 0xCF7 JUMP JUMPDEST PUSH1 0x1 SWAP1 POP JUMPDEST JUMPDEST PUSH1 0x64 DUP4 PUSH2 0xD05 SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST SWAP3 POP PUSH1 0x0 PUSH9 0x56BC75E2D63100000 SWAP1 POP PUSH9 0xAD78EBC5AC62000000 DUP5 SLT PUSH2 0xD6E JUMPI PUSH9 0xAD78EBC5AC62000000 DUP5 PUSH2 0xD3A SWAP2 SWAP1 PUSH2 0x15A2 JUMP JUMPDEST SWAP4 POP PUSH9 0x56BC75E2D63100000 PUSH15 0x1855144814A7FF805980FF0084000 DUP3 PUSH2 0xD61 SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0xD6B SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP1 POP JUMPDEST PUSH9 0x56BC75E2D631000000 DUP5 SLT PUSH2 0xDC4 JUMPI PUSH9 0x56BC75E2D631000000 DUP5 PUSH2 0xD93 SWAP2 SWAP1 PUSH2 0x15A2 JUMP JUMPDEST SWAP4 POP PUSH9 0x56BC75E2D63100000 PUSH12 0x2DF0AB5A80A22C61AB5A700 DUP3 PUSH2 0xDB7 SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0xDC1 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP1 POP JUMPDEST PUSH9 0x2B5E3AF16B18800000 DUP5 SLT PUSH2 0xE18 JUMPI PUSH9 0x2B5E3AF16B18800000 DUP5 PUSH2 0xDE9 SWAP2 SWAP1 PUSH2 0x15A2 JUMP JUMPDEST SWAP4 POP PUSH9 0x56BC75E2D63100000 PUSH10 0x3F1FCE3DA636EA5CF850 DUP3 PUSH2 0xE0B SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0xE15 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP1 POP JUMPDEST PUSH9 0x15AF1D78B58C400000 DUP5 SLT PUSH2 0xE6C JUMPI PUSH9 0x15AF1D78B58C400000 DUP5 PUSH2 0xE3D SWAP2 SWAP1 PUSH2 0x15A2 JUMP JUMPDEST SWAP4 POP PUSH9 0x56BC75E2D63100000 PUSH10 0x127FA27722CC06CC5E2 DUP3 PUSH2 0xE5F SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0xE69 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP1 POP JUMPDEST PUSH9 0xAD78EBC5AC6200000 DUP5 SLT PUSH2 0xEBF JUMPI PUSH9 0xAD78EBC5AC6200000 DUP5 PUSH2 0xE91 SWAP2 SWAP1 PUSH2 0x15A2 JUMP JUMPDEST SWAP4 POP PUSH9 0x56BC75E2D63100000 PUSH9 0x280E60114EDB805D03 DUP3 PUSH2 0xEB2 SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0xEBC SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP1 POP JUMPDEST PUSH9 0x56BC75E2D63100000 DUP5 SLT PUSH2 0xF12 JUMPI PUSH9 0x56BC75E2D63100000 DUP5 PUSH2 0xEE4 SWAP2 SWAP1 PUSH2 0x15A2 JUMP JUMPDEST SWAP4 POP PUSH9 0x56BC75E2D63100000 PUSH9 0xEBC5FB41746121110 DUP3 PUSH2 0xF05 SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0xF0F SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP1 POP JUMPDEST PUSH9 0x2B5E3AF16B1880000 DUP5 SLT PUSH2 0xF65 JUMPI PUSH9 0x2B5E3AF16B1880000 DUP5 PUSH2 0xF37 SWAP2 SWAP1 PUSH2 0x15A2 JUMP JUMPDEST SWAP4 POP PUSH9 0x56BC75E2D63100000 PUSH9 0x8F00F760A4B2DB55D DUP3 PUSH2 0xF58 SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0xF62 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP1 POP JUMPDEST PUSH9 0x15AF1D78B58C40000 DUP5 SLT PUSH2 0xFB8 JUMPI PUSH9 0x15AF1D78B58C40000 DUP5 PUSH2 0xF8A SWAP2 SWAP1 PUSH2 0x15A2 JUMP JUMPDEST SWAP4 POP PUSH9 0x56BC75E2D63100000 PUSH9 0x6F5F1775788937937 DUP3 PUSH2 0xFAB SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0xFB5 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP1 POP JUMPDEST PUSH1 0x0 PUSH9 0x56BC75E2D63100000 SWAP1 POP PUSH1 0x0 DUP6 SWAP1 POP DUP1 DUP3 PUSH2 0xFD7 SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP2 POP PUSH1 0x2 PUSH9 0x56BC75E2D63100000 DUP8 DUP4 PUSH2 0xFF1 SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0xFFB SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST PUSH2 0x1005 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP1 POP DUP1 DUP3 PUSH2 0x1013 SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP2 POP PUSH1 0x3 PUSH9 0x56BC75E2D63100000 DUP8 DUP4 PUSH2 0x102D SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0x1037 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST PUSH2 0x1041 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP1 POP DUP1 DUP3 PUSH2 0x104F SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP2 POP PUSH1 0x4 PUSH9 0x56BC75E2D63100000 DUP8 DUP4 PUSH2 0x1069 SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0x1073 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST PUSH2 0x107D SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP1 POP DUP1 DUP3 PUSH2 0x108B SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP2 POP PUSH1 0x5 PUSH9 0x56BC75E2D63100000 DUP8 DUP4 PUSH2 0x10A5 SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0x10AF SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST PUSH2 0x10B9 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP1 POP DUP1 DUP3 PUSH2 0x10C7 SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP2 POP PUSH1 0x6 PUSH9 0x56BC75E2D63100000 DUP8 DUP4 PUSH2 0x10E1 SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0x10EB SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST PUSH2 0x10F5 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP1 POP DUP1 DUP3 PUSH2 0x1103 SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP2 POP PUSH1 0x7 PUSH9 0x56BC75E2D63100000 DUP8 DUP4 PUSH2 0x111D SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0x1127 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST PUSH2 0x1131 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP1 POP DUP1 DUP3 PUSH2 0x113F SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP2 POP PUSH1 0x8 PUSH9 0x56BC75E2D63100000 DUP8 DUP4 PUSH2 0x1159 SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0x1163 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST PUSH2 0x116D SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP1 POP DUP1 DUP3 PUSH2 0x117B SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP2 POP PUSH1 0x9 PUSH9 0x56BC75E2D63100000 DUP8 DUP4 PUSH2 0x1195 SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0x119F SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST PUSH2 0x11A9 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP1 POP DUP1 DUP3 PUSH2 0x11B7 SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP2 POP PUSH1 0xA PUSH9 0x56BC75E2D63100000 DUP8 DUP4 PUSH2 0x11D1 SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0x11DB SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST PUSH2 0x11E5 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP1 POP DUP1 DUP3 PUSH2 0x11F3 SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP2 POP PUSH1 0xB PUSH9 0x56BC75E2D63100000 DUP8 DUP4 PUSH2 0x120D SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0x1217 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST PUSH2 0x1221 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP1 POP DUP1 DUP3 PUSH2 0x122F SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP2 POP PUSH1 0xC PUSH9 0x56BC75E2D63100000 DUP8 DUP4 PUSH2 0x1249 SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0x1253 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST PUSH2 0x125D SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP1 POP DUP1 DUP3 PUSH2 0x126B SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP2 POP PUSH1 0x64 DUP5 PUSH9 0x56BC75E2D63100000 DUP5 DUP7 PUSH2 0x1286 SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0x1290 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST PUSH2 0x129A SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0x12A4 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP5 POP POP POP POP POP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x12C0 DUP2 PUSH3 0x42414C PUSH1 0xE8 SHL PUSH2 0x12C3 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0xE8 SHR PUSH3 0xFFFFFF AND SWAP1 POP PUSH1 0x30 PUSH1 0xA DUP5 MOD ADD PUSH1 0xA DUP5 DIV SWAP4 POP PUSH1 0x30 PUSH1 0xA DUP6 MOD ADD PUSH1 0xA DUP6 DIV SWAP5 POP PUSH1 0x30 PUSH1 0xA DUP7 MOD ADD DUP4 PUSH1 0x8 SHL PUSH1 0x23 ADD PUSH1 0x18 SHL DUP2 PUSH1 0x10 SHL DUP4 PUSH1 0x8 SHL DUP6 ADD ADD DUP2 ADD PUSH1 0xC8 SHL PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x4 MSTORE PUSH1 0x7 PUSH1 0x24 MSTORE DUP1 PUSH1 0x44 MSTORE PUSH1 0x64 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0xFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x135E DUP2 PUSH2 0x1348 JUMP JUMPDEST DUP2 EQ PUSH2 0x1369 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x137B DUP2 PUSH2 0x1355 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1394 DUP2 PUSH2 0x1381 JUMP JUMPDEST DUP2 EQ PUSH2 0x139F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x13B1 DUP2 PUSH2 0x138B JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x13CE JUMPI PUSH2 0x13CD PUSH2 0x1343 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x13DC DUP6 DUP3 DUP7 ADD PUSH2 0x136C JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x13ED DUP6 DUP3 DUP7 ADD PUSH2 0x13A2 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH2 0x1400 DUP2 PUSH2 0x1381 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x141B PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x13F7 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x149E DUP3 PUSH2 0x1421 JUMP JUMPDEST SWAP2 POP PUSH2 0x14A9 DUP4 PUSH2 0x1421 JUMP JUMPDEST SWAP3 POP DUP3 PUSH2 0x14B9 JUMPI PUSH2 0x14B8 PUSH2 0x1435 JUMP JUMPDEST JUMPDEST DUP3 DUP3 DIV SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x14CF DUP3 PUSH2 0x1381 JUMP JUMPDEST SWAP2 POP PUSH2 0x14DA DUP4 PUSH2 0x1381 JUMP JUMPDEST SWAP3 POP DUP3 PUSH2 0x14EA JUMPI PUSH2 0x14E9 PUSH2 0x1435 JUMP JUMPDEST JUMPDEST DUP3 DUP3 DIV SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x42616C616E636572206D617468206F6E6C792063616E2068616E646C65207371 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x7561726520726F6F747320616E64206375626520726F6F747300000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1562 PUSH1 0x39 DUP4 PUSH2 0x14F5 JUMP JUMPDEST SWAP2 POP PUSH2 0x156D DUP3 PUSH2 0x1506 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1591 DUP2 PUSH2 0x1555 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x15AD DUP3 PUSH2 0x1598 JUMP JUMPDEST SWAP2 POP PUSH2 0x15B8 DUP4 PUSH2 0x1598 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 SUB SWAP1 POP DUP2 DUP2 SLT PUSH1 0x0 DUP5 SLT AND DUP3 DUP3 SGT PUSH1 0x0 DUP6 SLT ISZERO AND OR ISZERO PUSH2 0x15DF JUMPI PUSH2 0x15DE PUSH2 0x1464 JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x15F0 DUP3 PUSH2 0x1598 JUMP JUMPDEST SWAP2 POP PUSH2 0x15FB DUP4 PUSH2 0x1598 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 ADD SWAP1 POP DUP3 DUP2 SLT ISZERO PUSH1 0x0 DUP4 SLT AND DUP4 DUP3 SLT PUSH1 0x0 DUP5 SLT ISZERO AND OR ISZERO PUSH2 0x1623 JUMPI PUSH2 0x1622 PUSH2 0x1464 JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1634 DUP3 PUSH2 0x1598 JUMP JUMPDEST SWAP2 POP PUSH2 0x163F DUP4 PUSH2 0x1598 JUMP JUMPDEST SWAP3 POP DUP3 PUSH2 0x164F JUMPI PUSH2 0x164E PUSH2 0x1435 JUMP JUMPDEST JUMPDEST DUP3 DUP3 SMOD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1665 DUP3 PUSH2 0x1598 JUMP JUMPDEST SWAP2 POP PUSH2 0x1670 DUP4 PUSH2 0x1598 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 MUL PUSH2 0x167E DUP2 PUSH2 0x1598 JUMP JUMPDEST SWAP2 POP PUSH32 0x8000000000000000000000000000000000000000000000000000000000000000 DUP5 EQ PUSH1 0x0 DUP5 SLT AND ISZERO PUSH2 0x16B6 JUMPI PUSH2 0x16B5 PUSH2 0x1464 JUMP JUMPDEST JUMPDEST DUP3 DUP3 SDIV DUP5 EQ DUP4 ISZERO OR PUSH2 0x16CB JUMPI PUSH2 0x16CA PUSH2 0x1464 JUMP JUMPDEST JUMPDEST POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x16DD DUP3 PUSH2 0x1598 JUMP JUMPDEST SWAP2 POP PUSH2 0x16E8 DUP4 PUSH2 0x1598 JUMP JUMPDEST SWAP3 POP DUP3 PUSH2 0x16F8 JUMPI PUSH2 0x16F7 PUSH2 0x1435 JUMP JUMPDEST JUMPDEST PUSH1 0x1 PUSH1 0x0 SUB DUP4 EQ PUSH32 0x8000000000000000000000000000000000000000000000000000000000000000 DUP4 EQ AND ISZERO PUSH2 0x1731 JUMPI PUSH2 0x1730 PUSH2 0x1464 JUMP JUMPDEST JUMPDEST DUP3 DUP3 SDIV SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1747 DUP3 PUSH2 0x1598 JUMP JUMPDEST SWAP2 POP PUSH32 0x8000000000000000000000000000000000000000000000000000000000000000 DUP3 SUB PUSH2 0x1779 JUMPI PUSH2 0x1778 PUSH2 0x1464 JUMP JUMPDEST JUMPDEST DUP2 PUSH1 0x0 SUB SWAP1 POP SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xC2 AND DIV 0xCB 0x2D SUB DUP11 PUSH15 0xBBAFCEADB53BB68B996854188C1E55 PUSH13 0x697CB8F18F55E68964736F6C63 NUMBER STOP ADDMOD SLT STOP CALLER ", | |
"sourceMap": "109:583:2:-:0;;;;;;;;;;;;;;;;;;;" | |
}, | |
"deployedBytecode": { | |
"functionDebugData": { | |
"@_ln_1716": { | |
"entryPoint": 1429, | |
"id": 1716, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"@_ln_36_1870": { | |
"entryPoint": 788, | |
"id": 1870, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"@_require_17": { | |
"entryPoint": 769, | |
"id": 17, | |
"parameterSlots": 2, | |
"returnSlots": 0 | |
}, | |
"@_revert_48": { | |
"entryPoint": 4784, | |
"id": 48, | |
"parameterSlots": 1, | |
"returnSlots": 0 | |
}, | |
"@_revert_68": { | |
"entryPoint": 4803, | |
"id": 68, | |
"parameterSlots": 2, | |
"returnSlots": 0 | |
}, | |
"@exp_1242": { | |
"entryPoint": 3049, | |
"id": 1242, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"@nthroot_1922": { | |
"entryPoint": 96, | |
"id": 1922, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"@pow_815": { | |
"entryPoint": 314, | |
"id": 815, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_decode_t_uint256": { | |
"entryPoint": 5026, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_decode_t_uint8": { | |
"entryPoint": 4972, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_decode_tuple_t_uint8t_uint256": { | |
"entryPoint": 5047, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 2 | |
}, | |
"abi_encode_t_stringliteral_0834332998841f4faf1e45383c184a5d759f958db3d5de703adf5d0bf923f6c6_to_t_string_memory_ptr_fromStack": { | |
"entryPoint": 5461, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"abi_encode_t_uint256_to_t_uint256_fromStack": { | |
"entryPoint": 5111, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 0 | |
}, | |
"abi_encode_tuple_t_stringliteral_0834332998841f4faf1e45383c184a5d759f958db3d5de703adf5d0bf923f6c6__to_t_string_memory_ptr__fromStack_reversed": { | |
"entryPoint": 5496, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": { | |
"entryPoint": 5126, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"allocate_unbounded": { | |
"entryPoint": null, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 1 | |
}, | |
"array_storeLengthForEncoding_t_string_memory_ptr_fromStack": { | |
"entryPoint": 5365, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"checked_add_t_int256": { | |
"entryPoint": 5605, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"checked_div_t_int256": { | |
"entryPoint": 5842, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"checked_div_t_uint256": { | |
"entryPoint": 5316, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"checked_div_t_uint64": { | |
"entryPoint": 5267, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"checked_mul_t_int256": { | |
"entryPoint": 5722, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"checked_sub_t_int256": { | |
"entryPoint": 5538, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"cleanup_t_int256": { | |
"entryPoint": 5528, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"cleanup_t_uint256": { | |
"entryPoint": 4993, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"cleanup_t_uint64": { | |
"entryPoint": 5153, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"cleanup_t_uint8": { | |
"entryPoint": 4936, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"mod_t_int256": { | |
"entryPoint": 5673, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"negate_t_int256": { | |
"entryPoint": 5948, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"panic_error_0x11": { | |
"entryPoint": 5220, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"panic_error_0x12": { | |
"entryPoint": 5173, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": { | |
"entryPoint": null, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": { | |
"entryPoint": 4931, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"store_literal_in_memory_0834332998841f4faf1e45383c184a5d759f958db3d5de703adf5d0bf923f6c6": { | |
"entryPoint": 5382, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 0 | |
}, | |
"validator_revert_t_uint256": { | |
"entryPoint": 5003, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 0 | |
}, | |
"validator_revert_t_uint8": { | |
"entryPoint": 4949, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 0 | |
} | |
}, | |
"generatedSources": [ | |
{ | |
"ast": { | |
"nodeType": "YulBlock", | |
"src": "0:6160:3", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "47:35:3", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "57:19:3", | |
"value": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "73:2:3", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "mload", | |
"nodeType": "YulIdentifier", | |
"src": "67:5:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "67:9:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "57:6:3" | |
} | |
] | |
} | |
] | |
}, | |
"name": "allocate_unbounded", | |
"nodeType": "YulFunctionDefinition", | |
"returnVariables": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulTypedName", | |
"src": "40:6:3", | |
"type": "" | |
} | |
], | |
"src": "7:75:3" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "177:28:3", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "194:1:3", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "197:1:3", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "187:6:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "187:12:3" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "187:12:3" | |
} | |
] | |
}, | |
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", | |
"nodeType": "YulFunctionDefinition", | |
"src": "88:117:3" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "300:28:3", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "317:1:3", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "320:1:3", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "310:6:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "310:12:3" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "310:12:3" | |
} | |
] | |
}, | |
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", | |
"nodeType": "YulFunctionDefinition", | |
"src": "211:117:3" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "377:43:3", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "387:27:3", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "402:5:3" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "409:4:3", | |
"type": "", | |
"value": "0xff" | |
} | |
], | |
"functionName": { | |
"name": "and", | |
"nodeType": "YulIdentifier", | |
"src": "398:3:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "398:16:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulIdentifier", | |
"src": "387:7:3" | |
} | |
] | |
} | |
] | |
}, | |
"name": "cleanup_t_uint8", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "359:5:3", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulTypedName", | |
"src": "369:7:3", | |
"type": "" | |
} | |
], | |
"src": "334:86:3" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "467:77:3", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "522:16:3", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "531:1:3", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "534:1:3", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "524:6:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "524:12:3" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "524:12:3" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "490:5:3" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "513:5:3" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint8", | |
"nodeType": "YulIdentifier", | |
"src": "497:15:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "497:22:3" | |
} | |
], | |
"functionName": { | |
"name": "eq", | |
"nodeType": "YulIdentifier", | |
"src": "487:2:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "487:33:3" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "480:6:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "480:41:3" | |
}, | |
"nodeType": "YulIf", | |
"src": "477:61:3" | |
} | |
] | |
}, | |
"name": "validator_revert_t_uint8", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "460:5:3", | |
"type": "" | |
} | |
], | |
"src": "426:118:3" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "600:85:3", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "610:29:3", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "632:6:3" | |
} | |
], | |
"functionName": { | |
"name": "calldataload", | |
"nodeType": "YulIdentifier", | |
"src": "619:12:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "619:20:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "610:5:3" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "673:5:3" | |
} | |
], | |
"functionName": { | |
"name": "validator_revert_t_uint8", | |
"nodeType": "YulIdentifier", | |
"src": "648:24:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "648:31:3" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "648:31:3" | |
} | |
] | |
}, | |
"name": "abi_decode_t_uint8", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "578:6:3", | |
"type": "" | |
}, | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "586:3:3", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "594:5:3", | |
"type": "" | |
} | |
], | |
"src": "550:135:3" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "736:32:3", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "746:16:3", | |
"value": { | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "757:5:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulIdentifier", | |
"src": "746:7:3" | |
} | |
] | |
} | |
] | |
}, | |
"name": "cleanup_t_uint256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "718:5:3", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulTypedName", | |
"src": "728:7:3", | |
"type": "" | |
} | |
], | |
"src": "691:77:3" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "817:79:3", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "874:16:3", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "883:1:3", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "886:1:3", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "876:6:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "876:12:3" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "876:12:3" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "840:5:3" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "865:5:3" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "847:17:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "847:24:3" | |
} | |
], | |
"functionName": { | |
"name": "eq", | |
"nodeType": "YulIdentifier", | |
"src": "837:2:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "837:35:3" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "830:6:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "830:43:3" | |
}, | |
"nodeType": "YulIf", | |
"src": "827:63:3" | |
} | |
] | |
}, | |
"name": "validator_revert_t_uint256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "810:5:3", | |
"type": "" | |
} | |
], | |
"src": "774:122:3" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "954:87:3", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "964:29:3", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "986:6:3" | |
} | |
], | |
"functionName": { | |
"name": "calldataload", | |
"nodeType": "YulIdentifier", | |
"src": "973:12:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "973:20:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "964:5:3" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "1029:5:3" | |
} | |
], | |
"functionName": { | |
"name": "validator_revert_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "1002:26:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1002:33:3" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1002:33:3" | |
} | |
] | |
}, | |
"name": "abi_decode_t_uint256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "932:6:3", | |
"type": "" | |
}, | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "940:3:3", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "948:5:3", | |
"type": "" | |
} | |
], | |
"src": "902:139:3" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1128:389:3", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1174:83:3", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", | |
"nodeType": "YulIdentifier", | |
"src": "1176:77:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1176:79:3" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1176:79:3" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "1149:7:3" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "1158:9:3" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "1145:3:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1145:23:3" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1170:2:3", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "slt", | |
"nodeType": "YulIdentifier", | |
"src": "1141:3:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1141:32:3" | |
}, | |
"nodeType": "YulIf", | |
"src": "1138:119:3" | |
}, | |
{ | |
"nodeType": "YulBlock", | |
"src": "1267:115:3", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "1282:15:3", | |
"value": { | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1296:1:3", | |
"type": "", | |
"value": "0" | |
}, | |
"variables": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "1286:6:3", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "1311:61:3", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "1344:9:3" | |
}, | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "1355:6:3" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "1340:3:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1340:22:3" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "1364:7:3" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_t_uint8", | |
"nodeType": "YulIdentifier", | |
"src": "1321:18:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1321:51:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "1311:6:3" | |
} | |
] | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulBlock", | |
"src": "1392:118:3", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "1407:16:3", | |
"value": { | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1421:2:3", | |
"type": "", | |
"value": "32" | |
}, | |
"variables": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "1411:6:3", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "1437:63:3", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "1472:9:3" | |
}, | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "1483:6:3" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "1468:3:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1468:22:3" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "1492:7:3" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "1447:20:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1447:53:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value1", | |
"nodeType": "YulIdentifier", | |
"src": "1437:6:3" | |
} | |
] | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_decode_tuple_t_uint8t_uint256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "1090:9:3", | |
"type": "" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulTypedName", | |
"src": "1101:7:3", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "1113:6:3", | |
"type": "" | |
}, | |
{ | |
"name": "value1", | |
"nodeType": "YulTypedName", | |
"src": "1121:6:3", | |
"type": "" | |
} | |
], | |
"src": "1047:470:3" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1588:53:3", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "1605:3:3" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "1628:5:3" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "1610:17:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1610:24:3" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "1598:6:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1598:37:3" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1598:37:3" | |
} | |
] | |
}, | |
"name": "abi_encode_t_uint256_to_t_uint256_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "1576:5:3", | |
"type": "" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "1583:3:3", | |
"type": "" | |
} | |
], | |
"src": "1523:118:3" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1745:124:3", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "1755:26:3", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "1767:9:3" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1778:2:3", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "1763:3:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1763:18:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "1755:4:3" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "1835:6:3" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "1848:9:3" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1859:1:3", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "1844:3:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1844:17:3" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_uint256_to_t_uint256_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "1791:43:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1791:71:3" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1791:71:3" | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "1717:9:3", | |
"type": "" | |
}, | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "1729:6:3", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "1740:4:3", | |
"type": "" | |
} | |
], | |
"src": "1647:222:3" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1919:57:3", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "1929:41:3", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "1944:5:3" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1951:18:3", | |
"type": "", | |
"value": "0xffffffffffffffff" | |
} | |
], | |
"functionName": { | |
"name": "and", | |
"nodeType": "YulIdentifier", | |
"src": "1940:3:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1940:30:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulIdentifier", | |
"src": "1929:7:3" | |
} | |
] | |
} | |
] | |
}, | |
"name": "cleanup_t_uint64", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "1901:5:3", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulTypedName", | |
"src": "1911:7:3", | |
"type": "" | |
} | |
], | |
"src": "1875:101:3" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "2010:152:3", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2027:1:3", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2030:77:3", | |
"type": "", | |
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "2020:6:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2020:88:3" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "2020:88:3" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2124:1:3", | |
"type": "", | |
"value": "4" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2127:4:3", | |
"type": "", | |
"value": "0x12" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "2117:6:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2117:15:3" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "2117:15:3" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2148:1:3", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2151:4:3", | |
"type": "", | |
"value": "0x24" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "2141:6:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2141:15:3" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "2141:15:3" | |
} | |
] | |
}, | |
"name": "panic_error_0x12", | |
"nodeType": "YulFunctionDefinition", | |
"src": "1982:180:3" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "2196:152:3", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2213:1:3", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2216:77:3", | |
"type": "", | |
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "2206:6:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2206:88:3" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "2206:88:3" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2310:1:3", | |
"type": "", | |
"value": "4" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2313:4:3", | |
"type": "", | |
"value": "0x11" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "2303:6:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2303:15:3" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "2303:15:3" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2334:1:3", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2337:4:3", | |
"type": "", | |
"value": "0x24" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "2327:6:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2327:15:3" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "2327:15:3" | |
} | |
] | |
}, | |
"name": "panic_error_0x11", | |
"nodeType": "YulFunctionDefinition", | |
"src": "2168:180:3" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "2395:141:3", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "2405:24:3", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "2427:1:3" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint64", | |
"nodeType": "YulIdentifier", | |
"src": "2410:16:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2410:19:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "2405:1:3" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "2438:24:3", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "2460:1:3" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint64", | |
"nodeType": "YulIdentifier", | |
"src": "2443:16:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2443:19:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "2438:1:3" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "2484:22:3", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "panic_error_0x12", | |
"nodeType": "YulIdentifier", | |
"src": "2486:16:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2486:18:3" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "2486:18:3" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "2481:1:3" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "2474:6:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2474:9:3" | |
}, | |
"nodeType": "YulIf", | |
"src": "2471:35:3" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "2516:14:3", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "2525:1:3" | |
}, | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "2528:1:3" | |
} | |
], | |
"functionName": { | |
"name": "div", | |
"nodeType": "YulIdentifier", | |
"src": "2521:3:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2521:9:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "r", | |
"nodeType": "YulIdentifier", | |
"src": "2516:1:3" | |
} | |
] | |
} | |
] | |
}, | |
"name": "checked_div_t_uint64", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "x", | |
"nodeType": "YulTypedName", | |
"src": "2384:1:3", | |
"type": "" | |
}, | |
{ | |
"name": "y", | |
"nodeType": "YulTypedName", | |
"src": "2387:1:3", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "r", | |
"nodeType": "YulTypedName", | |
"src": "2393:1:3", | |
"type": "" | |
} | |
], | |
"src": "2354:182:3" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "2584:143:3", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "2594:25:3", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "2617:1:3" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "2599:17:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2599:20:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "2594:1:3" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "2628:25:3", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "2651:1:3" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "2633:17:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2633:20:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "2628:1:3" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "2675:22:3", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "panic_error_0x12", | |
"nodeType": "YulIdentifier", | |
"src": "2677:16:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2677:18:3" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "2677:18:3" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "2672:1:3" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "2665:6:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2665:9:3" | |
}, | |
"nodeType": "YulIf", | |
"src": "2662:35:3" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "2707:14:3", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "2716:1:3" | |
}, | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "2719:1:3" | |
} | |
], | |
"functionName": { | |
"name": "div", | |
"nodeType": "YulIdentifier", | |
"src": "2712:3:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2712:9:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "r", | |
"nodeType": "YulIdentifier", | |
"src": "2707:1:3" | |
} | |
] | |
} | |
] | |
}, | |
"name": "checked_div_t_uint256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "x", | |
"nodeType": "YulTypedName", | |
"src": "2573:1:3", | |
"type": "" | |
}, | |
{ | |
"name": "y", | |
"nodeType": "YulTypedName", | |
"src": "2576:1:3", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "r", | |
"nodeType": "YulTypedName", | |
"src": "2582:1:3", | |
"type": "" | |
} | |
], | |
"src": "2542:185:3" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "2829:73:3", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "2846:3:3" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "2851:6:3" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "2839:6:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2839:19:3" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "2839:19:3" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "2867:29:3", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "2886:3:3" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2891:4:3", | |
"type": "", | |
"value": "0x20" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "2882:3:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2882:14:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "updated_pos", | |
"nodeType": "YulIdentifier", | |
"src": "2867:11:3" | |
} | |
] | |
} | |
] | |
}, | |
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "2801:3:3", | |
"type": "" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulTypedName", | |
"src": "2806:6:3", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "updated_pos", | |
"nodeType": "YulTypedName", | |
"src": "2817:11:3", | |
"type": "" | |
} | |
], | |
"src": "2733:169:3" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "3014:138:3", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "3036:6:3" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "3044:1:3", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "3032:3:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3032:14:3" | |
}, | |
{ | |
"hexValue": "42616c616e636572206d617468206f6e6c792063616e2068616e646c65207371", | |
"kind": "string", | |
"nodeType": "YulLiteral", | |
"src": "3048:34:3", | |
"type": "", | |
"value": "Balancer math only can handle sq" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "3025:6:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3025:58:3" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "3025:58:3" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "3104:6:3" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "3112:2:3", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "3100:3:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3100:15:3" | |
}, | |
{ | |
"hexValue": "7561726520726f6f747320616e64206375626520726f6f7473", | |
"kind": "string", | |
"nodeType": "YulLiteral", | |
"src": "3117:27:3", | |
"type": "", | |
"value": "uare roots and cube roots" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "3093:6:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3093:52:3" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "3093:52:3" | |
} | |
] | |
}, | |
"name": "store_literal_in_memory_0834332998841f4faf1e45383c184a5d759f958db3d5de703adf5d0bf923f6c6", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulTypedName", | |
"src": "3006:6:3", | |
"type": "" | |
} | |
], | |
"src": "2908:244:3" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "3304:220:3", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "3314:74:3", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "3380:3:3" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "3385:2:3", | |
"type": "", | |
"value": "57" | |
} | |
], | |
"functionName": { | |
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "3321:58:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3321:67:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "3314:3:3" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "3486:3:3" | |
} | |
], | |
"functionName": { | |
"name": "store_literal_in_memory_0834332998841f4faf1e45383c184a5d759f958db3d5de703adf5d0bf923f6c6", | |
"nodeType": "YulIdentifier", | |
"src": "3397:88:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3397:93:3" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "3397:93:3" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "3499:19:3", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "3510:3:3" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "3515:2:3", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "3506:3:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3506:12:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "end", | |
"nodeType": "YulIdentifier", | |
"src": "3499:3:3" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_t_stringliteral_0834332998841f4faf1e45383c184a5d759f958db3d5de703adf5d0bf923f6c6_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "3292:3:3", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "3300:3:3", | |
"type": "" | |
} | |
], | |
"src": "3158:366:3" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "3701:248:3", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "3711:26:3", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "3723:9:3" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "3734:2:3", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "3719:3:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3719:18:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "3711:4:3" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "3758:9:3" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "3769:1:3", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "3754:3:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3754:17:3" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "3777:4:3" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "3783:9:3" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "3773:3:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3773:20:3" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "3747:6:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3747:47:3" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "3747:47:3" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "3803:139:3", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "3937:4:3" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_stringliteral_0834332998841f4faf1e45383c184a5d759f958db3d5de703adf5d0bf923f6c6_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "3811:124:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3811:131:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "3803:4:3" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_stringliteral_0834332998841f4faf1e45383c184a5d759f958db3d5de703adf5d0bf923f6c6__to_t_string_memory_ptr__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "3681:9:3", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "3696:4:3", | |
"type": "" | |
} | |
], | |
"src": "3530:419:3" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "3999:32:3", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "4009:16:3", | |
"value": { | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "4020:5:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulIdentifier", | |
"src": "4009:7:3" | |
} | |
] | |
} | |
] | |
}, | |
"name": "cleanup_t_int256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "3981:5:3", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulTypedName", | |
"src": "3991:7:3", | |
"type": "" | |
} | |
], | |
"src": "3955:76:3" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "4081:328:3", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "4091:24:3", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "4113:1:3" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_int256", | |
"nodeType": "YulIdentifier", | |
"src": "4096:16:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4096:19:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "4091:1:3" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "4124:24:3", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "4146:1:3" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_int256", | |
"nodeType": "YulIdentifier", | |
"src": "4129:16:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4129:19:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "4124:1:3" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "4157:17:3", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "4169:1:3" | |
}, | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "4172:1:3" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "4165:3:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4165:9:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "diff", | |
"nodeType": "YulIdentifier", | |
"src": "4157:4:3" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "4380:22:3", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "panic_error_0x11", | |
"nodeType": "YulIdentifier", | |
"src": "4382:16:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4382:18:3" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "4382:18:3" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "4306:1:3" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "4309:1:3", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "slt", | |
"nodeType": "YulIdentifier", | |
"src": "4302:3:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4302:9:3" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "4295:6:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4295:17:3" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "diff", | |
"nodeType": "YulIdentifier", | |
"src": "4318:4:3" | |
}, | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "4324:1:3" | |
} | |
], | |
"functionName": { | |
"name": "sgt", | |
"nodeType": "YulIdentifier", | |
"src": "4314:3:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4314:12:3" | |
} | |
], | |
"functionName": { | |
"name": "and", | |
"nodeType": "YulIdentifier", | |
"src": "4291:3:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4291:36:3" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "4349:1:3" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "4352:1:3", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "slt", | |
"nodeType": "YulIdentifier", | |
"src": "4345:3:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4345:9:3" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "diff", | |
"nodeType": "YulIdentifier", | |
"src": "4360:4:3" | |
}, | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "4366:1:3" | |
} | |
], | |
"functionName": { | |
"name": "slt", | |
"nodeType": "YulIdentifier", | |
"src": "4356:3:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4356:12:3" | |
} | |
], | |
"functionName": { | |
"name": "and", | |
"nodeType": "YulIdentifier", | |
"src": "4341:3:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4341:28:3" | |
} | |
], | |
"functionName": { | |
"name": "or", | |
"nodeType": "YulIdentifier", | |
"src": "4275:2:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4275:104:3" | |
}, | |
"nodeType": "YulIf", | |
"src": "4272:130:3" | |
} | |
] | |
}, | |
"name": "checked_sub_t_int256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "x", | |
"nodeType": "YulTypedName", | |
"src": "4067:1:3", | |
"type": "" | |
}, | |
{ | |
"name": "y", | |
"nodeType": "YulTypedName", | |
"src": "4070:1:3", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "diff", | |
"nodeType": "YulTypedName", | |
"src": "4076:4:3", | |
"type": "" | |
} | |
], | |
"src": "4037:372:3" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "4458:332:3", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "4468:24:3", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "4490:1:3" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_int256", | |
"nodeType": "YulIdentifier", | |
"src": "4473:16:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4473:19:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "4468:1:3" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "4501:24:3", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "4523:1:3" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_int256", | |
"nodeType": "YulIdentifier", | |
"src": "4506:16:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4506:19:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "4501:1:3" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "4534:16:3", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "4545:1:3" | |
}, | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "4548:1:3" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "4541:3:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4541:9:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "sum", | |
"nodeType": "YulIdentifier", | |
"src": "4534:3:3" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "4761:22:3", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "panic_error_0x11", | |
"nodeType": "YulIdentifier", | |
"src": "4763:16:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4763:18:3" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "4763:18:3" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "4681:1:3" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "4684:1:3", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "slt", | |
"nodeType": "YulIdentifier", | |
"src": "4677:3:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4677:9:3" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "4670:6:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4670:17:3" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "sum", | |
"nodeType": "YulIdentifier", | |
"src": "4693:3:3" | |
}, | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "4698:1:3" | |
} | |
], | |
"functionName": { | |
"name": "slt", | |
"nodeType": "YulIdentifier", | |
"src": "4689:3:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4689:11:3" | |
} | |
], | |
"functionName": { | |
"name": "and", | |
"nodeType": "YulIdentifier", | |
"src": "4666:3:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4666:35:3" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "4723:1:3" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "4726:1:3", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "slt", | |
"nodeType": "YulIdentifier", | |
"src": "4719:3:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4719:9:3" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "sum", | |
"nodeType": "YulIdentifier", | |
"src": "4741:3:3" | |
}, | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "4746:1:3" | |
} | |
], | |
"functionName": { | |
"name": "slt", | |
"nodeType": "YulIdentifier", | |
"src": "4737:3:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4737:11:3" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "4730:6:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4730:19:3" | |
} | |
], | |
"functionName": { | |
"name": "and", | |
"nodeType": "YulIdentifier", | |
"src": "4715:3:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4715:35:3" | |
} | |
], | |
"functionName": { | |
"name": "or", | |
"nodeType": "YulIdentifier", | |
"src": "4650:2:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4650:110:3" | |
}, | |
"nodeType": "YulIf", | |
"src": "4647:136:3" | |
} | |
] | |
}, | |
"name": "checked_add_t_int256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "x", | |
"nodeType": "YulTypedName", | |
"src": "4445:1:3", | |
"type": "" | |
}, | |
{ | |
"name": "y", | |
"nodeType": "YulTypedName", | |
"src": "4448:1:3", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "sum", | |
"nodeType": "YulTypedName", | |
"src": "4454:3:3", | |
"type": "" | |
} | |
], | |
"src": "4415:375:3" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "4829:141:3", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "4839:24:3", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "4861:1:3" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_int256", | |
"nodeType": "YulIdentifier", | |
"src": "4844:16:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4844:19:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "4839:1:3" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "4872:24:3", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "4894:1:3" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_int256", | |
"nodeType": "YulIdentifier", | |
"src": "4877:16:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4877:19:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "4872:1:3" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "4918:22:3", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "panic_error_0x12", | |
"nodeType": "YulIdentifier", | |
"src": "4920:16:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4920:18:3" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "4920:18:3" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "4915:1:3" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "4908:6:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4908:9:3" | |
}, | |
"nodeType": "YulIf", | |
"src": "4905:35:3" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "4949:15:3", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "4959:1:3" | |
}, | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "4962:1:3" | |
} | |
], | |
"functionName": { | |
"name": "smod", | |
"nodeType": "YulIdentifier", | |
"src": "4954:4:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4954:10:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "r", | |
"nodeType": "YulIdentifier", | |
"src": "4949:1:3" | |
} | |
] | |
} | |
] | |
}, | |
"name": "mod_t_int256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "x", | |
"nodeType": "YulTypedName", | |
"src": "4818:1:3", | |
"type": "" | |
}, | |
{ | |
"name": "y", | |
"nodeType": "YulTypedName", | |
"src": "4821:1:3", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "r", | |
"nodeType": "YulTypedName", | |
"src": "4827:1:3", | |
"type": "" | |
} | |
], | |
"src": "4796:174:3" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "5023:509:3", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "5033:24:3", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "5055:1:3" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_int256", | |
"nodeType": "YulIdentifier", | |
"src": "5038:16:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5038:19:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "5033:1:3" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "5066:24:3", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "5088:1:3" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_int256", | |
"nodeType": "YulIdentifier", | |
"src": "5071:16:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5071:19:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "5066:1:3" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "5099:28:3", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "5122:1:3" | |
}, | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "5125:1:3" | |
} | |
], | |
"functionName": { | |
"name": "mul", | |
"nodeType": "YulIdentifier", | |
"src": "5118:3:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5118:9:3" | |
}, | |
"variables": [ | |
{ | |
"name": "product_raw", | |
"nodeType": "YulTypedName", | |
"src": "5103:11:3", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "5136:40:3", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "product_raw", | |
"nodeType": "YulIdentifier", | |
"src": "5164:11:3" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_int256", | |
"nodeType": "YulIdentifier", | |
"src": "5147:16:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5147:29:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "product", | |
"nodeType": "YulIdentifier", | |
"src": "5136:7:3" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "5303:22:3", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "panic_error_0x11", | |
"nodeType": "YulIdentifier", | |
"src": "5305:16:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5305:18:3" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "5305:18:3" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "5221:1:3" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "5224:1:3", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "slt", | |
"nodeType": "YulIdentifier", | |
"src": "5217:3:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5217:9:3" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "5231:1:3" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "5234:66:3", | |
"type": "", | |
"value": "0x8000000000000000000000000000000000000000000000000000000000000000" | |
} | |
], | |
"functionName": { | |
"name": "eq", | |
"nodeType": "YulIdentifier", | |
"src": "5228:2:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5228:73:3" | |
} | |
], | |
"functionName": { | |
"name": "and", | |
"nodeType": "YulIdentifier", | |
"src": "5213:3:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5213:89:3" | |
}, | |
"nodeType": "YulIf", | |
"src": "5210:115:3" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "5503:22:3", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "panic_error_0x11", | |
"nodeType": "YulIdentifier", | |
"src": "5505:16:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5505:18:3" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "5505:18:3" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "5435:1:3" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "5428:6:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5428:9:3" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "5458:1:3" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "product", | |
"nodeType": "YulIdentifier", | |
"src": "5466:7:3" | |
}, | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "5475:1:3" | |
} | |
], | |
"functionName": { | |
"name": "sdiv", | |
"nodeType": "YulIdentifier", | |
"src": "5461:4:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5461:16:3" | |
} | |
], | |
"functionName": { | |
"name": "eq", | |
"nodeType": "YulIdentifier", | |
"src": "5455:2:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5455:23:3" | |
} | |
], | |
"functionName": { | |
"name": "or", | |
"nodeType": "YulIdentifier", | |
"src": "5408:2:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5408:84:3" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "5388:6:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5388:114:3" | |
}, | |
"nodeType": "YulIf", | |
"src": "5385:140:3" | |
} | |
] | |
}, | |
"name": "checked_mul_t_int256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "x", | |
"nodeType": "YulTypedName", | |
"src": "5006:1:3", | |
"type": "" | |
}, | |
{ | |
"name": "y", | |
"nodeType": "YulTypedName", | |
"src": "5009:1:3", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "product", | |
"nodeType": "YulTypedName", | |
"src": "5015:7:3", | |
"type": "" | |
} | |
], | |
"src": "4976:556:3" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "5579:344:3", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "5589:24:3", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "5611:1:3" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_int256", | |
"nodeType": "YulIdentifier", | |
"src": "5594:16:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5594:19:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "5589:1:3" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "5622:24:3", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "5644:1:3" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_int256", | |
"nodeType": "YulIdentifier", | |
"src": "5627:16:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5627:19:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "5622:1:3" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "5668:22:3", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "panic_error_0x12", | |
"nodeType": "YulIdentifier", | |
"src": "5670:16:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5670:18:3" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "5670:18:3" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "5665:1:3" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "5658:6:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5658:9:3" | |
}, | |
"nodeType": "YulIf", | |
"src": "5655:35:3" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "5870:22:3", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "panic_error_0x11", | |
"nodeType": "YulIdentifier", | |
"src": "5872:16:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5872:18:3" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "5872:18:3" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "5759:1:3" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "5762:66:3", | |
"type": "", | |
"value": "0x8000000000000000000000000000000000000000000000000000000000000000" | |
} | |
], | |
"functionName": { | |
"name": "eq", | |
"nodeType": "YulIdentifier", | |
"src": "5756:2:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5756:73:3" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "5846:1:3" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "5853:1:3", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "5856:1:3", | |
"type": "", | |
"value": "1" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "5849:3:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5849:9:3" | |
} | |
], | |
"functionName": { | |
"name": "eq", | |
"nodeType": "YulIdentifier", | |
"src": "5843:2:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5843:16:3" | |
} | |
], | |
"functionName": { | |
"name": "and", | |
"nodeType": "YulIdentifier", | |
"src": "5739:3:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5739:130:3" | |
}, | |
"nodeType": "YulIf", | |
"src": "5736:156:3" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "5902:15:3", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "5912:1:3" | |
}, | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "5915:1:3" | |
} | |
], | |
"functionName": { | |
"name": "sdiv", | |
"nodeType": "YulIdentifier", | |
"src": "5907:4:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5907:10:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "r", | |
"nodeType": "YulIdentifier", | |
"src": "5902:1:3" | |
} | |
] | |
} | |
] | |
}, | |
"name": "checked_div_t_int256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "x", | |
"nodeType": "YulTypedName", | |
"src": "5568:1:3", | |
"type": "" | |
}, | |
{ | |
"name": "y", | |
"nodeType": "YulTypedName", | |
"src": "5571:1:3", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "r", | |
"nodeType": "YulTypedName", | |
"src": "5577:1:3", | |
"type": "" | |
} | |
], | |
"src": "5538:385:3" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "5968:189:3", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "5978:32:3", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "6004:5:3" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_int256", | |
"nodeType": "YulIdentifier", | |
"src": "5987:16:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5987:23:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "5978:5:3" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "6100:22:3", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "panic_error_0x11", | |
"nodeType": "YulIdentifier", | |
"src": "6102:16:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6102:18:3" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "6102:18:3" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "6025:5:3" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "6032:66:3", | |
"type": "", | |
"value": "0x8000000000000000000000000000000000000000000000000000000000000000" | |
} | |
], | |
"functionName": { | |
"name": "eq", | |
"nodeType": "YulIdentifier", | |
"src": "6022:2:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6022:77:3" | |
}, | |
"nodeType": "YulIf", | |
"src": "6019:103:3" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "6131:20:3", | |
"value": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "6142:1:3", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "6145:5:3" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "6138:3:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6138:13:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "ret", | |
"nodeType": "YulIdentifier", | |
"src": "6131:3:3" | |
} | |
] | |
} | |
] | |
}, | |
"name": "negate_t_int256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "5954:5:3", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "ret", | |
"nodeType": "YulTypedName", | |
"src": "5964:3:3", | |
"type": "" | |
} | |
], | |
"src": "5929:228:3" | |
} | |
] | |
}, | |
"contents": "{\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function cleanup_t_uint8(value) -> cleaned {\n cleaned := and(value, 0xff)\n }\n\n function validator_revert_t_uint8(value) {\n if iszero(eq(value, cleanup_t_uint8(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint8(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint8(value)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_uint8t_uint256(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint8(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n }\n\n function cleanup_t_uint64(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffff)\n }\n\n function panic_error_0x12() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x12)\n revert(0, 0x24)\n }\n\n function panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function checked_div_t_uint64(x, y) -> r {\n x := cleanup_t_uint64(x)\n y := cleanup_t_uint64(y)\n if iszero(y) { panic_error_0x12() }\n\n r := div(x, y)\n }\n\n function checked_div_t_uint256(x, y) -> r {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n if iszero(y) { panic_error_0x12() }\n\n r := div(x, y)\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function store_literal_in_memory_0834332998841f4faf1e45383c184a5d759f958db3d5de703adf5d0bf923f6c6(memPtr) {\n\n mstore(add(memPtr, 0), \"Balancer math only can handle sq\")\n\n mstore(add(memPtr, 32), \"uare roots and cube roots\")\n\n }\n\n function abi_encode_t_stringliteral_0834332998841f4faf1e45383c184a5d759f958db3d5de703adf5d0bf923f6c6_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 57)\n store_literal_in_memory_0834332998841f4faf1e45383c184a5d759f958db3d5de703adf5d0bf923f6c6(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_0834332998841f4faf1e45383c184a5d759f958db3d5de703adf5d0bf923f6c6__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_0834332998841f4faf1e45383c184a5d759f958db3d5de703adf5d0bf923f6c6_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function cleanup_t_int256(value) -> cleaned {\n cleaned := value\n }\n\n function checked_sub_t_int256(x, y) -> diff {\n x := cleanup_t_int256(x)\n y := cleanup_t_int256(y)\n diff := sub(x, y)\n\n // underflow, if y >= 0 and diff > x\n // overflow, if y < 0 and diff < x\n if or(\n and(iszero(slt(y, 0)), sgt(diff, x)),\n and(slt(y, 0), slt(diff, x))\n ) { panic_error_0x11() }\n\n }\n\n function checked_add_t_int256(x, y) -> sum {\n x := cleanup_t_int256(x)\n y := cleanup_t_int256(y)\n sum := add(x, y)\n\n // overflow, if x >= 0 and sum < y\n // underflow, if x < 0 and sum >= y\n if or(\n and(iszero(slt(x, 0)), slt(sum, y)),\n and(slt(x, 0), iszero(slt(sum, y)))\n ) { panic_error_0x11() }\n\n }\n\n function mod_t_int256(x, y) -> r {\n x := cleanup_t_int256(x)\n y := cleanup_t_int256(y)\n if iszero(y) { panic_error_0x12() }\n r := smod(x, y)\n }\n\n function checked_mul_t_int256(x, y) -> product {\n x := cleanup_t_int256(x)\n y := cleanup_t_int256(y)\n let product_raw := mul(x, y)\n product := cleanup_t_int256(product_raw)\n\n // special case\n if and(slt(x, 0), eq(y, 0x8000000000000000000000000000000000000000000000000000000000000000)) { panic_error_0x11() }\n\n // overflow, if x != 0 and y != product/x\n if iszero(\n or(\n iszero(x),\n eq(y, sdiv(product, x))\n )\n ) { panic_error_0x11() }\n\n }\n\n function checked_div_t_int256(x, y) -> r {\n x := cleanup_t_int256(x)\n y := cleanup_t_int256(y)\n if iszero(y) { panic_error_0x12() }\n\n // overflow for minVal / -1\n if and(\n eq(x, 0x8000000000000000000000000000000000000000000000000000000000000000),\n eq(y, sub(0, 1))\n ) { panic_error_0x11() }\n\n r := sdiv(x, y)\n }\n\n function negate_t_int256(value) -> ret {\n value := cleanup_t_int256(value)\n if eq(value, 0x8000000000000000000000000000000000000000000000000000000000000000) { panic_error_0x11() }\n ret := sub(0, value)\n }\n\n}\n", | |
"id": 3, | |
"language": "Yul", | |
"name": "#utility.yul" | |
} | |
], | |
"immutableReferences": {}, | |
"linkReferences": {}, | |
"object": "608060405234801561001057600080fd5b506004361061002b5760003560e01c8063a019d71414610030575b600080fd5b61004a600480360381019061004591906113b7565b610060565b6040516100579190611406565b60405180910390f35b600060028360ff16036100ad57633b9aca0061009c838560ff16670de0b6b3a764000061008d9190611493565b67ffffffffffffffff1661013a565b6100a691906114c4565b9050610134565b60038360ff16036100f95764e8d4a510006100e8838560ff16670de0b6b3a76400006100d99190611493565b67ffffffffffffffff1661013a565b6100f291906114c4565b9050610134565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161012b90611578565b60405180910390fd5b92915050565b600080820361015357670de0b6b3a764000090506102fb565b6000830361016457600090506102fb565b610176600060ff85901c146006610301565b60008390506101bc68056bc75e2d631000007f40000000000000000000000000000000000000000000000000000000000000006101b391906114c4565b84106007610301565b600083905060008267016345785d8a0000670de0b6b3a76400006101e091906115a2565b128015610207575067016345785d8a0000670de0b6b3a764000061020491906115e5565b83125b1561027c57600061021784610314565b9050670de0b6b3a764000083670de0b6b3a7640000836102379190611629565b610241919061165a565b61024b91906116d2565b83670de0b6b3a76400008361026091906116d2565b61026a919061165a565b61027491906115e5565b915050610293565b8161028684610595565b610290919061165a565b90505b670de0b6b3a7640000816102a791906116d2565b90506102ec817ffffffffffffffffffffffffffffffffffffffffffffffffdc702bd3a30fc0000131580156102e5575068070c1cc73b00c800008213155b6008610301565b6102f581610be9565b93505050505b92915050565b816103105761030f816112b0565b5b5050565b6000670de0b6b3a76400008261032a919061165a565b915060006ec097ce7bc90715b34b9f10000000008361034991906115e5565b6ec097ce7bc90715b34b9f1000000000808561036591906115a2565b61036f919061165a565b61037991906116d2565b905060006ec097ce7bc90715b34b9f10000000008283610399919061165a565b6103a391906116d2565b9050600082905060008190506ec097ce7bc90715b34b9f100000000083836103cb919061165a565b6103d591906116d2565b91506003826103e491906116d2565b816103ef91906115e5565b90506ec097ce7bc90715b34b9f1000000000838361040d919061165a565b61041791906116d2565b915060058261042691906116d2565b8161043191906115e5565b90506ec097ce7bc90715b34b9f1000000000838361044f919061165a565b61045991906116d2565b915060078261046891906116d2565b8161047391906115e5565b90506ec097ce7bc90715b34b9f10000000008383610491919061165a565b61049b91906116d2565b91506009826104aa91906116d2565b816104b591906115e5565b90506ec097ce7bc90715b34b9f100000000083836104d3919061165a565b6104dd91906116d2565b9150600b826104ec91906116d2565b816104f791906115e5565b90506ec097ce7bc90715b34b9f10000000008383610515919061165a565b61051f91906116d2565b9150600d8261052e91906116d2565b8161053991906115e5565b90506ec097ce7bc90715b34b9f10000000008383610557919061165a565b61056191906116d2565b9150600f8261057091906116d2565b8161057b91906115e5565b905060028161058a919061165a565b945050505050919050565b6000670de0b6b3a76400008212156105de576105ce82670de0b6b3a7640000806105bf919061165a565b6105c991906116d2565b610595565b6105d79061173c565b9050610be4565b6000670de0b6b3a7640000770195e54c5dd42177f53a27172fa9ec63026282700000000061060c919061165a565b831261065057770195e54c5dd42177f53a27172fa9ec6302628270000000008361063691906116d2565b92506806f05b59d3b20000008161064d91906115e5565b90505b670de0b6b3a76400006b1425982cf597cd205cef7380610670919061165a565b83126106a8576b1425982cf597cd205cef73808361068e91906116d2565b92506803782dace9d9000000816106a591906115e5565b90505b6064816106b5919061165a565b90506064836106c4919061165a565b92506e01855144814a7ff805980ff00840008312610725576e01855144814a7ff805980ff008400068056bc75e2d6310000084610701919061165a565b61070b91906116d2565b925068ad78ebc5ac620000008161072291906115e5565b90505b6b02df0ab5a80a22c61ab5a700831261077e576b02df0ab5a80a22c61ab5a70068056bc75e2d631000008461075a919061165a565b61076491906116d2565b92506856bc75e2d6310000008161077b91906115e5565b90505b693f1fce3da636ea5cf85083126107d357693f1fce3da636ea5cf85068056bc75e2d63100000846107af919061165a565b6107b991906116d2565b9250682b5e3af16b18800000816107d091906115e5565b90505b690127fa27722cc06cc5e2831261082857690127fa27722cc06cc5e268056bc75e2d6310000084610804919061165a565b61080e91906116d2565b92506815af1d78b58c4000008161082591906115e5565b90505b68280e60114edb805d03831261087b5768280e60114edb805d0368056bc75e2d6310000084610857919061165a565b61086191906116d2565b9250680ad78ebc5ac62000008161087891906115e5565b90505b680ebc5fb4174612111083126108ce57680ebc5fb4174612111068056bc75e2d63100000846108aa919061165a565b6108b491906116d2565b925068056bc75e2d63100000816108cb91906115e5565b90505b6808f00f760a4b2db55d8312610921576808f00f760a4b2db55d68056bc75e2d63100000846108fd919061165a565b61090791906116d2565b92506802b5e3af16b18800008161091e91906115e5565b90505b6806f5f17757889379378312610974576806f5f177578893793768056bc75e2d6310000084610950919061165a565b61095a91906116d2565b925068015af1d78b58c400008161097191906115e5565b90505b6806248f33704b28660383126109c6576806248f33704b28660368056bc75e2d63100000846109a3919061165a565b6109ad91906116d2565b925067ad78ebc5ac620000816109c391906115e5565b90505b6805c548670b9510e7ac8312610a18576805c548670b9510e7ac68056bc75e2d63100000846109f5919061165a565b6109ff91906116d2565b92506756bc75e2d631000081610a1591906115e5565b90505b600068056bc75e2d6310000084610a2f91906115e5565b68056bc75e2d631000008086610a4591906115a2565b610a4f919061165a565b610a5991906116d2565b9050600068056bc75e2d631000008283610a73919061165a565b610a7d91906116d2565b90506000829050600081905068056bc75e2d631000008383610a9f919061165a565b610aa991906116d2565b9150600382610ab891906116d2565b81610ac391906115e5565b905068056bc75e2d631000008383610adb919061165a565b610ae591906116d2565b9150600582610af491906116d2565b81610aff91906115e5565b905068056bc75e2d631000008383610b17919061165a565b610b2191906116d2565b9150600782610b3091906116d2565b81610b3b91906115e5565b905068056bc75e2d631000008383610b53919061165a565b610b5d91906116d2565b9150600982610b6c91906116d2565b81610b7791906115e5565b905068056bc75e2d631000008383610b8f919061165a565b610b9991906116d2565b9150600b82610ba891906116d2565b81610bb391906115e5565b9050600281610bc2919061165a565b905060648186610bd291906115e5565b610bdc91906116d2565b955050505050505b919050565b6000610c2e7ffffffffffffffffffffffffffffffffffffffffffffffffdc702bd3a30fc00008312158015610c27575068070c1cc73b00c800008313155b6009610301565b6000821215610c6e57610c4982610c449061173c565b610be9565b670de0b6b3a764000080610c5d919061165a565b610c6791906116d2565b90506112ab565b60006806f05b59d3b20000008312610cb7576806f05b59d3b200000083610c9591906115a2565b9250770195e54c5dd42177f53a27172fa9ec6302628270000000009050610cf8565b6803782dace9d90000008312610cf2576803782dace9d900000083610cdc91906115a2565b92506b1425982cf597cd205cef73809050610cf7565b600190505b5b606483610d05919061165a565b9250600068056bc75e2d63100000905068ad78ebc5ac620000008412610d6e5768ad78ebc5ac6200000084610d3a91906115a2565b935068056bc75e2d631000006e01855144814a7ff805980ff008400082610d61919061165a565b610d6b91906116d2565b90505b6856bc75e2d6310000008412610dc4576856bc75e2d63100000084610d9391906115a2565b935068056bc75e2d631000006b02df0ab5a80a22c61ab5a70082610db7919061165a565b610dc191906116d2565b90505b682b5e3af16b188000008412610e1857682b5e3af16b1880000084610de991906115a2565b935068056bc75e2d63100000693f1fce3da636ea5cf85082610e0b919061165a565b610e1591906116d2565b90505b6815af1d78b58c4000008412610e6c576815af1d78b58c40000084610e3d91906115a2565b935068056bc75e2d63100000690127fa27722cc06cc5e282610e5f919061165a565b610e6991906116d2565b90505b680ad78ebc5ac62000008412610ebf57680ad78ebc5ac620000084610e9191906115a2565b935068056bc75e2d6310000068280e60114edb805d0382610eb2919061165a565b610ebc91906116d2565b90505b68056bc75e2d631000008412610f125768056bc75e2d6310000084610ee491906115a2565b935068056bc75e2d63100000680ebc5fb4174612111082610f05919061165a565b610f0f91906116d2565b90505b6802b5e3af16b18800008412610f65576802b5e3af16b188000084610f3791906115a2565b935068056bc75e2d631000006808f00f760a4b2db55d82610f58919061165a565b610f6291906116d2565b90505b68015af1d78b58c400008412610fb85768015af1d78b58c4000084610f8a91906115a2565b935068056bc75e2d631000006806f5f177578893793782610fab919061165a565b610fb591906116d2565b90505b600068056bc75e2d63100000905060008590508082610fd791906115e5565b9150600268056bc75e2d631000008783610ff1919061165a565b610ffb91906116d2565b61100591906116d2565b9050808261101391906115e5565b9150600368056bc75e2d63100000878361102d919061165a565b61103791906116d2565b61104191906116d2565b9050808261104f91906115e5565b9150600468056bc75e2d631000008783611069919061165a565b61107391906116d2565b61107d91906116d2565b9050808261108b91906115e5565b9150600568056bc75e2d6310000087836110a5919061165a565b6110af91906116d2565b6110b991906116d2565b905080826110c791906115e5565b9150600668056bc75e2d6310000087836110e1919061165a565b6110eb91906116d2565b6110f591906116d2565b9050808261110391906115e5565b9150600768056bc75e2d63100000878361111d919061165a565b61112791906116d2565b61113191906116d2565b9050808261113f91906115e5565b9150600868056bc75e2d631000008783611159919061165a565b61116391906116d2565b61116d91906116d2565b9050808261117b91906115e5565b9150600968056bc75e2d631000008783611195919061165a565b61119f91906116d2565b6111a991906116d2565b905080826111b791906115e5565b9150600a68056bc75e2d6310000087836111d1919061165a565b6111db91906116d2565b6111e591906116d2565b905080826111f391906115e5565b9150600b68056bc75e2d63100000878361120d919061165a565b61121791906116d2565b61122191906116d2565b9050808261122f91906115e5565b9150600c68056bc75e2d631000008783611249919061165a565b61125391906116d2565b61125d91906116d2565b9050808261126b91906115e5565b915060648468056bc75e2d631000008486611286919061165a565b61129091906116d2565b61129a919061165a565b6112a491906116d2565b9450505050505b919050565b6112c0816242414c60e81b6112c3565b50565b60008160e81c62ffffff1690506030600a840601600a840493506030600a850601600a850494506030600a8606018360081b60230160181b8160101b8360081b850101810160c81b7f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260076024528060445260646000fd5b600080fd5b600060ff82169050919050565b61135e81611348565b811461136957600080fd5b50565b60008135905061137b81611355565b92915050565b6000819050919050565b61139481611381565b811461139f57600080fd5b50565b6000813590506113b18161138b565b92915050565b600080604083850312156113ce576113cd611343565b5b60006113dc8582860161136c565b92505060206113ed858286016113a2565b9150509250929050565b61140081611381565b82525050565b600060208201905061141b60008301846113f7565b92915050565b600067ffffffffffffffff82169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061149e82611421565b91506114a983611421565b9250826114b9576114b8611435565b5b828204905092915050565b60006114cf82611381565b91506114da83611381565b9250826114ea576114e9611435565b5b828204905092915050565b600082825260208201905092915050565b7f42616c616e636572206d617468206f6e6c792063616e2068616e646c6520737160008201527f7561726520726f6f747320616e64206375626520726f6f747300000000000000602082015250565b60006115626039836114f5565b915061156d82611506565b604082019050919050565b6000602082019050818103600083015261159181611555565b9050919050565b6000819050919050565b60006115ad82611598565b91506115b883611598565b92508282039050818112600084121682821360008512151617156115df576115de611464565b5b92915050565b60006115f082611598565b91506115fb83611598565b92508282019050828112156000831216838212600084121516171561162357611622611464565b5b92915050565b600061163482611598565b915061163f83611598565b92508261164f5761164e611435565b5b828207905092915050565b600061166582611598565b915061167083611598565b925082820261167e81611598565b91507f800000000000000000000000000000000000000000000000000000000000000084146000841216156116b6576116b5611464565b5b82820584148315176116cb576116ca611464565b5b5092915050565b60006116dd82611598565b91506116e883611598565b9250826116f8576116f7611435565b5b600160000383147f80000000000000000000000000000000000000000000000000000000000000008314161561173157611730611464565b5b828205905092915050565b600061174782611598565b91507f8000000000000000000000000000000000000000000000000000000000000000820361177957611778611464565b5b81600003905091905056fea2646970667358221220c21604cb2d038a6ebbafceadb53bb68b996854188c1e556c697cb8f18f55e68964736f6c63430008120033", | |
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x2B JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0xA019D714 EQ PUSH2 0x30 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4A PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x45 SWAP2 SWAP1 PUSH2 0x13B7 JUMP JUMPDEST PUSH2 0x60 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x57 SWAP2 SWAP1 PUSH2 0x1406 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP4 PUSH1 0xFF AND SUB PUSH2 0xAD JUMPI PUSH4 0x3B9ACA00 PUSH2 0x9C DUP4 DUP6 PUSH1 0xFF AND PUSH8 0xDE0B6B3A7640000 PUSH2 0x8D SWAP2 SWAP1 PUSH2 0x1493 JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH2 0x13A JUMP JUMPDEST PUSH2 0xA6 SWAP2 SWAP1 PUSH2 0x14C4 JUMP JUMPDEST SWAP1 POP PUSH2 0x134 JUMP JUMPDEST PUSH1 0x3 DUP4 PUSH1 0xFF AND SUB PUSH2 0xF9 JUMPI PUSH5 0xE8D4A51000 PUSH2 0xE8 DUP4 DUP6 PUSH1 0xFF AND PUSH8 0xDE0B6B3A7640000 PUSH2 0xD9 SWAP2 SWAP1 PUSH2 0x1493 JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH2 0x13A JUMP JUMPDEST PUSH2 0xF2 SWAP2 SWAP1 PUSH2 0x14C4 JUMP JUMPDEST SWAP1 POP PUSH2 0x134 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x12B SWAP1 PUSH2 0x1578 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 SUB PUSH2 0x153 JUMPI PUSH8 0xDE0B6B3A7640000 SWAP1 POP PUSH2 0x2FB JUMP JUMPDEST PUSH1 0x0 DUP4 SUB PUSH2 0x164 JUMPI PUSH1 0x0 SWAP1 POP PUSH2 0x2FB JUMP JUMPDEST PUSH2 0x176 PUSH1 0x0 PUSH1 0xFF DUP6 SWAP1 SHR EQ PUSH1 0x6 PUSH2 0x301 JUMP JUMPDEST PUSH1 0x0 DUP4 SWAP1 POP PUSH2 0x1BC PUSH9 0x56BC75E2D63100000 PUSH32 0x4000000000000000000000000000000000000000000000000000000000000000 PUSH2 0x1B3 SWAP2 SWAP1 PUSH2 0x14C4 JUMP JUMPDEST DUP5 LT PUSH1 0x7 PUSH2 0x301 JUMP JUMPDEST PUSH1 0x0 DUP4 SWAP1 POP PUSH1 0x0 DUP3 PUSH8 0x16345785D8A0000 PUSH8 0xDE0B6B3A7640000 PUSH2 0x1E0 SWAP2 SWAP1 PUSH2 0x15A2 JUMP JUMPDEST SLT DUP1 ISZERO PUSH2 0x207 JUMPI POP PUSH8 0x16345785D8A0000 PUSH8 0xDE0B6B3A7640000 PUSH2 0x204 SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST DUP4 SLT JUMPDEST ISZERO PUSH2 0x27C JUMPI PUSH1 0x0 PUSH2 0x217 DUP5 PUSH2 0x314 JUMP JUMPDEST SWAP1 POP PUSH8 0xDE0B6B3A7640000 DUP4 PUSH8 0xDE0B6B3A7640000 DUP4 PUSH2 0x237 SWAP2 SWAP1 PUSH2 0x1629 JUMP JUMPDEST PUSH2 0x241 SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0x24B SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST DUP4 PUSH8 0xDE0B6B3A7640000 DUP4 PUSH2 0x260 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST PUSH2 0x26A SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0x274 SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x293 JUMP JUMPDEST DUP2 PUSH2 0x286 DUP5 PUSH2 0x595 JUMP JUMPDEST PUSH2 0x290 SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST SWAP1 POP JUMPDEST PUSH8 0xDE0B6B3A7640000 DUP2 PUSH2 0x2A7 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP1 POP PUSH2 0x2EC DUP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDC702BD3A30FC0000 SGT ISZERO DUP1 ISZERO PUSH2 0x2E5 JUMPI POP PUSH9 0x70C1CC73B00C80000 DUP3 SGT ISZERO JUMPDEST PUSH1 0x8 PUSH2 0x301 JUMP JUMPDEST PUSH2 0x2F5 DUP2 PUSH2 0xBE9 JUMP JUMPDEST SWAP4 POP POP POP POP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP2 PUSH2 0x310 JUMPI PUSH2 0x30F DUP2 PUSH2 0x12B0 JUMP JUMPDEST JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xDE0B6B3A7640000 DUP3 PUSH2 0x32A SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST SWAP2 POP PUSH1 0x0 PUSH15 0xC097CE7BC90715B34B9F1000000000 DUP4 PUSH2 0x349 SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST PUSH15 0xC097CE7BC90715B34B9F1000000000 DUP1 DUP6 PUSH2 0x365 SWAP2 SWAP1 PUSH2 0x15A2 JUMP JUMPDEST PUSH2 0x36F SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0x379 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH15 0xC097CE7BC90715B34B9F1000000000 DUP3 DUP4 PUSH2 0x399 SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0x3A3 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP3 SWAP1 POP PUSH1 0x0 DUP2 SWAP1 POP PUSH15 0xC097CE7BC90715B34B9F1000000000 DUP4 DUP4 PUSH2 0x3CB SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0x3D5 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP2 POP PUSH1 0x3 DUP3 PUSH2 0x3E4 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST DUP2 PUSH2 0x3EF SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP1 POP PUSH15 0xC097CE7BC90715B34B9F1000000000 DUP4 DUP4 PUSH2 0x40D SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0x417 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP2 POP PUSH1 0x5 DUP3 PUSH2 0x426 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST DUP2 PUSH2 0x431 SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP1 POP PUSH15 0xC097CE7BC90715B34B9F1000000000 DUP4 DUP4 PUSH2 0x44F SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0x459 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP2 POP PUSH1 0x7 DUP3 PUSH2 0x468 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST DUP2 PUSH2 0x473 SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP1 POP PUSH15 0xC097CE7BC90715B34B9F1000000000 DUP4 DUP4 PUSH2 0x491 SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0x49B SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP2 POP PUSH1 0x9 DUP3 PUSH2 0x4AA SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST DUP2 PUSH2 0x4B5 SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP1 POP PUSH15 0xC097CE7BC90715B34B9F1000000000 DUP4 DUP4 PUSH2 0x4D3 SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0x4DD SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP2 POP PUSH1 0xB DUP3 PUSH2 0x4EC SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST DUP2 PUSH2 0x4F7 SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP1 POP PUSH15 0xC097CE7BC90715B34B9F1000000000 DUP4 DUP4 PUSH2 0x515 SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0x51F SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP2 POP PUSH1 0xD DUP3 PUSH2 0x52E SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST DUP2 PUSH2 0x539 SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP1 POP PUSH15 0xC097CE7BC90715B34B9F1000000000 DUP4 DUP4 PUSH2 0x557 SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0x561 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP2 POP PUSH1 0xF DUP3 PUSH2 0x570 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST DUP2 PUSH2 0x57B SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP1 POP PUSH1 0x2 DUP2 PUSH2 0x58A SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST SWAP5 POP POP POP POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xDE0B6B3A7640000 DUP3 SLT ISZERO PUSH2 0x5DE JUMPI PUSH2 0x5CE DUP3 PUSH8 0xDE0B6B3A7640000 DUP1 PUSH2 0x5BF SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0x5C9 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST PUSH2 0x595 JUMP JUMPDEST PUSH2 0x5D7 SWAP1 PUSH2 0x173C JUMP JUMPDEST SWAP1 POP PUSH2 0xBE4 JUMP JUMPDEST PUSH1 0x0 PUSH8 0xDE0B6B3A7640000 PUSH24 0x195E54C5DD42177F53A27172FA9EC630262827000000000 PUSH2 0x60C SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST DUP4 SLT PUSH2 0x650 JUMPI PUSH24 0x195E54C5DD42177F53A27172FA9EC630262827000000000 DUP4 PUSH2 0x636 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP3 POP PUSH9 0x6F05B59D3B2000000 DUP2 PUSH2 0x64D SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP1 POP JUMPDEST PUSH8 0xDE0B6B3A7640000 PUSH12 0x1425982CF597CD205CEF7380 PUSH2 0x670 SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST DUP4 SLT PUSH2 0x6A8 JUMPI PUSH12 0x1425982CF597CD205CEF7380 DUP4 PUSH2 0x68E SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP3 POP PUSH9 0x3782DACE9D9000000 DUP2 PUSH2 0x6A5 SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP1 POP JUMPDEST PUSH1 0x64 DUP2 PUSH2 0x6B5 SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST SWAP1 POP PUSH1 0x64 DUP4 PUSH2 0x6C4 SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST SWAP3 POP PUSH15 0x1855144814A7FF805980FF0084000 DUP4 SLT PUSH2 0x725 JUMPI PUSH15 0x1855144814A7FF805980FF0084000 PUSH9 0x56BC75E2D63100000 DUP5 PUSH2 0x701 SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0x70B SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP3 POP PUSH9 0xAD78EBC5AC62000000 DUP2 PUSH2 0x722 SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP1 POP JUMPDEST PUSH12 0x2DF0AB5A80A22C61AB5A700 DUP4 SLT PUSH2 0x77E JUMPI PUSH12 0x2DF0AB5A80A22C61AB5A700 PUSH9 0x56BC75E2D63100000 DUP5 PUSH2 0x75A SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0x764 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP3 POP PUSH9 0x56BC75E2D631000000 DUP2 PUSH2 0x77B SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP1 POP JUMPDEST PUSH10 0x3F1FCE3DA636EA5CF850 DUP4 SLT PUSH2 0x7D3 JUMPI PUSH10 0x3F1FCE3DA636EA5CF850 PUSH9 0x56BC75E2D63100000 DUP5 PUSH2 0x7AF SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0x7B9 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP3 POP PUSH9 0x2B5E3AF16B18800000 DUP2 PUSH2 0x7D0 SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP1 POP JUMPDEST PUSH10 0x127FA27722CC06CC5E2 DUP4 SLT PUSH2 0x828 JUMPI PUSH10 0x127FA27722CC06CC5E2 PUSH9 0x56BC75E2D63100000 DUP5 PUSH2 0x804 SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0x80E SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP3 POP PUSH9 0x15AF1D78B58C400000 DUP2 PUSH2 0x825 SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP1 POP JUMPDEST PUSH9 0x280E60114EDB805D03 DUP4 SLT PUSH2 0x87B JUMPI PUSH9 0x280E60114EDB805D03 PUSH9 0x56BC75E2D63100000 DUP5 PUSH2 0x857 SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0x861 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP3 POP PUSH9 0xAD78EBC5AC6200000 DUP2 PUSH2 0x878 SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP1 POP JUMPDEST PUSH9 0xEBC5FB41746121110 DUP4 SLT PUSH2 0x8CE JUMPI PUSH9 0xEBC5FB41746121110 PUSH9 0x56BC75E2D63100000 DUP5 PUSH2 0x8AA SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0x8B4 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP3 POP PUSH9 0x56BC75E2D63100000 DUP2 PUSH2 0x8CB SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP1 POP JUMPDEST PUSH9 0x8F00F760A4B2DB55D DUP4 SLT PUSH2 0x921 JUMPI PUSH9 0x8F00F760A4B2DB55D PUSH9 0x56BC75E2D63100000 DUP5 PUSH2 0x8FD SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0x907 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP3 POP PUSH9 0x2B5E3AF16B1880000 DUP2 PUSH2 0x91E SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP1 POP JUMPDEST PUSH9 0x6F5F1775788937937 DUP4 SLT PUSH2 0x974 JUMPI PUSH9 0x6F5F1775788937937 PUSH9 0x56BC75E2D63100000 DUP5 PUSH2 0x950 SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0x95A SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP3 POP PUSH9 0x15AF1D78B58C40000 DUP2 PUSH2 0x971 SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP1 POP JUMPDEST PUSH9 0x6248F33704B286603 DUP4 SLT PUSH2 0x9C6 JUMPI PUSH9 0x6248F33704B286603 PUSH9 0x56BC75E2D63100000 DUP5 PUSH2 0x9A3 SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0x9AD SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP3 POP PUSH8 0xAD78EBC5AC620000 DUP2 PUSH2 0x9C3 SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP1 POP JUMPDEST PUSH9 0x5C548670B9510E7AC DUP4 SLT PUSH2 0xA18 JUMPI PUSH9 0x5C548670B9510E7AC PUSH9 0x56BC75E2D63100000 DUP5 PUSH2 0x9F5 SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0x9FF SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP3 POP PUSH8 0x56BC75E2D6310000 DUP2 PUSH2 0xA15 SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP1 POP JUMPDEST PUSH1 0x0 PUSH9 0x56BC75E2D63100000 DUP5 PUSH2 0xA2F SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST PUSH9 0x56BC75E2D63100000 DUP1 DUP7 PUSH2 0xA45 SWAP2 SWAP1 PUSH2 0x15A2 JUMP JUMPDEST PUSH2 0xA4F SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0xA59 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH9 0x56BC75E2D63100000 DUP3 DUP4 PUSH2 0xA73 SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0xA7D SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP3 SWAP1 POP PUSH1 0x0 DUP2 SWAP1 POP PUSH9 0x56BC75E2D63100000 DUP4 DUP4 PUSH2 0xA9F SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0xAA9 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP2 POP PUSH1 0x3 DUP3 PUSH2 0xAB8 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST DUP2 PUSH2 0xAC3 SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP1 POP PUSH9 0x56BC75E2D63100000 DUP4 DUP4 PUSH2 0xADB SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0xAE5 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP2 POP PUSH1 0x5 DUP3 PUSH2 0xAF4 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST DUP2 PUSH2 0xAFF SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP1 POP PUSH9 0x56BC75E2D63100000 DUP4 DUP4 PUSH2 0xB17 SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0xB21 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP2 POP PUSH1 0x7 DUP3 PUSH2 0xB30 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST DUP2 PUSH2 0xB3B SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP1 POP PUSH9 0x56BC75E2D63100000 DUP4 DUP4 PUSH2 0xB53 SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0xB5D SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP2 POP PUSH1 0x9 DUP3 PUSH2 0xB6C SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST DUP2 PUSH2 0xB77 SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP1 POP PUSH9 0x56BC75E2D63100000 DUP4 DUP4 PUSH2 0xB8F SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0xB99 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP2 POP PUSH1 0xB DUP3 PUSH2 0xBA8 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST DUP2 PUSH2 0xBB3 SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP1 POP PUSH1 0x2 DUP2 PUSH2 0xBC2 SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST SWAP1 POP PUSH1 0x64 DUP2 DUP7 PUSH2 0xBD2 SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST PUSH2 0xBDC SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP6 POP POP POP POP POP POP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xC2E PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDC702BD3A30FC0000 DUP4 SLT ISZERO DUP1 ISZERO PUSH2 0xC27 JUMPI POP PUSH9 0x70C1CC73B00C80000 DUP4 SGT ISZERO JUMPDEST PUSH1 0x9 PUSH2 0x301 JUMP JUMPDEST PUSH1 0x0 DUP3 SLT ISZERO PUSH2 0xC6E JUMPI PUSH2 0xC49 DUP3 PUSH2 0xC44 SWAP1 PUSH2 0x173C JUMP JUMPDEST PUSH2 0xBE9 JUMP JUMPDEST PUSH8 0xDE0B6B3A7640000 DUP1 PUSH2 0xC5D SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0xC67 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP1 POP PUSH2 0x12AB JUMP JUMPDEST PUSH1 0x0 PUSH9 0x6F05B59D3B2000000 DUP4 SLT PUSH2 0xCB7 JUMPI PUSH9 0x6F05B59D3B2000000 DUP4 PUSH2 0xC95 SWAP2 SWAP1 PUSH2 0x15A2 JUMP JUMPDEST SWAP3 POP PUSH24 0x195E54C5DD42177F53A27172FA9EC630262827000000000 SWAP1 POP PUSH2 0xCF8 JUMP JUMPDEST PUSH9 0x3782DACE9D9000000 DUP4 SLT PUSH2 0xCF2 JUMPI PUSH9 0x3782DACE9D9000000 DUP4 PUSH2 0xCDC SWAP2 SWAP1 PUSH2 0x15A2 JUMP JUMPDEST SWAP3 POP PUSH12 0x1425982CF597CD205CEF7380 SWAP1 POP PUSH2 0xCF7 JUMP JUMPDEST PUSH1 0x1 SWAP1 POP JUMPDEST JUMPDEST PUSH1 0x64 DUP4 PUSH2 0xD05 SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST SWAP3 POP PUSH1 0x0 PUSH9 0x56BC75E2D63100000 SWAP1 POP PUSH9 0xAD78EBC5AC62000000 DUP5 SLT PUSH2 0xD6E JUMPI PUSH9 0xAD78EBC5AC62000000 DUP5 PUSH2 0xD3A SWAP2 SWAP1 PUSH2 0x15A2 JUMP JUMPDEST SWAP4 POP PUSH9 0x56BC75E2D63100000 PUSH15 0x1855144814A7FF805980FF0084000 DUP3 PUSH2 0xD61 SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0xD6B SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP1 POP JUMPDEST PUSH9 0x56BC75E2D631000000 DUP5 SLT PUSH2 0xDC4 JUMPI PUSH9 0x56BC75E2D631000000 DUP5 PUSH2 0xD93 SWAP2 SWAP1 PUSH2 0x15A2 JUMP JUMPDEST SWAP4 POP PUSH9 0x56BC75E2D63100000 PUSH12 0x2DF0AB5A80A22C61AB5A700 DUP3 PUSH2 0xDB7 SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0xDC1 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP1 POP JUMPDEST PUSH9 0x2B5E3AF16B18800000 DUP5 SLT PUSH2 0xE18 JUMPI PUSH9 0x2B5E3AF16B18800000 DUP5 PUSH2 0xDE9 SWAP2 SWAP1 PUSH2 0x15A2 JUMP JUMPDEST SWAP4 POP PUSH9 0x56BC75E2D63100000 PUSH10 0x3F1FCE3DA636EA5CF850 DUP3 PUSH2 0xE0B SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0xE15 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP1 POP JUMPDEST PUSH9 0x15AF1D78B58C400000 DUP5 SLT PUSH2 0xE6C JUMPI PUSH9 0x15AF1D78B58C400000 DUP5 PUSH2 0xE3D SWAP2 SWAP1 PUSH2 0x15A2 JUMP JUMPDEST SWAP4 POP PUSH9 0x56BC75E2D63100000 PUSH10 0x127FA27722CC06CC5E2 DUP3 PUSH2 0xE5F SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0xE69 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP1 POP JUMPDEST PUSH9 0xAD78EBC5AC6200000 DUP5 SLT PUSH2 0xEBF JUMPI PUSH9 0xAD78EBC5AC6200000 DUP5 PUSH2 0xE91 SWAP2 SWAP1 PUSH2 0x15A2 JUMP JUMPDEST SWAP4 POP PUSH9 0x56BC75E2D63100000 PUSH9 0x280E60114EDB805D03 DUP3 PUSH2 0xEB2 SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0xEBC SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP1 POP JUMPDEST PUSH9 0x56BC75E2D63100000 DUP5 SLT PUSH2 0xF12 JUMPI PUSH9 0x56BC75E2D63100000 DUP5 PUSH2 0xEE4 SWAP2 SWAP1 PUSH2 0x15A2 JUMP JUMPDEST SWAP4 POP PUSH9 0x56BC75E2D63100000 PUSH9 0xEBC5FB41746121110 DUP3 PUSH2 0xF05 SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0xF0F SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP1 POP JUMPDEST PUSH9 0x2B5E3AF16B1880000 DUP5 SLT PUSH2 0xF65 JUMPI PUSH9 0x2B5E3AF16B1880000 DUP5 PUSH2 0xF37 SWAP2 SWAP1 PUSH2 0x15A2 JUMP JUMPDEST SWAP4 POP PUSH9 0x56BC75E2D63100000 PUSH9 0x8F00F760A4B2DB55D DUP3 PUSH2 0xF58 SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0xF62 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP1 POP JUMPDEST PUSH9 0x15AF1D78B58C40000 DUP5 SLT PUSH2 0xFB8 JUMPI PUSH9 0x15AF1D78B58C40000 DUP5 PUSH2 0xF8A SWAP2 SWAP1 PUSH2 0x15A2 JUMP JUMPDEST SWAP4 POP PUSH9 0x56BC75E2D63100000 PUSH9 0x6F5F1775788937937 DUP3 PUSH2 0xFAB SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0xFB5 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP1 POP JUMPDEST PUSH1 0x0 PUSH9 0x56BC75E2D63100000 SWAP1 POP PUSH1 0x0 DUP6 SWAP1 POP DUP1 DUP3 PUSH2 0xFD7 SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP2 POP PUSH1 0x2 PUSH9 0x56BC75E2D63100000 DUP8 DUP4 PUSH2 0xFF1 SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0xFFB SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST PUSH2 0x1005 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP1 POP DUP1 DUP3 PUSH2 0x1013 SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP2 POP PUSH1 0x3 PUSH9 0x56BC75E2D63100000 DUP8 DUP4 PUSH2 0x102D SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0x1037 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST PUSH2 0x1041 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP1 POP DUP1 DUP3 PUSH2 0x104F SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP2 POP PUSH1 0x4 PUSH9 0x56BC75E2D63100000 DUP8 DUP4 PUSH2 0x1069 SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0x1073 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST PUSH2 0x107D SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP1 POP DUP1 DUP3 PUSH2 0x108B SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP2 POP PUSH1 0x5 PUSH9 0x56BC75E2D63100000 DUP8 DUP4 PUSH2 0x10A5 SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0x10AF SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST PUSH2 0x10B9 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP1 POP DUP1 DUP3 PUSH2 0x10C7 SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP2 POP PUSH1 0x6 PUSH9 0x56BC75E2D63100000 DUP8 DUP4 PUSH2 0x10E1 SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0x10EB SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST PUSH2 0x10F5 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP1 POP DUP1 DUP3 PUSH2 0x1103 SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP2 POP PUSH1 0x7 PUSH9 0x56BC75E2D63100000 DUP8 DUP4 PUSH2 0x111D SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0x1127 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST PUSH2 0x1131 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP1 POP DUP1 DUP3 PUSH2 0x113F SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP2 POP PUSH1 0x8 PUSH9 0x56BC75E2D63100000 DUP8 DUP4 PUSH2 0x1159 SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0x1163 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST PUSH2 0x116D SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP1 POP DUP1 DUP3 PUSH2 0x117B SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP2 POP PUSH1 0x9 PUSH9 0x56BC75E2D63100000 DUP8 DUP4 PUSH2 0x1195 SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0x119F SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST PUSH2 0x11A9 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP1 POP DUP1 DUP3 PUSH2 0x11B7 SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP2 POP PUSH1 0xA PUSH9 0x56BC75E2D63100000 DUP8 DUP4 PUSH2 0x11D1 SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0x11DB SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST PUSH2 0x11E5 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP1 POP DUP1 DUP3 PUSH2 0x11F3 SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP2 POP PUSH1 0xB PUSH9 0x56BC75E2D63100000 DUP8 DUP4 PUSH2 0x120D SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0x1217 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST PUSH2 0x1221 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP1 POP DUP1 DUP3 PUSH2 0x122F SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP2 POP PUSH1 0xC PUSH9 0x56BC75E2D63100000 DUP8 DUP4 PUSH2 0x1249 SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0x1253 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST PUSH2 0x125D SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP1 POP DUP1 DUP3 PUSH2 0x126B SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP2 POP PUSH1 0x64 DUP5 PUSH9 0x56BC75E2D63100000 DUP5 DUP7 PUSH2 0x1286 SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0x1290 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST PUSH2 0x129A SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0x12A4 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP5 POP POP POP POP POP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x12C0 DUP2 PUSH3 0x42414C PUSH1 0xE8 SHL PUSH2 0x12C3 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0xE8 SHR PUSH3 0xFFFFFF AND SWAP1 POP PUSH1 0x30 PUSH1 0xA DUP5 MOD ADD PUSH1 0xA DUP5 DIV SWAP4 POP PUSH1 0x30 PUSH1 0xA DUP6 MOD ADD PUSH1 0xA DUP6 DIV SWAP5 POP PUSH1 0x30 PUSH1 0xA DUP7 MOD ADD DUP4 PUSH1 0x8 SHL PUSH1 0x23 ADD PUSH1 0x18 SHL DUP2 PUSH1 0x10 SHL DUP4 PUSH1 0x8 SHL DUP6 ADD ADD DUP2 ADD PUSH1 0xC8 SHL PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x4 MSTORE PUSH1 0x7 PUSH1 0x24 MSTORE DUP1 PUSH1 0x44 MSTORE PUSH1 0x64 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0xFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x135E DUP2 PUSH2 0x1348 JUMP JUMPDEST DUP2 EQ PUSH2 0x1369 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x137B DUP2 PUSH2 0x1355 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1394 DUP2 PUSH2 0x1381 JUMP JUMPDEST DUP2 EQ PUSH2 0x139F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x13B1 DUP2 PUSH2 0x138B JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x13CE JUMPI PUSH2 0x13CD PUSH2 0x1343 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x13DC DUP6 DUP3 DUP7 ADD PUSH2 0x136C JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x13ED DUP6 DUP3 DUP7 ADD PUSH2 0x13A2 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH2 0x1400 DUP2 PUSH2 0x1381 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x141B PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x13F7 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x149E DUP3 PUSH2 0x1421 JUMP JUMPDEST SWAP2 POP PUSH2 0x14A9 DUP4 PUSH2 0x1421 JUMP JUMPDEST SWAP3 POP DUP3 PUSH2 0x14B9 JUMPI PUSH2 0x14B8 PUSH2 0x1435 JUMP JUMPDEST JUMPDEST DUP3 DUP3 DIV SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x14CF DUP3 PUSH2 0x1381 JUMP JUMPDEST SWAP2 POP PUSH2 0x14DA DUP4 PUSH2 0x1381 JUMP JUMPDEST SWAP3 POP DUP3 PUSH2 0x14EA JUMPI PUSH2 0x14E9 PUSH2 0x1435 JUMP JUMPDEST JUMPDEST DUP3 DUP3 DIV SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x42616C616E636572206D617468206F6E6C792063616E2068616E646C65207371 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x7561726520726F6F747320616E64206375626520726F6F747300000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1562 PUSH1 0x39 DUP4 PUSH2 0x14F5 JUMP JUMPDEST SWAP2 POP PUSH2 0x156D DUP3 PUSH2 0x1506 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1591 DUP2 PUSH2 0x1555 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x15AD DUP3 PUSH2 0x1598 JUMP JUMPDEST SWAP2 POP PUSH2 0x15B8 DUP4 PUSH2 0x1598 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 SUB SWAP1 POP DUP2 DUP2 SLT PUSH1 0x0 DUP5 SLT AND DUP3 DUP3 SGT PUSH1 0x0 DUP6 SLT ISZERO AND OR ISZERO PUSH2 0x15DF JUMPI PUSH2 0x15DE PUSH2 0x1464 JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x15F0 DUP3 PUSH2 0x1598 JUMP JUMPDEST SWAP2 POP PUSH2 0x15FB DUP4 PUSH2 0x1598 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 ADD SWAP1 POP DUP3 DUP2 SLT ISZERO PUSH1 0x0 DUP4 SLT AND DUP4 DUP3 SLT PUSH1 0x0 DUP5 SLT ISZERO AND OR ISZERO PUSH2 0x1623 JUMPI PUSH2 0x1622 PUSH2 0x1464 JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1634 DUP3 PUSH2 0x1598 JUMP JUMPDEST SWAP2 POP PUSH2 0x163F DUP4 PUSH2 0x1598 JUMP JUMPDEST SWAP3 POP DUP3 PUSH2 0x164F JUMPI PUSH2 0x164E PUSH2 0x1435 JUMP JUMPDEST JUMPDEST DUP3 DUP3 SMOD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1665 DUP3 PUSH2 0x1598 JUMP JUMPDEST SWAP2 POP PUSH2 0x1670 DUP4 PUSH2 0x1598 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 MUL PUSH2 0x167E DUP2 PUSH2 0x1598 JUMP JUMPDEST SWAP2 POP PUSH32 0x8000000000000000000000000000000000000000000000000000000000000000 DUP5 EQ PUSH1 0x0 DUP5 SLT AND ISZERO PUSH2 0x16B6 JUMPI PUSH2 0x16B5 PUSH2 0x1464 JUMP JUMPDEST JUMPDEST DUP3 DUP3 SDIV DUP5 EQ DUP4 ISZERO OR PUSH2 0x16CB JUMPI PUSH2 0x16CA PUSH2 0x1464 JUMP JUMPDEST JUMPDEST POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x16DD DUP3 PUSH2 0x1598 JUMP JUMPDEST SWAP2 POP PUSH2 0x16E8 DUP4 PUSH2 0x1598 JUMP JUMPDEST SWAP3 POP DUP3 PUSH2 0x16F8 JUMPI PUSH2 0x16F7 PUSH2 0x1435 JUMP JUMPDEST JUMPDEST PUSH1 0x1 PUSH1 0x0 SUB DUP4 EQ PUSH32 0x8000000000000000000000000000000000000000000000000000000000000000 DUP4 EQ AND ISZERO PUSH2 0x1731 JUMPI PUSH2 0x1730 PUSH2 0x1464 JUMP JUMPDEST JUMPDEST DUP3 DUP3 SDIV SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1747 DUP3 PUSH2 0x1598 JUMP JUMPDEST SWAP2 POP PUSH32 0x8000000000000000000000000000000000000000000000000000000000000000 DUP3 SUB PUSH2 0x1779 JUMPI PUSH2 0x1778 PUSH2 0x1464 JUMP JUMPDEST JUMPDEST DUP2 PUSH1 0x0 SUB SWAP1 POP SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xC2 AND DIV 0xCB 0x2D SUB DUP11 PUSH15 0xBBAFCEADB53BB68B996854188C1E55 PUSH13 0x697CB8F18F55E68964736F6C63 NUMBER STOP ADDMOD SLT STOP CALLER ", | |
"sourceMap": "109:583:2:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;276:413;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;340:7;491:1;488;:4;;;485:63;;540:3;505:34;520:8;537:1;530:8;;:4;:8;;;;:::i;:::-;505:34;;:14;:34::i;:::-;:38;;;;:::i;:::-;498:45;;;;485:63;557:1;554;:4;;;551:64;;606:4;571:34;586:8;603:1;596:8;;:4;:8;;;;:::i;:::-;571:34;;:14;:34::i;:::-;:39;;;;:::i;:::-;564:46;;;;551:64;618:67;;;;;;;;;;:::i;:::-;;;;;;;;276:413;;;;;:::o;4856:2195:1:-;4914:7;4942:1;4937;:6;4933:131;;1926:4;5031:22;;;;4933:131;5083:1;5078;:6;5074:45;;5107:1;5100:8;;;;5074:45;5489:47;5510:1;5503:3;5498:1;:8;;:13;5392:1:0;5489:8:1;:47::i;:::-;5546:15;5571:1;5546:27;;5927:57;2116:4;3069:6;:24;;;;:::i;:::-;5936:1;:23;5443:1:0;5927:8:1;:57::i;:::-;5994:15;6019:1;5994:27;;6032:19;6085:8;2964:4;1926;2955:13;;;;:::i;:::-;6065:28;:60;;;;;3019:4;1926;3010:13;;;;:::i;:::-;6097:8;:28;6065:60;6061:684;;;6141:14;6158:16;6165:8;6158:6;:16::i;:::-;6141:33;;1926:4;6645:8;1926:4;6625:7;:16;;;;:::i;:::-;6624:29;;;;:::i;:::-;6623:40;;;;:::i;:::-;6612:8;1926:4;6592:7;:16;;;;:::i;:::-;6591:29;;;;:::i;:::-;:72;;;;:::i;:::-;6575:89;;6127:548;6061:684;;;6726:8;6710:13;6714:8;6710:3;:13::i;:::-;:24;;;;:::i;:::-;6695:39;;6061:684;1926:4;6754:22;;;;;:::i;:::-;;;6850:150;6896:12;2762:6;6872:36;;:76;;;;;2711:6;6912:12;:36;;6872:76;5500:1:0;6850:8:1;:150::i;:::-;7026:17;7030:12;7026:3;:17::i;:::-;7011:33;;;;;4856:2195;;;;;:::o;891:101:0:-;960:9;955:34;;971:18;979:9;971:7;:18::i;:::-;955:34;891:101;;:::o;19370:1714:1:-;19418:6;1926:4;19640:11;;;;;:::i;:::-;;;20012:8;2151:4;20050:1;:10;;;;:::i;:::-;2151:4;;20025:1;:10;;;;:::i;:::-;20024:21;;;;:::i;:::-;20023:38;;;;:::i;:::-;20012:49;;20071:16;2151:4;20095:1;20091;:5;;;;:::i;:::-;20090:16;;;;:::i;:::-;20071:35;;20187:10;20200:1;20187:14;;20315:16;20334:3;20315:22;;2151:4;20421:9;20415:3;:15;;;;:::i;:::-;20414:26;;;;:::i;:::-;20408:32;;20469:1;20463:3;:7;;;;:::i;:::-;20450:20;;;;;:::i;:::-;;;2151:4;20494:9;20488:3;:15;;;;:::i;:::-;20487:26;;;;:::i;:::-;20481:32;;20542:1;20536:3;:7;;;;:::i;:::-;20523:20;;;;;:::i;:::-;;;2151:4;20567:9;20561:3;:15;;;;:::i;:::-;20560:26;;;;:::i;:::-;20554:32;;20615:1;20609:3;:7;;;;:::i;:::-;20596:20;;;;;:::i;:::-;;;2151:4;20640:9;20634:3;:15;;;;:::i;:::-;20633:26;;;;:::i;:::-;20627:32;;20688:1;20682:3;:7;;;;:::i;:::-;20669:20;;;;;:::i;:::-;;;2151:4;20713:9;20707:3;:15;;;;:::i;:::-;20706:26;;;;:::i;:::-;20700:32;;20761:2;20755:3;:8;;;;:::i;:::-;20742:21;;;;;:::i;:::-;;;2151:4;20787:9;20781:3;:15;;;;:::i;:::-;20780:26;;;;:::i;:::-;20774:32;;20835:2;20829:3;:8;;;;:::i;:::-;20816:21;;;;;:::i;:::-;;;2151:4;20861:9;20855:3;:15;;;;:::i;:::-;20854:26;;;;:::i;:::-;20848:32;;20909:2;20903:3;:8;;;;:::i;:::-;20890:21;;;;;:::i;:::-;;;21076:1;21064:9;:13;;;;:::i;:::-;21057:20;;;;;;19370:1714;;;:::o;14145:4959::-;14190:6;1926:4;14212:1;:10;14208:382;;;14552:26;14576:1;1926:4;;14557:15;;;;:::i;:::-;14556:21;;;;:::i;:::-;14552:3;:26::i;:::-;14551:27;;;:::i;:::-;14543:36;;;;14208:382;15915:10;1926:4;3205:56;15948:11;;;;:::i;:::-;15943:1;:16;15939:114;;3205:56;15975:7;;;;;:::i;:::-;;;3149:21;16033:9;;;;;:::i;:::-;;;15939:114;1926:4;3368:28;16072:11;;;;:::i;:::-;16067:1;:16;16063:114;;3368:28;16099:7;;;;;:::i;:::-;;;3313:20;16157:9;;;;;:::i;:::-;;;16063:114;16315:3;16308:10;;;;;:::i;:::-;;;16333:3;16328:8;;;;;:::i;:::-;;;3534:34;16463:1;:7;16459:82;;3534:34;2116:4;16491:1;:10;;;;:::i;:::-;16490:17;;;;:::i;:::-;16486:21;;3477:22;16521:9;;;;;:::i;:::-;;;16459:82;3663:27;16555:1;:7;16551:82;;3663:27;2116:4;16583:1;:10;;;;:::i;:::-;16582:17;;;;:::i;:::-;16578:21;;3606:22;16613:9;;;;;:::i;:::-;;;16551:82;3784:24;16647:1;:7;16643:82;;3784:24;2116:4;16675:1;:10;;;;:::i;:::-;16674:17;;;;:::i;:::-;16670:21;;3728;16705:9;;;;;:::i;:::-;;;16643:82;3902:22;16739:1;:7;16735:82;;3902:22;2116:4;16767:1;:10;;;;:::i;:::-;16766:17;;;;:::i;:::-;16762:21;;3846;16797:9;;;;;:::i;:::-;;;16735:82;4018:21;16831:1;:7;16827:82;;4018:21;2116:4;16859:1;:10;;;;:::i;:::-;16858:17;;;;:::i;:::-;16854:21;;3962;16889:9;;;;;:::i;:::-;;;16827:82;4133:21;16923:1;:7;16919:82;;4133:21;2116:4;16951:1;:10;;;;:::i;:::-;16950:17;;;;:::i;:::-;16946:21;;4077;16981:9;;;;;:::i;:::-;;;16919:82;4248:21;17015:1;:7;17011:82;;4248:21;2116:4;17043:1;:10;;;;:::i;:::-;17042:17;;;;:::i;:::-;17038:21;;4192:20;17073:9;;;;;:::i;:::-;;;17011:82;4363:21;17107:1;:7;17103:82;;4363:21;2116:4;17135:1;:10;;;;:::i;:::-;17134:17;;;;:::i;:::-;17130:21;;4307:20;17165:9;;;;;:::i;:::-;;;17103:82;4480:21;17199:1;:8;17195:85;;4480:21;2116:4;17228:1;:10;;;;:::i;:::-;17227:18;;;;:::i;:::-;17223:22;;4423:20;17259:10;;;;;:::i;:::-;;;17195:85;4597:21;17294:1;:8;17290:85;;4597:21;2116:4;17323:1;:10;;;;:::i;:::-;17322:18;;;;:::i;:::-;17318:22;;4541:19;17354:10;;;;;:::i;:::-;;;17290:85;17877:8;2116:4;17915:1;:10;;;;:::i;:::-;2116:4;;17890:1;:10;;;;:::i;:::-;17889:21;;;;:::i;:::-;17888:38;;;;:::i;:::-;17877:49;;17936:16;2116:4;17960:1;17956;:5;;;;:::i;:::-;17955:16;;;;:::i;:::-;17936:35;;18052:10;18065:1;18052:14;;18180:16;18199:3;18180:22;;2116:4;18286:9;18280:3;:15;;;;:::i;:::-;18279:26;;;;:::i;:::-;18273:32;;18334:1;18328:3;:7;;;;:::i;:::-;18315:20;;;;;:::i;:::-;;;2116:4;18359:9;18353:3;:15;;;;:::i;:::-;18352:26;;;;:::i;:::-;18346:32;;18407:1;18401:3;:7;;;;:::i;:::-;18388:20;;;;;:::i;:::-;;;2116:4;18432:9;18426:3;:15;;;;:::i;:::-;18425:26;;;;:::i;:::-;18419:32;;18480:1;18474:3;:7;;;;:::i;:::-;18461:20;;;;;:::i;:::-;;;2116:4;18505:9;18499:3;:15;;;;:::i;:::-;18498:26;;;;:::i;:::-;18492:32;;18553:1;18547:3;:7;;;;:::i;:::-;18534:20;;;;;:::i;:::-;;;2116:4;18578:9;18572:3;:15;;;;:::i;:::-;18571:26;;;;:::i;:::-;18565:32;;18626:2;18620:3;:8;;;;:::i;:::-;18607:21;;;;;:::i;:::-;;;18800:1;18787:14;;;;;:::i;:::-;;;19094:3;19081:9;19075:3;:15;;;;:::i;:::-;19074:23;;;;:::i;:::-;19067:30;;;;;;;14145:4959;;;;:::o;7265:5379::-;7311:6;7329:89;2762:6;7338:1;:25;;:54;;;;;2711:6;7367:1;:25;;7338:54;5552:1:0;7329:8:1;:89::i;:::-;7437:1;7433;:5;7429:353;;;7763:7;7768:1;7767:2;;;:::i;:::-;7763:3;:7::i;:::-;1926:4;;7744:15;;;;:::i;:::-;7743:27;;;;:::i;:::-;7735:36;;;;7429:353;9083:14;3149:21;9111:1;:7;9107:220;;3149:21;9134:7;;;;;:::i;:::-;;;3205:56;9155:12;;9107:220;;;3313:20;9188:1;:7;9184:143;;3313:20;9211:7;;;;;:::i;:::-;;;3368:28;9232:12;;9184:143;;;9285:1;9275:11;;9184:143;9107:220;9482:3;9477:8;;;;;:::i;:::-;;;9698:14;2116:4;9698:23;;3477:22;9736:1;:7;9732:92;;3477:22;9759:7;;;;;:::i;:::-;;;2116:4;3534:34;9791:7;:12;;;;:::i;:::-;9790:23;;;;:::i;:::-;9780:33;;9732:92;3606:22;9837:1;:7;9833:92;;3606:22;9860:7;;;;;:::i;:::-;;;2116:4;3663:27;9892:7;:12;;;;:::i;:::-;9891:23;;;;:::i;:::-;9881:33;;9833:92;3728:21;9938:1;:7;9934:92;;3728:21;9961:7;;;;;:::i;:::-;;;2116:4;3784:24;9993:7;:12;;;;:::i;:::-;9992:23;;;;:::i;:::-;9982:33;;9934:92;3846:21;10039:1;:7;10035:92;;3846:21;10062:7;;;;;:::i;:::-;;;2116:4;3902:22;10094:7;:12;;;;:::i;:::-;10093:23;;;;:::i;:::-;10083:33;;10035:92;3962:21;10140:1;:7;10136:92;;3962:21;10163:7;;;;;:::i;:::-;;;2116:4;4018:21;10195:7;:12;;;;:::i;:::-;10194:23;;;;:::i;:::-;10184:33;;10136:92;4077:21;10241:1;:7;10237:92;;4077:21;10264:7;;;;;:::i;:::-;;;2116:4;4133:21;10296:7;:12;;;;:::i;:::-;10295:23;;;;:::i;:::-;10285:33;;10237:92;4192:20;10342:1;:7;10338:92;;4192:20;10365:7;;;;;:::i;:::-;;;2116:4;4248:21;10397:7;:12;;;;:::i;:::-;10396:23;;;;:::i;:::-;10386:33;;10338:92;4307:20;10443:1;:7;10439:92;;4307:20;10466:7;;;;;:::i;:::-;;;2116:4;4363:21;10498:7;:12;;;;:::i;:::-;10497:23;;;;:::i;:::-;10487:33;;10439:92;10835:16;2116:4;10835:25;;10925:11;11052:1;11045:8;;11076:4;11063:17;;;;;:::i;:::-;;;11348:1;2116:4;11333:1;11326:4;:8;;;;:::i;:::-;11325:19;;;;:::i;:::-;11324:25;;;;:::i;:::-;11317:32;;11372:4;11359:17;;;;;:::i;:::-;;;11418:1;2116:4;11403:1;11396:4;:8;;;;:::i;:::-;11395:19;;;;:::i;:::-;11394:25;;;;:::i;:::-;11387:32;;11442:4;11429:17;;;;;:::i;:::-;;;11488:1;2116:4;11473:1;11466:4;:8;;;;:::i;:::-;11465:19;;;;:::i;:::-;11464:25;;;;:::i;:::-;11457:32;;11512:4;11499:17;;;;;:::i;:::-;;;11558:1;2116:4;11543:1;11536:4;:8;;;;:::i;:::-;11535:19;;;;:::i;:::-;11534:25;;;;:::i;:::-;11527:32;;11582:4;11569:17;;;;;:::i;:::-;;;11628:1;2116:4;11613:1;11606:4;:8;;;;:::i;:::-;11605:19;;;;:::i;:::-;11604:25;;;;:::i;:::-;11597:32;;11652:4;11639:17;;;;;:::i;:::-;;;11698:1;2116:4;11683:1;11676:4;:8;;;;:::i;:::-;11675:19;;;;:::i;:::-;11674:25;;;;:::i;:::-;11667:32;;11722:4;11709:17;;;;;:::i;:::-;;;11768:1;2116:4;11753:1;11746:4;:8;;;;:::i;:::-;11745:19;;;;:::i;:::-;11744:25;;;;:::i;:::-;11737:32;;11792:4;11779:17;;;;;:::i;:::-;;;11838:1;2116:4;11823:1;11816:4;:8;;;;:::i;:::-;11815:19;;;;:::i;:::-;11814:25;;;;:::i;:::-;11807:32;;11862:4;11849:17;;;;;:::i;:::-;;;11908:2;2116:4;11893:1;11886:4;:8;;;;:::i;:::-;11885:19;;;;:::i;:::-;11884:26;;;;:::i;:::-;11877:33;;11933:4;11920:17;;;;;:::i;:::-;;;11979:2;2116:4;11964:1;11957:4;:8;;;;:::i;:::-;11956:19;;;;:::i;:::-;11955:26;;;;:::i;:::-;11948:33;;12004:4;11991:17;;;;;:::i;:::-;;;12050:2;2116:4;12035:1;12028:4;:8;;;;:::i;:::-;12027:19;;;;:::i;:::-;12026:26;;;;:::i;:::-;12019:33;;12075:4;12062:17;;;;;:::i;:::-;;;12634:3;12623:7;2116:4;12600:9;12590:7;:19;;;;:::i;:::-;12589:30;;;;:::i;:::-;12588:42;;;;:::i;:::-;12587:50;;;;:::i;:::-;12580:57;;;;;;7265:5379;;;;:::o;1422:126:0:-;1469:28;1477:9;1488:8;1469:28;;:7;:28::i;:::-;1422:126;:::o;1654:3370::-;1716:18;1752:6;1745:14;;1737:23;;1716:44;;2859:4;2854:2;2843:9;2839:18;2835:29;2901:2;2890:9;2886:18;2873:31;;2951:4;2946:2;2935:9;2931:18;2927:29;2993:2;2982:9;2978:18;2965:31;;3045:4;3040:2;3029:9;3025:18;3021:29;3730:10;3727:1;3723:18;3717:4;3713:29;3709:2;3705:38;3842:8;3838:2;3834:17;3824:6;3821:1;3817:14;3810:5;3806:26;3802:50;3785:15;3781:72;3776:3;3772:82;4372:66;4367:3;4360:79;4578:66;4572:4;4565:80;4720:1;4714:4;4707:15;4793:12;4787:4;4780:26;5012:3;5009:1;5002:14;88:117:3;197:1;194;187:12;334:86;369:7;409:4;402:5;398:16;387:27;;334:86;;;:::o;426:118::-;497:22;513:5;497:22;:::i;:::-;490:5;487:33;477:61;;534:1;531;524:12;477:61;426:118;:::o;550:135::-;594:5;632:6;619:20;610:29;;648:31;673:5;648:31;:::i;:::-;550:135;;;;:::o;691:77::-;728:7;757:5;746:16;;691:77;;;:::o;774:122::-;847:24;865:5;847:24;:::i;:::-;840:5;837:35;827:63;;886:1;883;876:12;827:63;774:122;:::o;902:139::-;948:5;986:6;973:20;964:29;;1002:33;1029:5;1002:33;:::i;:::-;902:139;;;;:::o;1047:470::-;1113:6;1121;1170:2;1158:9;1149:7;1145:23;1141:32;1138:119;;;1176:79;;:::i;:::-;1138:119;1296:1;1321:51;1364:7;1355:6;1344:9;1340:22;1321:51;:::i;:::-;1311:61;;1267:115;1421:2;1447:53;1492:7;1483:6;1472:9;1468:22;1447:53;:::i;:::-;1437:63;;1392:118;1047:470;;;;;:::o;1523:118::-;1610:24;1628:5;1610:24;:::i;:::-;1605:3;1598:37;1523:118;;:::o;1647:222::-;1740:4;1778:2;1767:9;1763:18;1755:26;;1791:71;1859:1;1848:9;1844:17;1835:6;1791:71;:::i;:::-;1647:222;;;;:::o;1875:101::-;1911:7;1951:18;1944:5;1940:30;1929:41;;1875:101;;;:::o;1982:180::-;2030:77;2027:1;2020:88;2127:4;2124:1;2117:15;2151:4;2148:1;2141:15;2168:180;2216:77;2213:1;2206:88;2313:4;2310:1;2303:15;2337:4;2334:1;2327:15;2354:182;2393:1;2410:19;2427:1;2410:19;:::i;:::-;2405:24;;2443:19;2460:1;2443:19;:::i;:::-;2438:24;;2481:1;2471:35;;2486:18;;:::i;:::-;2471:35;2528:1;2525;2521:9;2516:14;;2354:182;;;;:::o;2542:185::-;2582:1;2599:20;2617:1;2599:20;:::i;:::-;2594:25;;2633:20;2651:1;2633:20;:::i;:::-;2628:25;;2672:1;2662:35;;2677:18;;:::i;:::-;2662:35;2719:1;2716;2712:9;2707:14;;2542:185;;;;:::o;2733:169::-;2817:11;2851:6;2846:3;2839:19;2891:4;2886:3;2882:14;2867:29;;2733:169;;;;:::o;2908:244::-;3048:34;3044:1;3036:6;3032:14;3025:58;3117:27;3112:2;3104:6;3100:15;3093:52;2908:244;:::o;3158:366::-;3300:3;3321:67;3385:2;3380:3;3321:67;:::i;:::-;3314:74;;3397:93;3486:3;3397:93;:::i;:::-;3515:2;3510:3;3506:12;3499:19;;3158:366;;;:::o;3530:419::-;3696:4;3734:2;3723:9;3719:18;3711:26;;3783:9;3777:4;3773:20;3769:1;3758:9;3754:17;3747:47;3811:131;3937:4;3811:131;:::i;:::-;3803:139;;3530:419;;;:::o;3955:76::-;3991:7;4020:5;4009:16;;3955:76;;;:::o;4037:372::-;4076:4;4096:19;4113:1;4096:19;:::i;:::-;4091:24;;4129:19;4146:1;4129:19;:::i;:::-;4124:24;;4172:1;4169;4165:9;4157:17;;4366:1;4360:4;4356:12;4352:1;4349;4345:9;4341:28;4324:1;4318:4;4314:12;4309:1;4306;4302:9;4295:17;4291:36;4275:104;4272:130;;;4382:18;;:::i;:::-;4272:130;4037:372;;;;:::o;4415:375::-;4454:3;4473:19;4490:1;4473:19;:::i;:::-;4468:24;;4506:19;4523:1;4506:19;:::i;:::-;4501:24;;4548:1;4545;4541:9;4534:16;;4746:1;4741:3;4737:11;4730:19;4726:1;4723;4719:9;4715:35;4698:1;4693:3;4689:11;4684:1;4681;4677:9;4670:17;4666:35;4650:110;4647:136;;;4763:18;;:::i;:::-;4647:136;4415:375;;;;:::o;4796:174::-;4827:1;4844:19;4861:1;4844:19;:::i;:::-;4839:24;;4877:19;4894:1;4877:19;:::i;:::-;4872:24;;4915:1;4905:35;;4920:18;;:::i;:::-;4905:35;4962:1;4959;4954:10;4949:15;;4796:174;;;;:::o;4976:556::-;5015:7;5038:19;5055:1;5038:19;:::i;:::-;5033:24;;5071:19;5088:1;5071:19;:::i;:::-;5066:24;;5125:1;5122;5118:9;5147:29;5164:11;5147:29;:::i;:::-;5136:40;;5234:66;5231:1;5228:73;5224:1;5221;5217:9;5213:89;5210:115;;;5305:18;;:::i;:::-;5210:115;5475:1;5466:7;5461:16;5458:1;5455:23;5435:1;5428:9;5408:84;5385:140;;5505:18;;:::i;:::-;5385:140;5023:509;4976:556;;;;:::o;5538:385::-;5577:1;5594:19;5611:1;5594:19;:::i;:::-;5589:24;;5627:19;5644:1;5627:19;:::i;:::-;5622:24;;5665:1;5655:35;;5670:18;;:::i;:::-;5655:35;5856:1;5853;5849:9;5846:1;5843:16;5762:66;5759:1;5756:73;5739:130;5736:156;;;5872:18;;:::i;:::-;5736:156;5915:1;5912;5907:10;5902:15;;5538:385;;;;:::o;5929:228::-;5964:3;5987:23;6004:5;5987:23;:::i;:::-;5978:32;;6032:66;6025:5;6022:77;6019:103;;6102:18;;:::i;:::-;6019:103;6145:5;6142:1;6138:13;6131:20;;5929:228;;;:::o" | |
}, | |
"gasEstimates": { | |
"creation": { | |
"codeDepositCost": "1214800", | |
"executionCost": "1261", | |
"totalCost": "1216061" | |
}, | |
"external": { | |
"nthroot(uint8,uint256)": "infinite" | |
} | |
}, | |
"methodIdentifiers": { | |
"nthroot(uint8,uint256)": "a019d714" | |
} | |
}, | |
"abi": [ | |
{ | |
"inputs": [ | |
{ | |
"internalType": "uint8", | |
"name": "n", | |
"type": "uint8" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "_product", | |
"type": "uint256" | |
} | |
], | |
"name": "nthroot", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "", | |
"type": "uint256" | |
} | |
], | |
"stateMutability": "pure", | |
"type": "function" | |
} | |
] | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"compiler": { | |
"version": "0.8.18+commit.87f61d96" | |
}, | |
"language": "Solidity", | |
"output": { | |
"abi": [ | |
{ | |
"inputs": [ | |
{ | |
"internalType": "uint8", | |
"name": "n", | |
"type": "uint8" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "_product", | |
"type": "uint256" | |
} | |
], | |
"name": "nthroot", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "", | |
"type": "uint256" | |
} | |
], | |
"stateMutability": "pure", | |
"type": "function" | |
} | |
], | |
"devdoc": { | |
"kind": "dev", | |
"methods": {}, | |
"version": 1 | |
}, | |
"userdoc": { | |
"kind": "user", | |
"methods": {}, | |
"version": 1 | |
} | |
}, | |
"settings": { | |
"compilationTarget": { | |
"contracts/Math.sol": "Math" | |
}, | |
"evmVersion": "paris", | |
"libraries": {}, | |
"metadata": { | |
"bytecodeHash": "ipfs" | |
}, | |
"optimizer": { | |
"enabled": false, | |
"runs": 200 | |
}, | |
"remappings": [] | |
}, | |
"sources": { | |
"contracts/BalancerErrors.sol": { | |
"keccak256": "0xa273e3cb93c54603b79e64b7d26ca02f40d2178365673ba13c7b3d0f7b1aaf23", | |
"license": "GPL-3.0-or-later", | |
"urls": [ | |
"bzz-raw://325275ac80f27eaedfb578d182b70bc2c27e9fd5b331c88f6a2647613f1ded48", | |
"dweb:/ipfs/QmRTZ7HcoCUKjwratcd2ujpeCo7FtFDspG2R9yJSUuGpJf" | |
] | |
}, | |
"contracts/LogExpMath.sol": { | |
"keccak256": "0x857107efc1a94ff42a05a7bd7f99535c8d4e679abc8d7564b8a4f43fda7b71df", | |
"license": "MIT", | |
"urls": [ | |
"bzz-raw://7da66b065bfb6849281f123f01958ab8e7ac7810c34972ab9a67f646788c36dd", | |
"dweb:/ipfs/QmbzrKj3iM5ThPfXCJrGsV7KRdozhvx2ARoaNcajnqRQLC" | |
] | |
}, | |
"contracts/Math.sol": { | |
"keccak256": "0xffc3f56094c692960988cd8d10796a4dd4362a7c46ecbe1e14930d1224c93637", | |
"license": "agpl-3.0", | |
"urls": [ | |
"bzz-raw://1f7f02d9ffd5f4566d33a6e113f22044785b330351fd530a3a8ee741d8b638e2", | |
"dweb:/ipfs/QmNx6YFhuU8xgWj5Qrcj35fJsreaT1pxKr9rnmur2wmdRK" | |
] | |
} | |
}, | |
"version": 1 | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// SPDX-License-Identifier: GPL-3.0-or-later | |
// This program is free software: you can redistribute it and/or modify | |
// it under the terms of the GNU General Public License as published by | |
// the Free Software Foundation, either version 3 of the License, or | |
// (at your option) any later version. | |
// This program is distributed in the hope that it will be useful, | |
// but WITHOUT ANY WARRANTY; without even the implied warranty of | |
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
// GNU General Public License for more details. | |
// You should have received a copy of the GNU General Public License | |
// along with this program. If not, see . | |
pragma solidity >=0.8.0 <0.9.0; | |
// solhint-disable | |
/** | |
* @dev Reverts if `condition` is false, with a revert reason containing `errorCode`. Only codes up to 999 are | |
* supported. | |
* Uses the default 'BAL' prefix for the error code | |
*/ | |
function _require(bool condition, uint256 errorCode) pure { | |
if (!condition) _revert(errorCode); | |
} | |
/** | |
* @dev Reverts if `condition` is false, with a revert reason containing `errorCode`. Only codes up to 999 are | |
* supported. | |
*/ | |
function _require( | |
bool condition, | |
uint256 errorCode, | |
bytes3 prefix | |
) pure { | |
if (!condition) _revert(errorCode, prefix); | |
} | |
/** | |
* @dev Reverts with a revert reason containing `errorCode`. Only codes up to 999 are supported. | |
* Uses the default 'BAL' prefix for the error code | |
*/ | |
function _revert(uint256 errorCode) pure { | |
_revert(errorCode, 0x42414c); // This is the raw byte representation of "BAL" | |
} | |
/** | |
* @dev Reverts with a revert reason containing `errorCode`. Only codes up to 999 are supported. | |
*/ | |
function _revert(uint256 errorCode, bytes3 prefix) pure { | |
uint256 prefixUint = uint256(uint24(prefix)); | |
// We're going to dynamically create a revert string based on the error code, with the following format: | |
// 'BAL#{errorCode}' | |
// where the code is left-padded with zeroes to three digits (so they range from 000 to 999). | |
// | |
// We don't have revert strings embedded in the contract to save bytecode size: it takes much less space to store a | |
// number (8 to 16 bits) than the individual string characters. | |
// | |
// The dynamic string creation algorithm that follows could be implemented in Solidity, but assembly allows for a | |
// much denser implementation, again saving bytecode size. Given this function unconditionally reverts, this is a | |
// safe place to rely on it without worrying about how its usage might affect e.g. memory contents. | |
assembly { | |
// First, we need to compute the ASCII representation of the error code. We assume that it is in the 0-999 | |
// range, so we only need to convert three digits. To convert the digits to ASCII, we add 0x30, the value for | |
// the '0' character. | |
let units := add(mod(errorCode, 10), 0x30) | |
errorCode := div(errorCode, 10) | |
let tenths := add(mod(errorCode, 10), 0x30) | |
errorCode := div(errorCode, 10) | |
let hundreds := add(mod(errorCode, 10), 0x30) | |
// With the individual characters, we can now construct the full string. | |
// We first append the '#' character (0x23) to the prefix. In the case of 'BAL', it results in 0x42414c23 ('BAL#') | |
// Then, we shift this by 24 (to provide space for the 3 bytes of the error code), and add the | |
// characters to it, each shifted by a multiple of 8. | |
// The revert reason is then shifted left by 200 bits (256 minus the length of the string, 7 characters * 8 bits | |
// per character = 56) to locate it in the most significant part of the 256 slot (the beginning of a byte | |
// array). | |
let formattedPrefix := shl(24, add(0x23, shl(8, prefixUint))) | |
let revertReason := shl(200, add(formattedPrefix, add(add(units, shl(8, tenths)), shl(16, hundreds)))) | |
// We can now encode the reason in memory, which can be safely overwritten as we're about to revert. The encoded | |
// message will have the following layout: | |
// [ revert reason identifier ] [ string location offset ] [ string length ] [ string contents ] | |
// The Solidity revert reason identifier is 0x08c739a0, the function selector of the Error(string) function. We | |
// also write zeroes to the next 28 bytes of memory, but those are about to be overwritten. | |
mstore(0x0, 0x08c379a000000000000000000000000000000000000000000000000000000000) | |
// Next is the offset to the location of the string, which will be placed immediately after (20 bytes away). | |
mstore(0x04, 0x0000000000000000000000000000000000000000000000000000000000000020) | |
// The string length is fixed: 7 characters. | |
mstore(0x24, 7) | |
// Finally, the string itself is stored. | |
mstore(0x44, revertReason) | |
// Even if the string is only 7 bytes long, we need to return a full 32 byte slot containing it. The length of | |
// the encoded message is therefore 4 + 32 + 32 + 32 = 100. | |
revert(0, 100) | |
} | |
} | |
library Errors { | |
// Math | |
uint256 internal constant ADD_OVERFLOW = 0; | |
uint256 internal constant SUB_OVERFLOW = 1; | |
uint256 internal constant SUB_UNDERFLOW = 2; | |
uint256 internal constant MUL_OVERFLOW = 3; | |
uint256 internal constant ZERO_DIVISION = 4; | |
uint256 internal constant DIV_INTERNAL = 5; | |
uint256 internal constant X_OUT_OF_BOUNDS = 6; | |
uint256 internal constant Y_OUT_OF_BOUNDS = 7; | |
uint256 internal constant PRODUCT_OUT_OF_BOUNDS = 8; | |
uint256 internal constant INVALID_EXPONENT = 9; | |
// Input | |
uint256 internal constant OUT_OF_BOUNDS = 100; | |
uint256 internal constant UNSORTED_ARRAY = 101; | |
uint256 internal constant UNSORTED_TOKENS = 102; | |
uint256 internal constant INPUT_LENGTH_MISMATCH = 103; | |
uint256 internal constant ZERO_TOKEN = 104; | |
uint256 internal constant INSUFFICIENT_DATA = 105; | |
// Shared pools | |
uint256 internal constant MIN_TOKENS = 200; | |
uint256 internal constant MAX_TOKENS = 201; | |
uint256 internal constant MAX_SWAP_FEE_PERCENTAGE = 202; | |
uint256 internal constant MIN_SWAP_FEE_PERCENTAGE = 203; | |
uint256 internal constant MINIMUM_BPT = 204; | |
uint256 internal constant CALLER_NOT_VAULT = 205; | |
uint256 internal constant UNINITIALIZED = 206; | |
uint256 internal constant BPT_IN_MAX_AMOUNT = 207; | |
uint256 internal constant BPT_OUT_MIN_AMOUNT = 208; | |
uint256 internal constant EXPIRED_PERMIT = 209; | |
uint256 internal constant NOT_TWO_TOKENS = 210; | |
uint256 internal constant DISABLED = 211; | |
// Pools | |
uint256 internal constant MIN_AMP = 300; | |
uint256 internal constant MAX_AMP = 301; | |
uint256 internal constant MIN_WEIGHT = 302; | |
uint256 internal constant MAX_STABLE_TOKENS = 303; | |
uint256 internal constant MAX_IN_RATIO = 304; | |
uint256 internal constant MAX_OUT_RATIO = 305; | |
uint256 internal constant MIN_BPT_IN_FOR_TOKEN_OUT = 306; | |
uint256 internal constant MAX_OUT_BPT_FOR_TOKEN_IN = 307; | |
uint256 internal constant NORMALIZED_WEIGHT_INVARIANT = 308; | |
uint256 internal constant INVALID_TOKEN = 309; | |
uint256 internal constant UNHANDLED_JOIN_KIND = 310; | |
uint256 internal constant ZERO_INVARIANT = 311; | |
uint256 internal constant ORACLE_INVALID_SECONDS_QUERY = 312; | |
uint256 internal constant ORACLE_NOT_INITIALIZED = 313; | |
uint256 internal constant ORACLE_QUERY_TOO_OLD = 314; | |
uint256 internal constant ORACLE_INVALID_INDEX = 315; | |
uint256 internal constant ORACLE_BAD_SECS = 316; | |
uint256 internal constant AMP_END_TIME_TOO_CLOSE = 317; | |
uint256 internal constant AMP_ONGOING_UPDATE = 318; | |
uint256 internal constant AMP_RATE_TOO_HIGH = 319; | |
uint256 internal constant AMP_NO_ONGOING_UPDATE = 320; | |
uint256 internal constant STABLE_INVARIANT_DIDNT_CONVERGE = 321; | |
uint256 internal constant STABLE_GET_BALANCE_DIDNT_CONVERGE = 322; | |
uint256 internal constant RELAYER_NOT_CONTRACT = 323; | |
uint256 internal constant BASE_POOL_RELAYER_NOT_CALLED = 324; | |
uint256 internal constant REBALANCING_RELAYER_REENTERED = 325; | |
uint256 internal constant GRADUAL_UPDATE_TIME_TRAVEL = 326; | |
uint256 internal constant SWAPS_DISABLED = 327; | |
uint256 internal constant CALLER_IS_NOT_LBP_OWNER = 328; | |
uint256 internal constant PRICE_RATE_OVERFLOW = 329; | |
uint256 internal constant INVALID_JOIN_EXIT_KIND_WHILE_SWAPS_DISABLED = 330; | |
uint256 internal constant WEIGHT_CHANGE_TOO_FAST = 331; | |
uint256 internal constant LOWER_GREATER_THAN_UPPER_TARGET = 332; | |
uint256 internal constant UPPER_TARGET_TOO_HIGH = 333; | |
uint256 internal constant UNHANDLED_BY_LINEAR_POOL = 334; | |
uint256 internal constant OUT_OF_TARGET_RANGE = 335; | |
uint256 internal constant UNHANDLED_EXIT_KIND = 336; | |
uint256 internal constant UNAUTHORIZED_EXIT = 337; | |
uint256 internal constant MAX_MANAGEMENT_SWAP_FEE_PERCENTAGE = 338; | |
uint256 internal constant UNHANDLED_BY_MANAGED_POOL = 339; | |
uint256 internal constant UNHANDLED_BY_PHANTOM_POOL = 340; | |
uint256 internal constant TOKEN_DOES_NOT_HAVE_RATE_PROVIDER = 341; | |
uint256 internal constant INVALID_INITIALIZATION = 342; | |
uint256 internal constant OUT_OF_NEW_TARGET_RANGE = 343; | |
uint256 internal constant FEATURE_DISABLED = 344; | |
uint256 internal constant UNINITIALIZED_POOL_CONTROLLER = 345; | |
uint256 internal constant SET_SWAP_FEE_DURING_FEE_CHANGE = 346; | |
uint256 internal constant SET_SWAP_FEE_PENDING_FEE_CHANGE = 347; | |
uint256 internal constant CHANGE_TOKENS_DURING_WEIGHT_CHANGE = 348; | |
uint256 internal constant CHANGE_TOKENS_PENDING_WEIGHT_CHANGE = 349; | |
uint256 internal constant MAX_WEIGHT = 350; | |
uint256 internal constant UNAUTHORIZED_JOIN = 351; | |
uint256 internal constant MAX_MANAGEMENT_AUM_FEE_PERCENTAGE = 352; | |
uint256 internal constant FRACTIONAL_TARGET = 353; | |
uint256 internal constant ADD_OR_REMOVE_BPT = 354; | |
uint256 internal constant INVALID_CIRCUIT_BREAKER_BOUNDS = 355; | |
uint256 internal constant CIRCUIT_BREAKER_TRIPPED = 356; | |
uint256 internal constant MALICIOUS_QUERY_REVERT = 357; | |
uint256 internal constant JOINS_EXITS_DISABLED = 358; | |
// Lib | |
uint256 internal constant REENTRANCY = 400; | |
uint256 internal constant SENDER_NOT_ALLOWED = 401; | |
uint256 internal constant PAUSED = 402; | |
uint256 internal constant PAUSE_WINDOW_EXPIRED = 403; | |
uint256 internal constant MAX_PAUSE_WINDOW_DURATION = 404; | |
uint256 internal constant MAX_BUFFER_PERIOD_DURATION = 405; | |
uint256 internal constant INSUFFICIENT_BALANCE = 406; | |
uint256 internal constant INSUFFICIENT_ALLOWANCE = 407; | |
uint256 internal constant ERC20_TRANSFER_FROM_ZERO_ADDRESS = 408; | |
uint256 internal constant ERC20_TRANSFER_TO_ZERO_ADDRESS = 409; | |
uint256 internal constant ERC20_MINT_TO_ZERO_ADDRESS = 410; | |
uint256 internal constant ERC20_BURN_FROM_ZERO_ADDRESS = 411; | |
uint256 internal constant ERC20_APPROVE_FROM_ZERO_ADDRESS = 412; | |
uint256 internal constant ERC20_APPROVE_TO_ZERO_ADDRESS = 413; | |
uint256 internal constant ERC20_TRANSFER_EXCEEDS_ALLOWANCE = 414; | |
uint256 internal constant ERC20_DECREASED_ALLOWANCE_BELOW_ZERO = 415; | |
uint256 internal constant ERC20_TRANSFER_EXCEEDS_BALANCE = 416; | |
uint256 internal constant ERC20_BURN_EXCEEDS_ALLOWANCE = 417; | |
uint256 internal constant SAFE_ERC20_CALL_FAILED = 418; | |
uint256 internal constant ADDRESS_INSUFFICIENT_BALANCE = 419; | |
uint256 internal constant ADDRESS_CANNOT_SEND_VALUE = 420; | |
uint256 internal constant SAFE_CAST_VALUE_CANT_FIT_INT256 = 421; | |
uint256 internal constant GRANT_SENDER_NOT_ADMIN = 422; | |
uint256 internal constant REVOKE_SENDER_NOT_ADMIN = 423; | |
uint256 internal constant RENOUNCE_SENDER_NOT_ALLOWED = 424; | |
uint256 internal constant BUFFER_PERIOD_EXPIRED = 425; | |
uint256 internal constant CALLER_IS_NOT_OWNER = 426; | |
uint256 internal constant NEW_OWNER_IS_ZERO = 427; | |
uint256 internal constant CODE_DEPLOYMENT_FAILED = 428; | |
uint256 internal constant CALL_TO_NON_CONTRACT = 429; | |
uint256 internal constant LOW_LEVEL_CALL_FAILED = 430; | |
uint256 internal constant NOT_PAUSED = 431; | |
uint256 internal constant ADDRESS_ALREADY_ALLOWLISTED = 432; | |
uint256 internal constant ADDRESS_NOT_ALLOWLISTED = 433; | |
uint256 internal constant ERC20_BURN_EXCEEDS_BALANCE = 434; | |
uint256 internal constant INVALID_OPERATION = 435; | |
uint256 internal constant CODEC_OVERFLOW = 436; | |
uint256 internal constant IN_RECOVERY_MODE = 437; | |
uint256 internal constant NOT_IN_RECOVERY_MODE = 438; | |
uint256 internal constant INDUCED_FAILURE = 439; | |
uint256 internal constant EXPIRED_SIGNATURE = 440; | |
uint256 internal constant MALFORMED_SIGNATURE = 441; | |
uint256 internal constant SAFE_CAST_VALUE_CANT_FIT_UINT64 = 442; | |
uint256 internal constant UNHANDLED_FEE_TYPE = 443; | |
uint256 internal constant BURN_FROM_ZERO = 444; | |
// Vault | |
uint256 internal constant INVALID_POOL_ID = 500; | |
uint256 internal constant CALLER_NOT_POOL = 501; | |
uint256 internal constant SENDER_NOT_ASSET_MANAGER = 502; | |
uint256 internal constant USER_DOESNT_ALLOW_RELAYER = 503; | |
uint256 internal constant INVALID_SIGNATURE = 504; | |
uint256 internal constant EXIT_BELOW_MIN = 505; | |
uint256 internal constant JOIN_ABOVE_MAX = 506; | |
uint256 internal constant SWAP_LIMIT = 507; | |
uint256 internal constant SWAP_DEADLINE = 508; | |
uint256 internal constant CANNOT_SWAP_SAME_TOKEN = 509; | |
uint256 internal constant UNKNOWN_AMOUNT_IN_FIRST_SWAP = 510; | |
uint256 internal constant MALCONSTRUCTED_MULTIHOP_SWAP = 511; | |
uint256 internal constant INTERNAL_BALANCE_OVERFLOW = 512; | |
uint256 internal constant INSUFFICIENT_INTERNAL_BALANCE = 513; | |
uint256 internal constant INVALID_ETH_INTERNAL_BALANCE = 514; | |
uint256 internal constant INVALID_POST_LOAN_BALANCE = 515; | |
uint256 internal constant INSUFFICIENT_ETH = 516; | |
uint256 internal constant UNALLOCATED_ETH = 517; | |
uint256 internal constant ETH_TRANSFER = 518; | |
uint256 internal constant CANNOT_USE_ETH_SENTINEL = 519; | |
uint256 internal constant TOKENS_MISMATCH = 520; | |
uint256 internal constant TOKEN_NOT_REGISTERED = 521; | |
uint256 internal constant TOKEN_ALREADY_REGISTERED = 522; | |
uint256 internal constant TOKENS_ALREADY_SET = 523; | |
uint256 internal constant TOKENS_LENGTH_MUST_BE_2 = 524; | |
uint256 internal constant NONZERO_TOKEN_BALANCE = 525; | |
uint256 internal constant BALANCE_TOTAL_OVERFLOW = 526; | |
uint256 internal constant POOL_NO_TOKENS = 527; | |
uint256 internal constant INSUFFICIENT_FLASH_LOAN_BALANCE = 528; | |
// Fees | |
uint256 internal constant SWAP_FEE_PERCENTAGE_TOO_HIGH = 600; | |
uint256 internal constant FLASH_LOAN_FEE_PERCENTAGE_TOO_HIGH = 601; | |
uint256 internal constant INSUFFICIENT_FLASH_LOAN_FEE_AMOUNT = 602; | |
uint256 internal constant AUM_FEE_PERCENTAGE_TOO_HIGH = 603; | |
// FeeSplitter | |
uint256 internal constant SPLITTER_FEE_PERCENTAGE_TOO_HIGH = 700; | |
// Misc | |
uint256 internal constant UNIMPLEMENTED = 998; | |
uint256 internal constant SHOULD_NOT_HAPPEN = 999; | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// SPDX-License-Identifier: MIT | |
// Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated | |
// documentation files (the “Software”), to deal in the Software without restriction, including without limitation the | |
// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to | |
// permit persons to whom the Software is furnished to do so, subject to the following conditions: | |
// The above copyright notice and this permission notice shall be included in all copies or substantial portions of the | |
// Software. | |
// THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE | |
// WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR | |
// COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR | |
// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | |
pragma solidity ^0.8.0; | |
import "./BalancerErrors.sol"; | |
/* solhint-disable */ | |
/** | |
* @dev Exponentiation and logarithm functions for 18 decimal fixed point numbers (both base and exponent/argument). | |
* | |
* Exponentiation and logarithm with arbitrary bases (x^y and log_x(y)) are implemented by conversion to natural | |
* exponentiation and logarithm (where the base is Euler's number). | |
* | |
* @author Fernando Martinelli - @fernandomartinelli | |
* @author Sergio Yuhjtman - @sergioyuhjtman | |
* @author Daniel Fernandez - @dmf7z | |
*/ | |
library LogExpMath { | |
// All fixed point multiplications and divisions are inlined. This means we need to divide by ONE when multiplying | |
// two numbers, and multiply by ONE when dividing them. | |
// All arguments and return values are 18 decimal fixed point numbers. | |
int256 constant ONE_18 = 1e18; | |
// Internally, intermediate values are computed with higher precision as 20 decimal fixed point numbers, and in the | |
// case of ln36, 36 decimals. | |
int256 constant ONE_20 = 1e20; | |
int256 constant ONE_36 = 1e36; | |
// The domain of natural exponentiation is bound by the word size and number of decimals used. | |
// | |
// Because internally the result will be stored using 20 decimals, the largest possible result is | |
// (2^255 - 1) / 10^20, which makes the largest exponent ln((2^255 - 1) / 10^20) = 130.700829182905140221. | |
// The smallest possible result is 10^(-18), which makes largest negative argument | |
// ln(10^(-18)) = -41.446531673892822312. | |
// We use 130.0 and -41.0 to have some safety margin. | |
int256 constant MAX_NATURAL_EXPONENT = 130e18; | |
int256 constant MIN_NATURAL_EXPONENT = -41e18; | |
// Bounds for ln_36's argument. Both ln(0.9) and ln(1.1) can be represented with 36 decimal places in a fixed point | |
// 256 bit integer. | |
int256 constant LN_36_LOWER_BOUND = ONE_18 - 1e17; | |
int256 constant LN_36_UPPER_BOUND = ONE_18 + 1e17; | |
uint256 constant MILD_EXPONENT_BOUND = 2**254 / uint256(ONE_20); | |
// 18 decimal constants | |
int256 constant x0 = 128000000000000000000; // 2ˆ7 | |
int256 constant a0 = 38877084059945950922200000000000000000000000000000000000; // eˆ(x0) (no decimals) | |
int256 constant x1 = 64000000000000000000; // 2ˆ6 | |
int256 constant a1 = 6235149080811616882910000000; // eˆ(x1) (no decimals) | |
// 20 decimal constants | |
int256 constant x2 = 3200000000000000000000; // 2ˆ5 | |
int256 constant a2 = 7896296018268069516100000000000000; // eˆ(x2) | |
int256 constant x3 = 1600000000000000000000; // 2ˆ4 | |
int256 constant a3 = 888611052050787263676000000; // eˆ(x3) | |
int256 constant x4 = 800000000000000000000; // 2ˆ3 | |
int256 constant a4 = 298095798704172827474000; // eˆ(x4) | |
int256 constant x5 = 400000000000000000000; // 2ˆ2 | |
int256 constant a5 = 5459815003314423907810; // eˆ(x5) | |
int256 constant x6 = 200000000000000000000; // 2ˆ1 | |
int256 constant a6 = 738905609893065022723; // eˆ(x6) | |
int256 constant x7 = 100000000000000000000; // 2ˆ0 | |
int256 constant a7 = 271828182845904523536; // eˆ(x7) | |
int256 constant x8 = 50000000000000000000; // 2ˆ-1 | |
int256 constant a8 = 164872127070012814685; // eˆ(x8) | |
int256 constant x9 = 25000000000000000000; // 2ˆ-2 | |
int256 constant a9 = 128402541668774148407; // eˆ(x9) | |
int256 constant x10 = 12500000000000000000; // 2ˆ-3 | |
int256 constant a10 = 113314845306682631683; // eˆ(x10) | |
int256 constant x11 = 6250000000000000000; // 2ˆ-4 | |
int256 constant a11 = 106449445891785942956; // eˆ(x11) | |
/** | |
* @dev Exponentiation (x^y) with unsigned 18 decimal fixed point base and exponent. | |
* | |
* Reverts if ln(x) * y is smaller than `MIN_NATURAL_EXPONENT`, or larger than `MAX_NATURAL_EXPONENT`. | |
*/ | |
function pow(uint256 x, uint256 y) internal pure returns (uint256) { | |
if (y == 0) { | |
// We solve the 0^0 indetermination by making it equal one. | |
return uint256(ONE_18); | |
} | |
if (x == 0) { | |
return 0; | |
} | |
// Instead of computing x^y directly, we instead rely on the properties of logarithms and exponentiation to | |
// arrive at that result. In particular, exp(ln(x)) = x, and ln(x^y) = y * ln(x). This means | |
// x^y = exp(y * ln(x)). | |
// The ln function takes a signed value, so we need to make sure x fits in the signed 256 bit range. | |
_require(x >> 255 == 0, Errors.X_OUT_OF_BOUNDS); | |
int256 x_int256 = int256(x); | |
// We will compute y * ln(x) in a single step. Depending on the value of x, we can either use ln or ln_36. In | |
// both cases, we leave the division by ONE_18 (due to fixed point multiplication) to the end. | |
// This prevents y * ln(x) from overflowing, and at the same time guarantees y fits in the signed 256 bit range. | |
_require(y < MILD_EXPONENT_BOUND, Errors.Y_OUT_OF_BOUNDS); | |
int256 y_int256 = int256(y); | |
int256 logx_times_y; | |
if (LN_36_LOWER_BOUND < x_int256 && x_int256 < LN_36_UPPER_BOUND) { | |
int256 ln_36_x = _ln_36(x_int256); | |
// ln_36_x has 36 decimal places, so multiplying by y_int256 isn't as straightforward, since we can't just | |
// bring y_int256 to 36 decimal places, as it might overflow. Instead, we perform two 18 decimal | |
// multiplications and add the results: one with the first 18 decimals of ln_36_x, and one with the | |
// (downscaled) last 18 decimals. | |
logx_times_y = ((ln_36_x / ONE_18) * y_int256 + ((ln_36_x % ONE_18) * y_int256) / ONE_18); | |
} else { | |
logx_times_y = _ln(x_int256) * y_int256; | |
} | |
logx_times_y /= ONE_18; | |
// Finally, we compute exp(y * ln(x)) to arrive at x^y | |
_require( | |
MIN_NATURAL_EXPONENT <= logx_times_y && logx_times_y <= MAX_NATURAL_EXPONENT, | |
Errors.PRODUCT_OUT_OF_BOUNDS | |
); | |
return uint256(exp(logx_times_y)); | |
} | |
/** | |
* @dev Natural exponentiation (e^x) with signed 18 decimal fixed point exponent. | |
* | |
* Reverts if `x` is smaller than MIN_NATURAL_EXPONENT, or larger than `MAX_NATURAL_EXPONENT`. | |
*/ | |
function exp(int256 x) internal pure returns (int256) { | |
_require(x >= MIN_NATURAL_EXPONENT && x <= MAX_NATURAL_EXPONENT, Errors.INVALID_EXPONENT); | |
if (x < 0) { | |
// We only handle positive exponents: e^(-x) is computed as 1 / e^x. We can safely make x positive since it | |
// fits in the signed 256 bit range (as it is larger than MIN_NATURAL_EXPONENT). | |
// Fixed point division requires multiplying by ONE_18. | |
return ((ONE_18 * ONE_18) / exp(-x)); | |
} | |
// First, we use the fact that e^(x+y) = e^x * e^y to decompose x into a sum of powers of two, which we call x_n, | |
// where x_n == 2^(7 - n), and e^x_n = a_n has been precomputed. We choose the first x_n, x0, to equal 2^7 | |
// because all larger powers are larger than MAX_NATURAL_EXPONENT, and therefore not present in the | |
// decomposition. | |
// At the end of this process we will have the product of all e^x_n = a_n that apply, and the remainder of this | |
// decomposition, which will be lower than the smallest x_n. | |
// exp(x) = k_0 * a_0 * k_1 * a_1 * ... + k_n * a_n * exp(remainder), where each k_n equals either 0 or 1. | |
// We mutate x by subtracting x_n, making it the remainder of the decomposition. | |
// The first two a_n (e^(2^7) and e^(2^6)) are too large if stored as 18 decimal numbers, and could cause | |
// intermediate overflows. Instead we store them as plain integers, with 0 decimals. | |
// Additionally, x0 + x1 is larger than MAX_NATURAL_EXPONENT, which means they will not both be present in the | |
// decomposition. | |
// For each x_n, we test if that term is present in the decomposition (if x is larger than it), and if so deduct | |
// it and compute the accumulated product. | |
int256 firstAN; | |
if (x >= x0) { | |
x -= x0; | |
firstAN = a0; | |
} else if (x >= x1) { | |
x -= x1; | |
firstAN = a1; | |
} else { | |
firstAN = 1; // One with no decimal places | |
} | |
// We now transform x into a 20 decimal fixed point number, to have enhanced precision when computing the | |
// smaller terms. | |
x *= 100; | |
// `product` is the accumulated product of all a_n (except a0 and a1), which starts at 20 decimal fixed point | |
// one. Recall that fixed point multiplication requires dividing by ONE_20. | |
int256 product = ONE_20; | |
if (x >= x2) { | |
x -= x2; | |
product = (product * a2) / ONE_20; | |
} | |
if (x >= x3) { | |
x -= x3; | |
product = (product * a3) / ONE_20; | |
} | |
if (x >= x4) { | |
x -= x4; | |
product = (product * a4) / ONE_20; | |
} | |
if (x >= x5) { | |
x -= x5; | |
product = (product * a5) / ONE_20; | |
} | |
if (x >= x6) { | |
x -= x6; | |
product = (product * a6) / ONE_20; | |
} | |
if (x >= x7) { | |
x -= x7; | |
product = (product * a7) / ONE_20; | |
} | |
if (x >= x8) { | |
x -= x8; | |
product = (product * a8) / ONE_20; | |
} | |
if (x >= x9) { | |
x -= x9; | |
product = (product * a9) / ONE_20; | |
} | |
// x10 and x11 are unnecessary here since we have high enough precision already. | |
// Now we need to compute e^x, where x is small (in particular, it is smaller than x9). We use the Taylor series | |
// expansion for e^x: 1 + x + (x^2 / 2!) + (x^3 / 3!) + ... + (x^n / n!). | |
int256 seriesSum = ONE_20; // The initial one in the sum, with 20 decimal places. | |
int256 term; // Each term in the sum, where the nth term is (x^n / n!). | |
// The first term is simply x. | |
term = x; | |
seriesSum += term; | |
// Each term (x^n / n!) equals the previous one times x, divided by n. Since x is a fixed point number, | |
// multiplying by it requires dividing by ONE_20, but dividing by the non-fixed point n values does not. | |
term = ((term * x) / ONE_20) / 2; | |
seriesSum += term; | |
term = ((term * x) / ONE_20) / 3; | |
seriesSum += term; | |
term = ((term * x) / ONE_20) / 4; | |
seriesSum += term; | |
term = ((term * x) / ONE_20) / 5; | |
seriesSum += term; | |
term = ((term * x) / ONE_20) / 6; | |
seriesSum += term; | |
term = ((term * x) / ONE_20) / 7; | |
seriesSum += term; | |
term = ((term * x) / ONE_20) / 8; | |
seriesSum += term; | |
term = ((term * x) / ONE_20) / 9; | |
seriesSum += term; | |
term = ((term * x) / ONE_20) / 10; | |
seriesSum += term; | |
term = ((term * x) / ONE_20) / 11; | |
seriesSum += term; | |
term = ((term * x) / ONE_20) / 12; | |
seriesSum += term; | |
// 12 Taylor terms are sufficient for 18 decimal precision. | |
// We now have the first a_n (with no decimals), and the product of all other a_n present, and the Taylor | |
// approximation of the exponentiation of the remainder (both with 20 decimals). All that remains is to multiply | |
// all three (one 20 decimal fixed point multiplication, dividing by ONE_20, and one integer multiplication), | |
// and then drop two digits to return an 18 decimal value. | |
return (((product * seriesSum) / ONE_20) * firstAN) / 100; | |
} | |
/** | |
* @dev Logarithm (log(arg, base), with signed 18 decimal fixed point base and argument. | |
*/ | |
function log(int256 arg, int256 base) internal pure returns (int256) { | |
// This performs a simple base change: log(arg, base) = ln(arg) / ln(base). | |
// Both logBase and logArg are computed as 36 decimal fixed point numbers, either by using ln_36, or by | |
// upscaling. | |
int256 logBase; | |
if (LN_36_LOWER_BOUND < base && base < LN_36_UPPER_BOUND) { | |
logBase = _ln_36(base); | |
} else { | |
logBase = _ln(base) * ONE_18; | |
} | |
int256 logArg; | |
if (LN_36_LOWER_BOUND < arg && arg < LN_36_UPPER_BOUND) { | |
logArg = _ln_36(arg); | |
} else { | |
logArg = _ln(arg) * ONE_18; | |
} | |
// When dividing, we multiply by ONE_18 to arrive at a result with 18 decimal places | |
return (logArg * ONE_18) / logBase; | |
} | |
/** | |
* @dev Natural logarithm (ln(a)) with signed 18 decimal fixed point argument. | |
*/ | |
function ln(int256 a) internal pure returns (int256) { | |
// The real natural logarithm is not defined for negative numbers or zero. | |
_require(a > 0, Errors.OUT_OF_BOUNDS); | |
if (LN_36_LOWER_BOUND < a && a < LN_36_UPPER_BOUND) { | |
return _ln_36(a) / ONE_18; | |
} else { | |
return _ln(a); | |
} | |
} | |
/** | |
* @dev Internal natural logarithm (ln(a)) with signed 18 decimal fixed point argument. | |
*/ | |
function _ln(int256 a) private pure returns (int256) { | |
if (a < ONE_18) { | |
// Since ln(a^k) = k * ln(a), we can compute ln(a) as ln(a) = ln((1/a)^(-1)) = - ln((1/a)). If a is less | |
// than one, 1/a will be greater than one, and this if statement will not be entered in the recursive call. | |
// Fixed point division requires multiplying by ONE_18. | |
return (-_ln((ONE_18 * ONE_18) / a)); | |
} | |
// First, we use the fact that ln^(a * b) = ln(a) + ln(b) to decompose ln(a) into a sum of powers of two, which | |
// we call x_n, where x_n == 2^(7 - n), which are the natural logarithm of precomputed quantities a_n (that is, | |
// ln(a_n) = x_n). We choose the first x_n, x0, to equal 2^7 because the exponential of all larger powers cannot | |
// be represented as 18 fixed point decimal numbers in 256 bits, and are therefore larger than a. | |
// At the end of this process we will have the sum of all x_n = ln(a_n) that apply, and the remainder of this | |
// decomposition, which will be lower than the smallest a_n. | |
// ln(a) = k_0 * x_0 + k_1 * x_1 + ... + k_n * x_n + ln(remainder), where each k_n equals either 0 or 1. | |
// We mutate a by subtracting a_n, making it the remainder of the decomposition. | |
// For reasons related to how `exp` works, the first two a_n (e^(2^7) and e^(2^6)) are not stored as fixed point | |
// numbers with 18 decimals, but instead as plain integers with 0 decimals, so we need to multiply them by | |
// ONE_18 to convert them to fixed point. | |
// For each a_n, we test if that term is present in the decomposition (if a is larger than it), and if so divide | |
// by it and compute the accumulated sum. | |
int256 sum = 0; | |
if (a >= a0 * ONE_18) { | |
a /= a0; // Integer, not fixed point division | |
sum += x0; | |
} | |
if (a >= a1 * ONE_18) { | |
a /= a1; // Integer, not fixed point division | |
sum += x1; | |
} | |
// All other a_n and x_n are stored as 20 digit fixed point numbers, so we convert the sum and a to this format. | |
sum *= 100; | |
a *= 100; | |
// Because further a_n are 20 digit fixed point numbers, we multiply by ONE_20 when dividing by them. | |
if (a >= a2) { | |
a = (a * ONE_20) / a2; | |
sum += x2; | |
} | |
if (a >= a3) { | |
a = (a * ONE_20) / a3; | |
sum += x3; | |
} | |
if (a >= a4) { | |
a = (a * ONE_20) / a4; | |
sum += x4; | |
} | |
if (a >= a5) { | |
a = (a * ONE_20) / a5; | |
sum += x5; | |
} | |
if (a >= a6) { | |
a = (a * ONE_20) / a6; | |
sum += x6; | |
} | |
if (a >= a7) { | |
a = (a * ONE_20) / a7; | |
sum += x7; | |
} | |
if (a >= a8) { | |
a = (a * ONE_20) / a8; | |
sum += x8; | |
} | |
if (a >= a9) { | |
a = (a * ONE_20) / a9; | |
sum += x9; | |
} | |
if (a >= a10) { | |
a = (a * ONE_20) / a10; | |
sum += x10; | |
} | |
if (a >= a11) { | |
a = (a * ONE_20) / a11; | |
sum += x11; | |
} | |
// a is now a small number (smaller than a_11, which roughly equals 1.06). This means we can use a Taylor series | |
// that converges rapidly for values of `a` close to one - the same one used in ln_36. | |
// Let z = (a - 1) / (a + 1). | |
// ln(a) = 2 * (z + z^3 / 3 + z^5 / 5 + z^7 / 7 + ... + z^(2 * n + 1) / (2 * n + 1)) | |
// Recall that 20 digit fixed point division requires multiplying by ONE_20, and multiplication requires | |
// division by ONE_20. | |
int256 z = ((a - ONE_20) * ONE_20) / (a + ONE_20); | |
int256 z_squared = (z * z) / ONE_20; | |
// num is the numerator of the series: the z^(2 * n + 1) term | |
int256 num = z; | |
// seriesSum holds the accumulated sum of each term in the series, starting with the initial z | |
int256 seriesSum = num; | |
// In each step, the numerator is multiplied by z^2 | |
num = (num * z_squared) / ONE_20; | |
seriesSum += num / 3; | |
num = (num * z_squared) / ONE_20; | |
seriesSum += num / 5; | |
num = (num * z_squared) / ONE_20; | |
seriesSum += num / 7; | |
num = (num * z_squared) / ONE_20; | |
seriesSum += num / 9; | |
num = (num * z_squared) / ONE_20; | |
seriesSum += num / 11; | |
// 6 Taylor terms are sufficient for 36 decimal precision. | |
// Finally, we multiply by 2 (non fixed point) to compute ln(remainder) | |
seriesSum *= 2; | |
// We now have the sum of all x_n present, and the Taylor approximation of the logarithm of the remainder (both | |
// with 20 decimals). All that remains is to sum these two, and then drop two digits to return a 18 decimal | |
// value. | |
return (sum + seriesSum) / 100; | |
} | |
/** | |
* @dev Intrnal high precision (36 decimal places) natural logarithm (ln(x)) with signed 18 decimal fixed point argument, | |
* for x close to one. | |
* | |
* Should only be used if x is between LN_36_LOWER_BOUND and LN_36_UPPER_BOUND. | |
*/ | |
function _ln_36(int256 x) private pure returns (int256) { | |
// Since ln(1) = 0, a value of x close to one will yield a very small result, which makes using 36 digits | |
// worthwhile. | |
// First, we transform x to a 36 digit fixed point value. | |
x *= ONE_18; | |
// We will use the following Taylor expansion, which converges very rapidly. Let z = (x - 1) / (x + 1). | |
// ln(x) = 2 * (z + z^3 / 3 + z^5 / 5 + z^7 / 7 + ... + z^(2 * n + 1) / (2 * n + 1)) | |
// Recall that 36 digit fixed point division requires multiplying by ONE_36, and multiplication requires | |
// division by ONE_36. | |
int256 z = ((x - ONE_36) * ONE_36) / (x + ONE_36); | |
int256 z_squared = (z * z) / ONE_36; | |
// num is the numerator of the series: the z^(2 * n + 1) term | |
int256 num = z; | |
// seriesSum holds the accumulated sum of each term in the series, starting with the initial z | |
int256 seriesSum = num; | |
// In each step, the numerator is multiplied by z^2 | |
num = (num * z_squared) / ONE_36; | |
seriesSum += num / 3; | |
num = (num * z_squared) / ONE_36; | |
seriesSum += num / 5; | |
num = (num * z_squared) / ONE_36; | |
seriesSum += num / 7; | |
num = (num * z_squared) / ONE_36; | |
seriesSum += num / 9; | |
num = (num * z_squared) / ONE_36; | |
seriesSum += num / 11; | |
num = (num * z_squared) / ONE_36; | |
seriesSum += num / 13; | |
num = (num * z_squared) / ONE_36; | |
seriesSum += num / 15; | |
// 8 Taylor terms are sufficient for 36 decimal precision. | |
// All that remains is multiplying by 2 (non fixed point). | |
return seriesSum * 2; | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// SPDX-License-Identifier: agpl-3.0 | |
pragma solidity ^0.8.0; | |
import {LogExpMath} from "./LogExpMath.sol"; | |
contract Math { | |
uint256 internal constant WAD = 1e18; // The scalar of ETH and most ERC20s. | |
//limited to curve pools only, either 2 or 3 assets (mostly 2) | |
function nthroot(uint8 n, uint256 _product) public pure returns(uint256) { | |
//VMEX empirically checked that this is only accurate for square roots and cube roots, and the decimals are 9 and 12 respectively | |
if(n==2){ | |
return LogExpMath.pow(_product, 1e18 / n)/1e9; | |
} | |
if(n==3){ | |
return LogExpMath.pow(_product, 1e18 / n)/1e12; | |
} | |
revert("Balancer math only can handle square roots and cube roots"); | |
} | |
} |
This file has been truncated, but you can view the full file.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"id": "acd396c2d90c7dd2003594dafa8fb284", | |
"_format": "hh-sol-build-info-1", | |
"solcVersion": "0.8.18", | |
"solcLongVersion": "0.8.18+commit.87f61d96", | |
"input": { | |
"language": "Solidity", | |
"sources": { | |
"contracts/Math.sol": { | |
"content": "// SPDX-License-Identifier: agpl-3.0\npragma solidity ^0.8.0; \n\nimport {LogExpMath} from \"./LogExpMath.sol\";\n\ncontract Math {\n\n uint256 internal constant WAD = 1e18; // The scalar of ETH and most ERC20s.\n\t\n\t\n\t//limited to curve pools only, either 2 or 3 assets (mostly 2) \n\tfunction nthroot(uint8 n, uint256 _product) public pure returns(uint256) {\n\t\t//VMEX empirically checked that this is only accurate for square roots and cube roots, and the decimals are 9 and 12 respectively\n\t\tif(n==2){\n\t\t\treturn LogExpMath.pow(_product, 1e18 / n)/1e9;\n\t\t}\n\t\tif(n==3){\n\t\t\treturn LogExpMath.pow(_product, 1e18 / n)/1e12;\n\t\t}\n\t\trevert(\"Balancer math only can handle square roots and cube roots\");\n\t}\n\n}\n" | |
}, | |
"contracts/LogExpMath.sol": { | |
"content": "// SPDX-License-Identifier: MIT\n// Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated\n// documentation files (the “Software”), to deal in the Software without restriction, including without limitation the\n// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to\n// permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\n// The above copyright notice and this permission notice shall be included in all copies or substantial portions of the\n// Software.\n\n// THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE\n// WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\n// COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\npragma solidity ^0.8.0;\n\nimport \"./BalancerErrors.sol\";\n\n/* solhint-disable */\n\n/**\n * @dev Exponentiation and logarithm functions for 18 decimal fixed point numbers (both base and exponent/argument).\n *\n * Exponentiation and logarithm with arbitrary bases (x^y and log_x(y)) are implemented by conversion to natural\n * exponentiation and logarithm (where the base is Euler's number).\n *\n * @author Fernando Martinelli - @fernandomartinelli\n * @author Sergio Yuhjtman - @sergioyuhjtman\n * @author Daniel Fernandez - @dmf7z\n */\nlibrary LogExpMath {\n // All fixed point multiplications and divisions are inlined. This means we need to divide by ONE when multiplying\n // two numbers, and multiply by ONE when dividing them.\n\n // All arguments and return values are 18 decimal fixed point numbers.\n int256 constant ONE_18 = 1e18;\n\n // Internally, intermediate values are computed with higher precision as 20 decimal fixed point numbers, and in the\n // case of ln36, 36 decimals.\n int256 constant ONE_20 = 1e20;\n int256 constant ONE_36 = 1e36;\n\n // The domain of natural exponentiation is bound by the word size and number of decimals used.\n //\n // Because internally the result will be stored using 20 decimals, the largest possible result is\n // (2^255 - 1) / 10^20, which makes the largest exponent ln((2^255 - 1) / 10^20) = 130.700829182905140221.\n // The smallest possible result is 10^(-18), which makes largest negative argument\n // ln(10^(-18)) = -41.446531673892822312.\n // We use 130.0 and -41.0 to have some safety margin.\n int256 constant MAX_NATURAL_EXPONENT = 130e18;\n int256 constant MIN_NATURAL_EXPONENT = -41e18;\n\n // Bounds for ln_36's argument. Both ln(0.9) and ln(1.1) can be represented with 36 decimal places in a fixed point\n // 256 bit integer.\n int256 constant LN_36_LOWER_BOUND = ONE_18 - 1e17;\n int256 constant LN_36_UPPER_BOUND = ONE_18 + 1e17;\n\n uint256 constant MILD_EXPONENT_BOUND = 2**254 / uint256(ONE_20);\n\n // 18 decimal constants\n int256 constant x0 = 128000000000000000000; // 2ˆ7\n int256 constant a0 = 38877084059945950922200000000000000000000000000000000000; // eˆ(x0) (no decimals)\n int256 constant x1 = 64000000000000000000; // 2ˆ6\n int256 constant a1 = 6235149080811616882910000000; // eˆ(x1) (no decimals)\n\n // 20 decimal constants\n int256 constant x2 = 3200000000000000000000; // 2ˆ5\n int256 constant a2 = 7896296018268069516100000000000000; // eˆ(x2)\n int256 constant x3 = 1600000000000000000000; // 2ˆ4\n int256 constant a3 = 888611052050787263676000000; // eˆ(x3)\n int256 constant x4 = 800000000000000000000; // 2ˆ3\n int256 constant a4 = 298095798704172827474000; // eˆ(x4)\n int256 constant x5 = 400000000000000000000; // 2ˆ2\n int256 constant a5 = 5459815003314423907810; // eˆ(x5)\n int256 constant x6 = 200000000000000000000; // 2ˆ1\n int256 constant a6 = 738905609893065022723; // eˆ(x6)\n int256 constant x7 = 100000000000000000000; // 2ˆ0\n int256 constant a7 = 271828182845904523536; // eˆ(x7)\n int256 constant x8 = 50000000000000000000; // 2ˆ-1\n int256 constant a8 = 164872127070012814685; // eˆ(x8)\n int256 constant x9 = 25000000000000000000; // 2ˆ-2\n int256 constant a9 = 128402541668774148407; // eˆ(x9)\n int256 constant x10 = 12500000000000000000; // 2ˆ-3\n int256 constant a10 = 113314845306682631683; // eˆ(x10)\n int256 constant x11 = 6250000000000000000; // 2ˆ-4\n int256 constant a11 = 106449445891785942956; // eˆ(x11)\n\n /**\n * @dev Exponentiation (x^y) with unsigned 18 decimal fixed point base and exponent.\n *\n * Reverts if ln(x) * y is smaller than `MIN_NATURAL_EXPONENT`, or larger than `MAX_NATURAL_EXPONENT`.\n */\n function pow(uint256 x, uint256 y) internal pure returns (uint256) {\n if (y == 0) {\n // We solve the 0^0 indetermination by making it equal one.\n return uint256(ONE_18);\n }\n\n if (x == 0) {\n return 0;\n }\n\n // Instead of computing x^y directly, we instead rely on the properties of logarithms and exponentiation to\n // arrive at that result. In particular, exp(ln(x)) = x, and ln(x^y) = y * ln(x). This means\n // x^y = exp(y * ln(x)).\n\n // The ln function takes a signed value, so we need to make sure x fits in the signed 256 bit range.\n _require(x >> 255 == 0, Errors.X_OUT_OF_BOUNDS);\n int256 x_int256 = int256(x);\n\n // We will compute y * ln(x) in a single step. Depending on the value of x, we can either use ln or ln_36. In\n // both cases, we leave the division by ONE_18 (due to fixed point multiplication) to the end.\n\n // This prevents y * ln(x) from overflowing, and at the same time guarantees y fits in the signed 256 bit range.\n _require(y < MILD_EXPONENT_BOUND, Errors.Y_OUT_OF_BOUNDS);\n int256 y_int256 = int256(y);\n\n int256 logx_times_y;\n if (LN_36_LOWER_BOUND < x_int256 && x_int256 < LN_36_UPPER_BOUND) {\n int256 ln_36_x = _ln_36(x_int256);\n\n // ln_36_x has 36 decimal places, so multiplying by y_int256 isn't as straightforward, since we can't just\n // bring y_int256 to 36 decimal places, as it might overflow. Instead, we perform two 18 decimal\n // multiplications and add the results: one with the first 18 decimals of ln_36_x, and one with the\n // (downscaled) last 18 decimals.\n logx_times_y = ((ln_36_x / ONE_18) * y_int256 + ((ln_36_x % ONE_18) * y_int256) / ONE_18);\n } else {\n logx_times_y = _ln(x_int256) * y_int256;\n }\n logx_times_y /= ONE_18;\n\n // Finally, we compute exp(y * ln(x)) to arrive at x^y\n _require(\n MIN_NATURAL_EXPONENT <= logx_times_y && logx_times_y <= MAX_NATURAL_EXPONENT,\n Errors.PRODUCT_OUT_OF_BOUNDS\n );\n\n return uint256(exp(logx_times_y));\n }\n\n /**\n * @dev Natural exponentiation (e^x) with signed 18 decimal fixed point exponent.\n *\n * Reverts if `x` is smaller than MIN_NATURAL_EXPONENT, or larger than `MAX_NATURAL_EXPONENT`.\n */\n function exp(int256 x) internal pure returns (int256) {\n _require(x >= MIN_NATURAL_EXPONENT && x <= MAX_NATURAL_EXPONENT, Errors.INVALID_EXPONENT);\n\n if (x < 0) {\n // We only handle positive exponents: e^(-x) is computed as 1 / e^x. We can safely make x positive since it\n // fits in the signed 256 bit range (as it is larger than MIN_NATURAL_EXPONENT).\n // Fixed point division requires multiplying by ONE_18.\n return ((ONE_18 * ONE_18) / exp(-x));\n }\n\n // First, we use the fact that e^(x+y) = e^x * e^y to decompose x into a sum of powers of two, which we call x_n,\n // where x_n == 2^(7 - n), and e^x_n = a_n has been precomputed. We choose the first x_n, x0, to equal 2^7\n // because all larger powers are larger than MAX_NATURAL_EXPONENT, and therefore not present in the\n // decomposition.\n // At the end of this process we will have the product of all e^x_n = a_n that apply, and the remainder of this\n // decomposition, which will be lower than the smallest x_n.\n // exp(x) = k_0 * a_0 * k_1 * a_1 * ... + k_n * a_n * exp(remainder), where each k_n equals either 0 or 1.\n // We mutate x by subtracting x_n, making it the remainder of the decomposition.\n\n // The first two a_n (e^(2^7) and e^(2^6)) are too large if stored as 18 decimal numbers, and could cause\n // intermediate overflows. Instead we store them as plain integers, with 0 decimals.\n // Additionally, x0 + x1 is larger than MAX_NATURAL_EXPONENT, which means they will not both be present in the\n // decomposition.\n\n // For each x_n, we test if that term is present in the decomposition (if x is larger than it), and if so deduct\n // it and compute the accumulated product.\n\n int256 firstAN;\n if (x >= x0) {\n x -= x0;\n firstAN = a0;\n } else if (x >= x1) {\n x -= x1;\n firstAN = a1;\n } else {\n firstAN = 1; // One with no decimal places\n }\n\n // We now transform x into a 20 decimal fixed point number, to have enhanced precision when computing the\n // smaller terms.\n x *= 100;\n\n // `product` is the accumulated product of all a_n (except a0 and a1), which starts at 20 decimal fixed point\n // one. Recall that fixed point multiplication requires dividing by ONE_20.\n int256 product = ONE_20;\n\n if (x >= x2) {\n x -= x2;\n product = (product * a2) / ONE_20;\n }\n if (x >= x3) {\n x -= x3;\n product = (product * a3) / ONE_20;\n }\n if (x >= x4) {\n x -= x4;\n product = (product * a4) / ONE_20;\n }\n if (x >= x5) {\n x -= x5;\n product = (product * a5) / ONE_20;\n }\n if (x >= x6) {\n x -= x6;\n product = (product * a6) / ONE_20;\n }\n if (x >= x7) {\n x -= x7;\n product = (product * a7) / ONE_20;\n }\n if (x >= x8) {\n x -= x8;\n product = (product * a8) / ONE_20;\n }\n if (x >= x9) {\n x -= x9;\n product = (product * a9) / ONE_20;\n }\n\n // x10 and x11 are unnecessary here since we have high enough precision already.\n\n // Now we need to compute e^x, where x is small (in particular, it is smaller than x9). We use the Taylor series\n // expansion for e^x: 1 + x + (x^2 / 2!) + (x^3 / 3!) + ... + (x^n / n!).\n\n int256 seriesSum = ONE_20; // The initial one in the sum, with 20 decimal places.\n int256 term; // Each term in the sum, where the nth term is (x^n / n!).\n\n // The first term is simply x.\n term = x;\n seriesSum += term;\n\n // Each term (x^n / n!) equals the previous one times x, divided by n. Since x is a fixed point number,\n // multiplying by it requires dividing by ONE_20, but dividing by the non-fixed point n values does not.\n\n term = ((term * x) / ONE_20) / 2;\n seriesSum += term;\n\n term = ((term * x) / ONE_20) / 3;\n seriesSum += term;\n\n term = ((term * x) / ONE_20) / 4;\n seriesSum += term;\n\n term = ((term * x) / ONE_20) / 5;\n seriesSum += term;\n\n term = ((term * x) / ONE_20) / 6;\n seriesSum += term;\n\n term = ((term * x) / ONE_20) / 7;\n seriesSum += term;\n\n term = ((term * x) / ONE_20) / 8;\n seriesSum += term;\n\n term = ((term * x) / ONE_20) / 9;\n seriesSum += term;\n\n term = ((term * x) / ONE_20) / 10;\n seriesSum += term;\n\n term = ((term * x) / ONE_20) / 11;\n seriesSum += term;\n\n term = ((term * x) / ONE_20) / 12;\n seriesSum += term;\n\n // 12 Taylor terms are sufficient for 18 decimal precision.\n\n // We now have the first a_n (with no decimals), and the product of all other a_n present, and the Taylor\n // approximation of the exponentiation of the remainder (both with 20 decimals). All that remains is to multiply\n // all three (one 20 decimal fixed point multiplication, dividing by ONE_20, and one integer multiplication),\n // and then drop two digits to return an 18 decimal value.\n\n return (((product * seriesSum) / ONE_20) * firstAN) / 100;\n }\n\n /**\n * @dev Logarithm (log(arg, base), with signed 18 decimal fixed point base and argument.\n */\n function log(int256 arg, int256 base) internal pure returns (int256) {\n // This performs a simple base change: log(arg, base) = ln(arg) / ln(base).\n\n // Both logBase and logArg are computed as 36 decimal fixed point numbers, either by using ln_36, or by\n // upscaling.\n\n int256 logBase;\n if (LN_36_LOWER_BOUND < base && base < LN_36_UPPER_BOUND) {\n logBase = _ln_36(base);\n } else {\n logBase = _ln(base) * ONE_18;\n }\n\n int256 logArg;\n if (LN_36_LOWER_BOUND < arg && arg < LN_36_UPPER_BOUND) {\n logArg = _ln_36(arg);\n } else {\n logArg = _ln(arg) * ONE_18;\n }\n\n // When dividing, we multiply by ONE_18 to arrive at a result with 18 decimal places\n return (logArg * ONE_18) / logBase;\n }\n\n /**\n * @dev Natural logarithm (ln(a)) with signed 18 decimal fixed point argument.\n */\n function ln(int256 a) internal pure returns (int256) {\n // The real natural logarithm is not defined for negative numbers or zero.\n _require(a > 0, Errors.OUT_OF_BOUNDS);\n if (LN_36_LOWER_BOUND < a && a < LN_36_UPPER_BOUND) {\n return _ln_36(a) / ONE_18;\n } else {\n return _ln(a);\n }\n }\n\n /**\n * @dev Internal natural logarithm (ln(a)) with signed 18 decimal fixed point argument.\n */\n function _ln(int256 a) private pure returns (int256) {\n if (a < ONE_18) {\n // Since ln(a^k) = k * ln(a), we can compute ln(a) as ln(a) = ln((1/a)^(-1)) = - ln((1/a)). If a is less\n // than one, 1/a will be greater than one, and this if statement will not be entered in the recursive call.\n // Fixed point division requires multiplying by ONE_18.\n return (-_ln((ONE_18 * ONE_18) / a));\n }\n\n // First, we use the fact that ln^(a * b) = ln(a) + ln(b) to decompose ln(a) into a sum of powers of two, which\n // we call x_n, where x_n == 2^(7 - n), which are the natural logarithm of precomputed quantities a_n (that is,\n // ln(a_n) = x_n). We choose the first x_n, x0, to equal 2^7 because the exponential of all larger powers cannot\n // be represented as 18 fixed point decimal numbers in 256 bits, and are therefore larger than a.\n // At the end of this process we will have the sum of all x_n = ln(a_n) that apply, and the remainder of this\n // decomposition, which will be lower than the smallest a_n.\n // ln(a) = k_0 * x_0 + k_1 * x_1 + ... + k_n * x_n + ln(remainder), where each k_n equals either 0 or 1.\n // We mutate a by subtracting a_n, making it the remainder of the decomposition.\n\n // For reasons related to how `exp` works, the first two a_n (e^(2^7) and e^(2^6)) are not stored as fixed point\n // numbers with 18 decimals, but instead as plain integers with 0 decimals, so we need to multiply them by\n // ONE_18 to convert them to fixed point.\n // For each a_n, we test if that term is present in the decomposition (if a is larger than it), and if so divide\n // by it and compute the accumulated sum.\n\n int256 sum = 0;\n if (a >= a0 * ONE_18) {\n a /= a0; // Integer, not fixed point division\n sum += x0;\n }\n\n if (a >= a1 * ONE_18) {\n a /= a1; // Integer, not fixed point division\n sum += x1;\n }\n\n // All other a_n and x_n are stored as 20 digit fixed point numbers, so we convert the sum and a to this format.\n sum *= 100;\n a *= 100;\n\n // Because further a_n are 20 digit fixed point numbers, we multiply by ONE_20 when dividing by them.\n\n if (a >= a2) {\n a = (a * ONE_20) / a2;\n sum += x2;\n }\n\n if (a >= a3) {\n a = (a * ONE_20) / a3;\n sum += x3;\n }\n\n if (a >= a4) {\n a = (a * ONE_20) / a4;\n sum += x4;\n }\n\n if (a >= a5) {\n a = (a * ONE_20) / a5;\n sum += x5;\n }\n\n if (a >= a6) {\n a = (a * ONE_20) / a6;\n sum += x6;\n }\n\n if (a >= a7) {\n a = (a * ONE_20) / a7;\n sum += x7;\n }\n\n if (a >= a8) {\n a = (a * ONE_20) / a8;\n sum += x8;\n }\n\n if (a >= a9) {\n a = (a * ONE_20) / a9;\n sum += x9;\n }\n\n if (a >= a10) {\n a = (a * ONE_20) / a10;\n sum += x10;\n }\n\n if (a >= a11) {\n a = (a * ONE_20) / a11;\n sum += x11;\n }\n\n // a is now a small number (smaller than a_11, which roughly equals 1.06). This means we can use a Taylor series\n // that converges rapidly for values of `a` close to one - the same one used in ln_36.\n // Let z = (a - 1) / (a + 1).\n // ln(a) = 2 * (z + z^3 / 3 + z^5 / 5 + z^7 / 7 + ... + z^(2 * n + 1) / (2 * n + 1))\n\n // Recall that 20 digit fixed point division requires multiplying by ONE_20, and multiplication requires\n // division by ONE_20.\n int256 z = ((a - ONE_20) * ONE_20) / (a + ONE_20);\n int256 z_squared = (z * z) / ONE_20;\n\n // num is the numerator of the series: the z^(2 * n + 1) term\n int256 num = z;\n\n // seriesSum holds the accumulated sum of each term in the series, starting with the initial z\n int256 seriesSum = num;\n\n // In each step, the numerator is multiplied by z^2\n num = (num * z_squared) / ONE_20;\n seriesSum += num / 3;\n\n num = (num * z_squared) / ONE_20;\n seriesSum += num / 5;\n\n num = (num * z_squared) / ONE_20;\n seriesSum += num / 7;\n\n num = (num * z_squared) / ONE_20;\n seriesSum += num / 9;\n\n num = (num * z_squared) / ONE_20;\n seriesSum += num / 11;\n\n // 6 Taylor terms are sufficient for 36 decimal precision.\n\n // Finally, we multiply by 2 (non fixed point) to compute ln(remainder)\n seriesSum *= 2;\n\n // We now have the sum of all x_n present, and the Taylor approximation of the logarithm of the remainder (both\n // with 20 decimals). All that remains is to sum these two, and then drop two digits to return a 18 decimal\n // value.\n\n return (sum + seriesSum) / 100;\n }\n\n /**\n * @dev Intrnal high precision (36 decimal places) natural logarithm (ln(x)) with signed 18 decimal fixed point argument,\n * for x close to one.\n *\n * Should only be used if x is between LN_36_LOWER_BOUND and LN_36_UPPER_BOUND.\n */\n function _ln_36(int256 x) private pure returns (int256) {\n // Since ln(1) = 0, a value of x close to one will yield a very small result, which makes using 36 digits\n // worthwhile.\n\n // First, we transform x to a 36 digit fixed point value.\n x *= ONE_18;\n\n // We will use the following Taylor expansion, which converges very rapidly. Let z = (x - 1) / (x + 1).\n // ln(x) = 2 * (z + z^3 / 3 + z^5 / 5 + z^7 / 7 + ... + z^(2 * n + 1) / (2 * n + 1))\n\n // Recall that 36 digit fixed point division requires multiplying by ONE_36, and multiplication requires\n // division by ONE_36.\n int256 z = ((x - ONE_36) * ONE_36) / (x + ONE_36);\n int256 z_squared = (z * z) / ONE_36;\n\n // num is the numerator of the series: the z^(2 * n + 1) term\n int256 num = z;\n\n // seriesSum holds the accumulated sum of each term in the series, starting with the initial z\n int256 seriesSum = num;\n\n // In each step, the numerator is multiplied by z^2\n num = (num * z_squared) / ONE_36;\n seriesSum += num / 3;\n\n num = (num * z_squared) / ONE_36;\n seriesSum += num / 5;\n\n num = (num * z_squared) / ONE_36;\n seriesSum += num / 7;\n\n num = (num * z_squared) / ONE_36;\n seriesSum += num / 9;\n\n num = (num * z_squared) / ONE_36;\n seriesSum += num / 11;\n\n num = (num * z_squared) / ONE_36;\n seriesSum += num / 13;\n\n num = (num * z_squared) / ONE_36;\n seriesSum += num / 15;\n\n // 8 Taylor terms are sufficient for 36 decimal precision.\n\n // All that remains is multiplying by 2 (non fixed point).\n return seriesSum * 2;\n }\n}" | |
}, | |
"contracts/BalancerErrors.sol": { | |
"content": "// SPDX-License-Identifier: GPL-3.0-or-later\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU General Public License for more details.\n// You should have received a copy of the GNU General Public License\n// along with this program. If not, see .\npragma solidity >=0.8.0 <0.9.0;\n// solhint-disable\n/**\n * @dev Reverts if `condition` is false, with a revert reason containing `errorCode`. Only codes up to 999 are\n * supported.\n * Uses the default 'BAL' prefix for the error code\n */\nfunction _require(bool condition, uint256 errorCode) pure {\n if (!condition) _revert(errorCode);\n}\n/**\n * @dev Reverts if `condition` is false, with a revert reason containing `errorCode`. Only codes up to 999 are\n * supported.\n */\nfunction _require(\n bool condition,\n uint256 errorCode,\n bytes3 prefix\n) pure {\n if (!condition) _revert(errorCode, prefix);\n}\n/**\n * @dev Reverts with a revert reason containing `errorCode`. Only codes up to 999 are supported.\n * Uses the default 'BAL' prefix for the error code\n */\nfunction _revert(uint256 errorCode) pure {\n _revert(errorCode, 0x42414c); // This is the raw byte representation of \"BAL\"\n}\n/**\n * @dev Reverts with a revert reason containing `errorCode`. Only codes up to 999 are supported.\n */\nfunction _revert(uint256 errorCode, bytes3 prefix) pure {\n uint256 prefixUint = uint256(uint24(prefix));\n // We're going to dynamically create a revert string based on the error code, with the following format:\n // 'BAL#{errorCode}'\n // where the code is left-padded with zeroes to three digits (so they range from 000 to 999).\n //\n // We don't have revert strings embedded in the contract to save bytecode size: it takes much less space to store a\n // number (8 to 16 bits) than the individual string characters.\n //\n // The dynamic string creation algorithm that follows could be implemented in Solidity, but assembly allows for a\n // much denser implementation, again saving bytecode size. Given this function unconditionally reverts, this is a\n // safe place to rely on it without worrying about how its usage might affect e.g. memory contents.\n assembly {\n // First, we need to compute the ASCII representation of the error code. We assume that it is in the 0-999\n // range, so we only need to convert three digits. To convert the digits to ASCII, we add 0x30, the value for\n // the '0' character.\n let units := add(mod(errorCode, 10), 0x30)\n errorCode := div(errorCode, 10)\n let tenths := add(mod(errorCode, 10), 0x30)\n errorCode := div(errorCode, 10)\n let hundreds := add(mod(errorCode, 10), 0x30)\n // With the individual characters, we can now construct the full string.\n // We first append the '#' character (0x23) to the prefix. In the case of 'BAL', it results in 0x42414c23 ('BAL#')\n // Then, we shift this by 24 (to provide space for the 3 bytes of the error code), and add the\n // characters to it, each shifted by a multiple of 8.\n // The revert reason is then shifted left by 200 bits (256 minus the length of the string, 7 characters * 8 bits\n // per character = 56) to locate it in the most significant part of the 256 slot (the beginning of a byte\n // array).\n let formattedPrefix := shl(24, add(0x23, shl(8, prefixUint)))\n let revertReason := shl(200, add(formattedPrefix, add(add(units, shl(8, tenths)), shl(16, hundreds))))\n // We can now encode the reason in memory, which can be safely overwritten as we're about to revert. The encoded\n // message will have the following layout:\n // [ revert reason identifier ] [ string location offset ] [ string length ] [ string contents ]\n // The Solidity revert reason identifier is 0x08c739a0, the function selector of the Error(string) function. We\n // also write zeroes to the next 28 bytes of memory, but those are about to be overwritten.\n mstore(0x0, 0x08c379a000000000000000000000000000000000000000000000000000000000)\n // Next is the offset to the location of the string, which will be placed immediately after (20 bytes away).\n mstore(0x04, 0x0000000000000000000000000000000000000000000000000000000000000020)\n // The string length is fixed: 7 characters.\n mstore(0x24, 7)\n // Finally, the string itself is stored.\n mstore(0x44, revertReason)\n // Even if the string is only 7 bytes long, we need to return a full 32 byte slot containing it. The length of\n // the encoded message is therefore 4 + 32 + 32 + 32 = 100.\n revert(0, 100)\n }\n}\nlibrary Errors {\n // Math\n uint256 internal constant ADD_OVERFLOW = 0;\n uint256 internal constant SUB_OVERFLOW = 1;\n uint256 internal constant SUB_UNDERFLOW = 2;\n uint256 internal constant MUL_OVERFLOW = 3;\n uint256 internal constant ZERO_DIVISION = 4;\n uint256 internal constant DIV_INTERNAL = 5;\n uint256 internal constant X_OUT_OF_BOUNDS = 6;\n uint256 internal constant Y_OUT_OF_BOUNDS = 7;\n uint256 internal constant PRODUCT_OUT_OF_BOUNDS = 8;\n uint256 internal constant INVALID_EXPONENT = 9;\n // Input\n uint256 internal constant OUT_OF_BOUNDS = 100;\n uint256 internal constant UNSORTED_ARRAY = 101;\n uint256 internal constant UNSORTED_TOKENS = 102;\n uint256 internal constant INPUT_LENGTH_MISMATCH = 103;\n uint256 internal constant ZERO_TOKEN = 104;\n uint256 internal constant INSUFFICIENT_DATA = 105;\n // Shared pools\n uint256 internal constant MIN_TOKENS = 200;\n uint256 internal constant MAX_TOKENS = 201;\n uint256 internal constant MAX_SWAP_FEE_PERCENTAGE = 202;\n uint256 internal constant MIN_SWAP_FEE_PERCENTAGE = 203;\n uint256 internal constant MINIMUM_BPT = 204;\n uint256 internal constant CALLER_NOT_VAULT = 205;\n uint256 internal constant UNINITIALIZED = 206;\n uint256 internal constant BPT_IN_MAX_AMOUNT = 207;\n uint256 internal constant BPT_OUT_MIN_AMOUNT = 208;\n uint256 internal constant EXPIRED_PERMIT = 209;\n uint256 internal constant NOT_TWO_TOKENS = 210;\n uint256 internal constant DISABLED = 211;\n // Pools\n uint256 internal constant MIN_AMP = 300;\n uint256 internal constant MAX_AMP = 301;\n uint256 internal constant MIN_WEIGHT = 302;\n uint256 internal constant MAX_STABLE_TOKENS = 303;\n uint256 internal constant MAX_IN_RATIO = 304;\n uint256 internal constant MAX_OUT_RATIO = 305;\n uint256 internal constant MIN_BPT_IN_FOR_TOKEN_OUT = 306;\n uint256 internal constant MAX_OUT_BPT_FOR_TOKEN_IN = 307;\n uint256 internal constant NORMALIZED_WEIGHT_INVARIANT = 308;\n uint256 internal constant INVALID_TOKEN = 309;\n uint256 internal constant UNHANDLED_JOIN_KIND = 310;\n uint256 internal constant ZERO_INVARIANT = 311;\n uint256 internal constant ORACLE_INVALID_SECONDS_QUERY = 312;\n uint256 internal constant ORACLE_NOT_INITIALIZED = 313;\n uint256 internal constant ORACLE_QUERY_TOO_OLD = 314;\n uint256 internal constant ORACLE_INVALID_INDEX = 315;\n uint256 internal constant ORACLE_BAD_SECS = 316;\n uint256 internal constant AMP_END_TIME_TOO_CLOSE = 317;\n uint256 internal constant AMP_ONGOING_UPDATE = 318;\n uint256 internal constant AMP_RATE_TOO_HIGH = 319;\n uint256 internal constant AMP_NO_ONGOING_UPDATE = 320;\n uint256 internal constant STABLE_INVARIANT_DIDNT_CONVERGE = 321;\n uint256 internal constant STABLE_GET_BALANCE_DIDNT_CONVERGE = 322;\n uint256 internal constant RELAYER_NOT_CONTRACT = 323;\n uint256 internal constant BASE_POOL_RELAYER_NOT_CALLED = 324;\n uint256 internal constant REBALANCING_RELAYER_REENTERED = 325;\n uint256 internal constant GRADUAL_UPDATE_TIME_TRAVEL = 326;\n uint256 internal constant SWAPS_DISABLED = 327;\n uint256 internal constant CALLER_IS_NOT_LBP_OWNER = 328;\n uint256 internal constant PRICE_RATE_OVERFLOW = 329;\n uint256 internal constant INVALID_JOIN_EXIT_KIND_WHILE_SWAPS_DISABLED = 330;\n uint256 internal constant WEIGHT_CHANGE_TOO_FAST = 331;\n uint256 internal constant LOWER_GREATER_THAN_UPPER_TARGET = 332;\n uint256 internal constant UPPER_TARGET_TOO_HIGH = 333;\n uint256 internal constant UNHANDLED_BY_LINEAR_POOL = 334;\n uint256 internal constant OUT_OF_TARGET_RANGE = 335;\n uint256 internal constant UNHANDLED_EXIT_KIND = 336;\n uint256 internal constant UNAUTHORIZED_EXIT = 337;\n uint256 internal constant MAX_MANAGEMENT_SWAP_FEE_PERCENTAGE = 338;\n uint256 internal constant UNHANDLED_BY_MANAGED_POOL = 339;\n uint256 internal constant UNHANDLED_BY_PHANTOM_POOL = 340;\n uint256 internal constant TOKEN_DOES_NOT_HAVE_RATE_PROVIDER = 341;\n uint256 internal constant INVALID_INITIALIZATION = 342;\n uint256 internal constant OUT_OF_NEW_TARGET_RANGE = 343;\n uint256 internal constant FEATURE_DISABLED = 344;\n uint256 internal constant UNINITIALIZED_POOL_CONTROLLER = 345;\n uint256 internal constant SET_SWAP_FEE_DURING_FEE_CHANGE = 346;\n uint256 internal constant SET_SWAP_FEE_PENDING_FEE_CHANGE = 347;\n uint256 internal constant CHANGE_TOKENS_DURING_WEIGHT_CHANGE = 348;\n uint256 internal constant CHANGE_TOKENS_PENDING_WEIGHT_CHANGE = 349;\n uint256 internal constant MAX_WEIGHT = 350;\n uint256 internal constant UNAUTHORIZED_JOIN = 351;\n uint256 internal constant MAX_MANAGEMENT_AUM_FEE_PERCENTAGE = 352;\n uint256 internal constant FRACTIONAL_TARGET = 353;\n uint256 internal constant ADD_OR_REMOVE_BPT = 354;\n uint256 internal constant INVALID_CIRCUIT_BREAKER_BOUNDS = 355;\n uint256 internal constant CIRCUIT_BREAKER_TRIPPED = 356;\n uint256 internal constant MALICIOUS_QUERY_REVERT = 357;\n uint256 internal constant JOINS_EXITS_DISABLED = 358;\n // Lib\n uint256 internal constant REENTRANCY = 400;\n uint256 internal constant SENDER_NOT_ALLOWED = 401;\n uint256 internal constant PAUSED = 402;\n uint256 internal constant PAUSE_WINDOW_EXPIRED = 403;\n uint256 internal constant MAX_PAUSE_WINDOW_DURATION = 404;\n uint256 internal constant MAX_BUFFER_PERIOD_DURATION = 405;\n uint256 internal constant INSUFFICIENT_BALANCE = 406;\n uint256 internal constant INSUFFICIENT_ALLOWANCE = 407;\n uint256 internal constant ERC20_TRANSFER_FROM_ZERO_ADDRESS = 408;\n uint256 internal constant ERC20_TRANSFER_TO_ZERO_ADDRESS = 409;\n uint256 internal constant ERC20_MINT_TO_ZERO_ADDRESS = 410;\n uint256 internal constant ERC20_BURN_FROM_ZERO_ADDRESS = 411;\n uint256 internal constant ERC20_APPROVE_FROM_ZERO_ADDRESS = 412;\n uint256 internal constant ERC20_APPROVE_TO_ZERO_ADDRESS = 413;\n uint256 internal constant ERC20_TRANSFER_EXCEEDS_ALLOWANCE = 414;\n uint256 internal constant ERC20_DECREASED_ALLOWANCE_BELOW_ZERO = 415;\n uint256 internal constant ERC20_TRANSFER_EXCEEDS_BALANCE = 416;\n uint256 internal constant ERC20_BURN_EXCEEDS_ALLOWANCE = 417;\n uint256 internal constant SAFE_ERC20_CALL_FAILED = 418;\n uint256 internal constant ADDRESS_INSUFFICIENT_BALANCE = 419;\n uint256 internal constant ADDRESS_CANNOT_SEND_VALUE = 420;\n uint256 internal constant SAFE_CAST_VALUE_CANT_FIT_INT256 = 421;\n uint256 internal constant GRANT_SENDER_NOT_ADMIN = 422;\n uint256 internal constant REVOKE_SENDER_NOT_ADMIN = 423;\n uint256 internal constant RENOUNCE_SENDER_NOT_ALLOWED = 424;\n uint256 internal constant BUFFER_PERIOD_EXPIRED = 425;\n uint256 internal constant CALLER_IS_NOT_OWNER = 426;\n uint256 internal constant NEW_OWNER_IS_ZERO = 427;\n uint256 internal constant CODE_DEPLOYMENT_FAILED = 428;\n uint256 internal constant CALL_TO_NON_CONTRACT = 429;\n uint256 internal constant LOW_LEVEL_CALL_FAILED = 430;\n uint256 internal constant NOT_PAUSED = 431;\n uint256 internal constant ADDRESS_ALREADY_ALLOWLISTED = 432;\n uint256 internal constant ADDRESS_NOT_ALLOWLISTED = 433;\n uint256 internal constant ERC20_BURN_EXCEEDS_BALANCE = 434;\n uint256 internal constant INVALID_OPERATION = 435;\n uint256 internal constant CODEC_OVERFLOW = 436;\n uint256 internal constant IN_RECOVERY_MODE = 437;\n uint256 internal constant NOT_IN_RECOVERY_MODE = 438;\n uint256 internal constant INDUCED_FAILURE = 439;\n uint256 internal constant EXPIRED_SIGNATURE = 440;\n uint256 internal constant MALFORMED_SIGNATURE = 441;\n uint256 internal constant SAFE_CAST_VALUE_CANT_FIT_UINT64 = 442;\n uint256 internal constant UNHANDLED_FEE_TYPE = 443;\n uint256 internal constant BURN_FROM_ZERO = 444;\n // Vault\n uint256 internal constant INVALID_POOL_ID = 500;\n uint256 internal constant CALLER_NOT_POOL = 501;\n uint256 internal constant SENDER_NOT_ASSET_MANAGER = 502;\n uint256 internal constant USER_DOESNT_ALLOW_RELAYER = 503;\n uint256 internal constant INVALID_SIGNATURE = 504;\n uint256 internal constant EXIT_BELOW_MIN = 505;\n uint256 internal constant JOIN_ABOVE_MAX = 506;\n uint256 internal constant SWAP_LIMIT = 507;\n uint256 internal constant SWAP_DEADLINE = 508;\n uint256 internal constant CANNOT_SWAP_SAME_TOKEN = 509;\n uint256 internal constant UNKNOWN_AMOUNT_IN_FIRST_SWAP = 510;\n uint256 internal constant MALCONSTRUCTED_MULTIHOP_SWAP = 511;\n uint256 internal constant INTERNAL_BALANCE_OVERFLOW = 512;\n uint256 internal constant INSUFFICIENT_INTERNAL_BALANCE = 513;\n uint256 internal constant INVALID_ETH_INTERNAL_BALANCE = 514;\n uint256 internal constant INVALID_POST_LOAN_BALANCE = 515;\n uint256 internal constant INSUFFICIENT_ETH = 516;\n uint256 internal constant UNALLOCATED_ETH = 517;\n uint256 internal constant ETH_TRANSFER = 518;\n uint256 internal constant CANNOT_USE_ETH_SENTINEL = 519;\n uint256 internal constant TOKENS_MISMATCH = 520;\n uint256 internal constant TOKEN_NOT_REGISTERED = 521;\n uint256 internal constant TOKEN_ALREADY_REGISTERED = 522;\n uint256 internal constant TOKENS_ALREADY_SET = 523;\n uint256 internal constant TOKENS_LENGTH_MUST_BE_2 = 524;\n uint256 internal constant NONZERO_TOKEN_BALANCE = 525;\n uint256 internal constant BALANCE_TOTAL_OVERFLOW = 526;\n uint256 internal constant POOL_NO_TOKENS = 527;\n uint256 internal constant INSUFFICIENT_FLASH_LOAN_BALANCE = 528;\n // Fees\n uint256 internal constant SWAP_FEE_PERCENTAGE_TOO_HIGH = 600;\n uint256 internal constant FLASH_LOAN_FEE_PERCENTAGE_TOO_HIGH = 601;\n uint256 internal constant INSUFFICIENT_FLASH_LOAN_FEE_AMOUNT = 602;\n uint256 internal constant AUM_FEE_PERCENTAGE_TOO_HIGH = 603;\n // FeeSplitter\n uint256 internal constant SPLITTER_FEE_PERCENTAGE_TOO_HIGH = 700;\n // Misc\n uint256 internal constant UNIMPLEMENTED = 998;\n uint256 internal constant SHOULD_NOT_HAPPEN = 999;\n}" | |
} | |
}, | |
"settings": { | |
"optimizer": { | |
"enabled": false, | |
"runs": 200 | |
}, | |
"outputSelection": { | |
"*": { | |
"": [ | |
"ast" | |
], | |
"*": [ | |
"abi", | |
"metadata", | |
"devdoc", | |
"userdoc", | |
"storageLayout", | |
"evm.legacyAssembly", | |
"evm.bytecode", | |
"evm.deployedBytecode", | |
"evm.methodIdentifiers", | |
"evm.gasEstimates", | |
"evm.assembly" | |
] | |
} | |
} | |
} | |
}, | |
"output": { | |
"contracts": { | |
"contracts/BalancerErrors.sol": { | |
"Errors": { | |
"abi": [], | |
"devdoc": { | |
"kind": "dev", | |
"methods": {}, | |
"version": 1 | |
}, | |
"evm": { | |
"assembly": " /* \"contracts/BalancerErrors.sol\":5025:15040 library Errors {... */\n dataSize(sub_0)\n dataOffset(sub_0)\n 0x0b\n dup3\n dup3\n dup3\n codecopy\n dup1\n mload\n 0x00\n byte\n 0x73\n eq\n tag_1\n jumpi\n mstore(0x00, 0x4e487b7100000000000000000000000000000000000000000000000000000000)\n mstore(0x04, 0x00)\n revert(0x00, 0x24)\ntag_1:\n mstore(0x00, address)\n 0x73\n dup2\n mstore8\n dup3\n dup2\n return\nstop\n\nsub_0: assembly {\n /* \"contracts/BalancerErrors.sol\":5025:15040 library Errors {... */\n eq(address, deployTimeAddress())\n mstore(0x40, 0x80)\n 0x00\n dup1\n revert\n\n auxdata: 0xa26469706673582212209bdc67a52b5130afc04a1c002a12e3ee31c6a181cb73595de74a594d71f7378a64736f6c63430008120033\n}\n", | |
"bytecode": { | |
"functionDebugData": {}, | |
"generatedSources": [], | |
"linkReferences": {}, | |
"object": "60566050600b82828239805160001a6073146043577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212209bdc67a52b5130afc04a1c002a12e3ee31c6a181cb73595de74a594d71f7378a64736f6c63430008120033", | |
"opcodes": "PUSH1 0x56 PUSH1 0x50 PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x43 JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SWAP12 0xDC PUSH8 0xA52B5130AFC04A1C STOP 0x2A SLT 0xE3 0xEE BALANCE 0xC6 LOG1 DUP2 0xCB PUSH20 0x595DE74A594D71F7378A64736F6C634300081200 CALLER ", | |
"sourceMap": "5025:10015:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;" | |
}, | |
"deployedBytecode": { | |
"functionDebugData": {}, | |
"generatedSources": [], | |
"immutableReferences": {}, | |
"linkReferences": {}, | |
"object": "73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212209bdc67a52b5130afc04a1c002a12e3ee31c6a181cb73595de74a594d71f7378a64736f6c63430008120033", | |
"opcodes": "PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SWAP12 0xDC PUSH8 0xA52B5130AFC04A1C STOP 0x2A SLT 0xE3 0xEE BALANCE 0xC6 LOG1 DUP2 0xCB PUSH20 0x595DE74A594D71F7378A64736F6C634300081200 CALLER ", | |
"sourceMap": "5025:10015:0:-:0;;;;;;;;" | |
}, | |
"gasEstimates": { | |
"creation": { | |
"codeDepositCost": "17200", | |
"executionCost": "97", | |
"totalCost": "17297" | |
} | |
}, | |
"legacyAssembly": { | |
".code": [ | |
{ | |
"begin": 5025, | |
"end": 15040, | |
"name": "PUSH #[$]", | |
"source": 0, | |
"value": "0000000000000000000000000000000000000000000000000000000000000000" | |
}, | |
{ | |
"begin": 5025, | |
"end": 15040, | |
"name": "PUSH [$]", | |
"source": 0, | |
"value": "0000000000000000000000000000000000000000000000000000000000000000" | |
}, | |
{ | |
"begin": 5025, | |
"end": 15040, | |
"name": "PUSH", | |
"source": 0, | |
"value": "B" | |
}, | |
{ | |
"begin": 5025, | |
"end": 15040, | |
"name": "DUP3", | |
"source": 0 | |
}, | |
{ | |
"begin": 5025, | |
"end": 15040, | |
"name": "DUP3", | |
"source": 0 | |
}, | |
{ | |
"begin": 5025, | |
"end": 15040, | |
"name": "DUP3", | |
"source": 0 | |
}, | |
{ | |
"begin": 5025, | |
"end": 15040, | |
"name": "CODECOPY", | |
"source": 0 | |
}, | |
{ | |
"begin": 5025, | |
"end": 15040, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 5025, | |
"end": 15040, | |
"name": "MLOAD", | |
"source": 0 | |
}, | |
{ | |
"begin": 5025, | |
"end": 15040, | |
"name": "PUSH", | |
"source": 0, | |
"value": "0" | |
}, | |
{ | |
"begin": 5025, | |
"end": 15040, | |
"name": "BYTE", | |
"source": 0 | |
}, | |
{ | |
"begin": 5025, | |
"end": 15040, | |
"name": "PUSH", | |
"source": 0, | |
"value": "73" | |
}, | |
{ | |
"begin": 5025, | |
"end": 15040, | |
"name": "EQ", | |
"source": 0 | |
}, | |
{ | |
"begin": 5025, | |
"end": 15040, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "1" | |
}, | |
{ | |
"begin": 5025, | |
"end": 15040, | |
"name": "JUMPI", | |
"source": 0 | |
}, | |
{ | |
"begin": 5025, | |
"end": 15040, | |
"name": "PUSH", | |
"source": 0, | |
"value": "4E487B7100000000000000000000000000000000000000000000000000000000" | |
}, | |
{ | |
"begin": 5025, | |
"end": 15040, | |
"name": "PUSH", | |
"source": 0, | |
"value": "0" | |
}, | |
{ | |
"begin": 5025, | |
"end": 15040, | |
"name": "MSTORE", | |
"source": 0 | |
}, | |
{ | |
"begin": 5025, | |
"end": 15040, | |
"name": "PUSH", | |
"source": 0, | |
"value": "0" | |
}, | |
{ | |
"begin": 5025, | |
"end": 15040, | |
"name": "PUSH", | |
"source": 0, | |
"value": "4" | |
}, | |
{ | |
"begin": 5025, | |
"end": 15040, | |
"name": "MSTORE", | |
"source": 0 | |
}, | |
{ | |
"begin": 5025, | |
"end": 15040, | |
"name": "PUSH", | |
"source": 0, | |
"value": "24" | |
}, | |
{ | |
"begin": 5025, | |
"end": 15040, | |
"name": "PUSH", | |
"source": 0, | |
"value": "0" | |
}, | |
{ | |
"begin": 5025, | |
"end": 15040, | |
"name": "REVERT", | |
"source": 0 | |
}, | |
{ | |
"begin": 5025, | |
"end": 15040, | |
"name": "tag", | |
"source": 0, | |
"value": "1" | |
}, | |
{ | |
"begin": 5025, | |
"end": 15040, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": 5025, | |
"end": 15040, | |
"name": "ADDRESS", | |
"source": 0 | |
}, | |
{ | |
"begin": 5025, | |
"end": 15040, | |
"name": "PUSH", | |
"source": 0, | |
"value": "0" | |
}, | |
{ | |
"begin": 5025, | |
"end": 15040, | |
"name": "MSTORE", | |
"source": 0 | |
}, | |
{ | |
"begin": 5025, | |
"end": 15040, | |
"name": "PUSH", | |
"source": 0, | |
"value": "73" | |
}, | |
{ | |
"begin": 5025, | |
"end": 15040, | |
"name": "DUP2", | |
"source": 0 | |
}, | |
{ | |
"begin": 5025, | |
"end": 15040, | |
"name": "MSTORE8", | |
"source": 0 | |
}, | |
{ | |
"begin": 5025, | |
"end": 15040, | |
"name": "DUP3", | |
"source": 0 | |
}, | |
{ | |
"begin": 5025, | |
"end": 15040, | |
"name": "DUP2", | |
"source": 0 | |
}, | |
{ | |
"begin": 5025, | |
"end": 15040, | |
"name": "RETURN", | |
"source": 0 | |
} | |
], | |
".data": { | |
"0": { | |
".auxdata": "a26469706673582212209bdc67a52b5130afc04a1c002a12e3ee31c6a181cb73595de74a594d71f7378a64736f6c63430008120033", | |
".code": [ | |
{ | |
"begin": 5025, | |
"end": 15040, | |
"name": "PUSHDEPLOYADDRESS", | |
"source": 0 | |
}, | |
{ | |
"begin": 5025, | |
"end": 15040, | |
"name": "ADDRESS", | |
"source": 0 | |
}, | |
{ | |
"begin": 5025, | |
"end": 15040, | |
"name": "EQ", | |
"source": 0 | |
}, | |
{ | |
"begin": 5025, | |
"end": 15040, | |
"name": "PUSH", | |
"source": 0, | |
"value": "80" | |
}, | |
{ | |
"begin": 5025, | |
"end": 15040, | |
"name": "PUSH", | |
"source": 0, | |
"value": "40" | |
}, | |
{ | |
"begin": 5025, | |
"end": 15040, | |
"name": "MSTORE", | |
"source": 0 | |
}, | |
{ | |
"begin": 5025, | |
"end": 15040, | |
"name": "PUSH", | |
"source": 0, | |
"value": "0" | |
}, | |
{ | |
"begin": 5025, | |
"end": 15040, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 5025, | |
"end": 15040, | |
"name": "REVERT", | |
"source": 0 | |
} | |
] | |
} | |
}, | |
"sourceList": [ | |
"contracts/BalancerErrors.sol", | |
"contracts/LogExpMath.sol", | |
"contracts/Math.sol", | |
"#utility.yul" | |
] | |
}, | |
"methodIdentifiers": {} | |
}, | |
"metadata": "{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/BalancerErrors.sol\":\"Errors\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/BalancerErrors.sol\":{\"keccak256\":\"0xa273e3cb93c54603b79e64b7d26ca02f40d2178365673ba13c7b3d0f7b1aaf23\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://325275ac80f27eaedfb578d182b70bc2c27e9fd5b331c88f6a2647613f1ded48\",\"dweb:/ipfs/QmRTZ7HcoCUKjwratcd2ujpeCo7FtFDspG2R9yJSUuGpJf\"]}},\"version\":1}", | |
"storageLayout": { | |
"storage": [], | |
"types": null | |
}, | |
"userdoc": { | |
"kind": "user", | |
"methods": {}, | |
"version": 1 | |
} | |
} | |
}, | |
"contracts/LogExpMath.sol": { | |
"LogExpMath": { | |
"abi": [], | |
"devdoc": { | |
"author": "Fernando Martinelli - @fernandomartinelliSergio Yuhjtman - @sergioyuhjtmanDaniel Fernandez - @dmf7z", | |
"details": "Exponentiation and logarithm functions for 18 decimal fixed point numbers (both base and exponent/argument). Exponentiation and logarithm with arbitrary bases (x^y and log_x(y)) are implemented by conversion to natural exponentiation and logarithm (where the base is Euler's number).", | |
"kind": "dev", | |
"methods": {}, | |
"version": 1 | |
}, | |
"evm": { | |
"assembly": " /* \"contracts/LogExpMath.sol\":1621:21086 library LogExpMath {... */\n dataSize(sub_0)\n dataOffset(sub_0)\n 0x0b\n dup3\n dup3\n dup3\n codecopy\n dup1\n mload\n 0x00\n byte\n 0x73\n eq\n tag_1\n jumpi\n mstore(0x00, 0x4e487b7100000000000000000000000000000000000000000000000000000000)\n mstore(0x04, 0x00)\n revert(0x00, 0x24)\ntag_1:\n mstore(0x00, address)\n 0x73\n dup2\n mstore8\n dup3\n dup2\n return\nstop\n\nsub_0: assembly {\n /* \"contracts/LogExpMath.sol\":1621:21086 library LogExpMath {... */\n eq(address, deployTimeAddress())\n mstore(0x40, 0x80)\n 0x00\n dup1\n revert\n\n auxdata: 0xa26469706673582212209b988a0e6136832acdac3a43870d6d54c3fa876b2eaae702928a1f4b182113ec64736f6c63430008120033\n}\n", | |
"bytecode": { | |
"functionDebugData": {}, | |
"generatedSources": [], | |
"linkReferences": {}, | |
"object": "60566050600b82828239805160001a6073146043577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212209b988a0e6136832acdac3a43870d6d54c3fa876b2eaae702928a1f4b182113ec64736f6c63430008120033", | |
"opcodes": "PUSH1 0x56 PUSH1 0x50 PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x43 JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SWAP12 SWAP9 DUP11 0xE PUSH2 0x3683 0x2A 0xCD 0xAC GASPRICE NUMBER DUP8 0xD PUSH14 0x54C3FA876B2EAAE702928A1F4B18 0x21 SGT 0xEC PUSH5 0x736F6C6343 STOP ADDMOD SLT STOP CALLER ", | |
"sourceMap": "1621:19465:1:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;" | |
}, | |
"deployedBytecode": { | |
"functionDebugData": {}, | |
"generatedSources": [], | |
"immutableReferences": {}, | |
"linkReferences": {}, | |
"object": "73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212209b988a0e6136832acdac3a43870d6d54c3fa876b2eaae702928a1f4b182113ec64736f6c63430008120033", | |
"opcodes": "PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SWAP12 SWAP9 DUP11 0xE PUSH2 0x3683 0x2A 0xCD 0xAC GASPRICE NUMBER DUP8 0xD PUSH14 0x54C3FA876B2EAAE702928A1F4B18 0x21 SGT 0xEC PUSH5 0x736F6C6343 STOP ADDMOD SLT STOP CALLER ", | |
"sourceMap": "1621:19465:1:-:0;;;;;;;;" | |
}, | |
"gasEstimates": { | |
"creation": { | |
"codeDepositCost": "17200", | |
"executionCost": "97", | |
"totalCost": "17297" | |
}, | |
"internal": { | |
"_ln(int256)": "infinite", | |
"_ln_36(int256)": "infinite", | |
"exp(int256)": "infinite", | |
"ln(int256)": "infinite", | |
"log(int256,int256)": "infinite", | |
"pow(uint256,uint256)": "infinite" | |
} | |
}, | |
"legacyAssembly": { | |
".code": [ | |
{ | |
"begin": 1621, | |
"end": 21086, | |
"name": "PUSH #[$]", | |
"source": 1, | |
"value": "0000000000000000000000000000000000000000000000000000000000000000" | |
}, | |
{ | |
"begin": 1621, | |
"end": 21086, | |
"name": "PUSH [$]", | |
"source": 1, | |
"value": "0000000000000000000000000000000000000000000000000000000000000000" | |
}, | |
{ | |
"begin": 1621, | |
"end": 21086, | |
"name": "PUSH", | |
"source": 1, | |
"value": "B" | |
}, | |
{ | |
"begin": 1621, | |
"end": 21086, | |
"name": "DUP3", | |
"source": 1 | |
}, | |
{ | |
"begin": 1621, | |
"end": 21086, | |
"name": "DUP3", | |
"source": 1 | |
}, | |
{ | |
"begin": 1621, | |
"end": 21086, | |
"name": "DUP3", | |
"source": 1 | |
}, | |
{ | |
"begin": 1621, | |
"end": 21086, | |
"name": "CODECOPY", | |
"source": 1 | |
}, | |
{ | |
"begin": 1621, | |
"end": 21086, | |
"name": "DUP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 1621, | |
"end": 21086, | |
"name": "MLOAD", | |
"source": 1 | |
}, | |
{ | |
"begin": 1621, | |
"end": 21086, | |
"name": "PUSH", | |
"source": 1, | |
"value": "0" | |
}, | |
{ | |
"begin": 1621, | |
"end": 21086, | |
"name": "BYTE", | |
"source": 1 | |
}, | |
{ | |
"begin": 1621, | |
"end": 21086, | |
"name": "PUSH", | |
"source": 1, | |
"value": "73" | |
}, | |
{ | |
"begin": 1621, | |
"end": 21086, | |
"name": "EQ", | |
"source": 1 | |
}, | |
{ | |
"begin": 1621, | |
"end": 21086, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "1" | |
}, | |
{ | |
"begin": 1621, | |
"end": 21086, | |
"name": "JUMPI", | |
"source": 1 | |
}, | |
{ | |
"begin": 1621, | |
"end": 21086, | |
"name": "PUSH", | |
"source": 1, | |
"value": "4E487B7100000000000000000000000000000000000000000000000000000000" | |
}, | |
{ | |
"begin": 1621, | |
"end": 21086, | |
"name": "PUSH", | |
"source": 1, | |
"value": "0" | |
}, | |
{ | |
"begin": 1621, | |
"end": 21086, | |
"name": "MSTORE", | |
"source": 1 | |
}, | |
{ | |
"begin": 1621, | |
"end": 21086, | |
"name": "PUSH", | |
"source": 1, | |
"value": "0" | |
}, | |
{ | |
"begin": 1621, | |
"end": 21086, | |
"name": "PUSH", | |
"source": 1, | |
"value": "4" | |
}, | |
{ | |
"begin": 1621, | |
"end": 21086, | |
"name": "MSTORE", | |
"source": 1 | |
}, | |
{ | |
"begin": 1621, | |
"end": 21086, | |
"name": "PUSH", | |
"source": 1, | |
"value": "24" | |
}, | |
{ | |
"begin": 1621, | |
"end": 21086, | |
"name": "PUSH", | |
"source": 1, | |
"value": "0" | |
}, | |
{ | |
"begin": 1621, | |
"end": 21086, | |
"name": "REVERT", | |
"source": 1 | |
}, | |
{ | |
"begin": 1621, | |
"end": 21086, | |
"name": "tag", | |
"source": 1, | |
"value": "1" | |
}, | |
{ | |
"begin": 1621, | |
"end": 21086, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 1621, | |
"end": 21086, | |
"name": "ADDRESS", | |
"source": 1 | |
}, | |
{ | |
"begin": 1621, | |
"end": 21086, | |
"name": "PUSH", | |
"source": 1, | |
"value": "0" | |
}, | |
{ | |
"begin": 1621, | |
"end": 21086, | |
"name": "MSTORE", | |
"source": 1 | |
}, | |
{ | |
"begin": 1621, | |
"end": 21086, | |
"name": "PUSH", | |
"source": 1, | |
"value": "73" | |
}, | |
{ | |
"begin": 1621, | |
"end": 21086, | |
"name": "DUP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 1621, | |
"end": 21086, | |
"name": "MSTORE8", | |
"source": 1 | |
}, | |
{ | |
"begin": 1621, | |
"end": 21086, | |
"name": "DUP3", | |
"source": 1 | |
}, | |
{ | |
"begin": 1621, | |
"end": 21086, | |
"name": "DUP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 1621, | |
"end": 21086, | |
"name": "RETURN", | |
"source": 1 | |
} | |
], | |
".data": { | |
"0": { | |
".auxdata": "a26469706673582212209b988a0e6136832acdac3a43870d6d54c3fa876b2eaae702928a1f4b182113ec64736f6c63430008120033", | |
".code": [ | |
{ | |
"begin": 1621, | |
"end": 21086, | |
"name": "PUSHDEPLOYADDRESS", | |
"source": 1 | |
}, | |
{ | |
"begin": 1621, | |
"end": 21086, | |
"name": "ADDRESS", | |
"source": 1 | |
}, | |
{ | |
"begin": 1621, | |
"end": 21086, | |
"name": "EQ", | |
"source": 1 | |
}, | |
{ | |
"begin": 1621, | |
"end": 21086, | |
"name": "PUSH", | |
"source": 1, | |
"value": "80" | |
}, | |
{ | |
"begin": 1621, | |
"end": 21086, | |
"name": "PUSH", | |
"source": 1, | |
"value": "40" | |
}, | |
{ | |
"begin": 1621, | |
"end": 21086, | |
"name": "MSTORE", | |
"source": 1 | |
}, | |
{ | |
"begin": 1621, | |
"end": 21086, | |
"name": "PUSH", | |
"source": 1, | |
"value": "0" | |
}, | |
{ | |
"begin": 1621, | |
"end": 21086, | |
"name": "DUP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 1621, | |
"end": 21086, | |
"name": "REVERT", | |
"source": 1 | |
} | |
] | |
} | |
}, | |
"sourceList": [ | |
"contracts/BalancerErrors.sol", | |
"contracts/LogExpMath.sol", | |
"contracts/Math.sol", | |
"#utility.yul" | |
] | |
}, | |
"methodIdentifiers": {} | |
}, | |
"metadata": "{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"author\":\"Fernando Martinelli - @fernandomartinelliSergio Yuhjtman - @sergioyuhjtmanDaniel Fernandez - @dmf7z\",\"details\":\"Exponentiation and logarithm functions for 18 decimal fixed point numbers (both base and exponent/argument). Exponentiation and logarithm with arbitrary bases (x^y and log_x(y)) are implemented by conversion to natural exponentiation and logarithm (where the base is Euler's number).\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/LogExpMath.sol\":\"LogExpMath\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/BalancerErrors.sol\":{\"keccak256\":\"0xa273e3cb93c54603b79e64b7d26ca02f40d2178365673ba13c7b3d0f7b1aaf23\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://325275ac80f27eaedfb578d182b70bc2c27e9fd5b331c88f6a2647613f1ded48\",\"dweb:/ipfs/QmRTZ7HcoCUKjwratcd2ujpeCo7FtFDspG2R9yJSUuGpJf\"]},\"contracts/LogExpMath.sol\":{\"keccak256\":\"0x857107efc1a94ff42a05a7bd7f99535c8d4e679abc8d7564b8a4f43fda7b71df\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7da66b065bfb6849281f123f01958ab8e7ac7810c34972ab9a67f646788c36dd\",\"dweb:/ipfs/QmbzrKj3iM5ThPfXCJrGsV7KRdozhvx2ARoaNcajnqRQLC\"]}},\"version\":1}", | |
"storageLayout": { | |
"storage": [], | |
"types": null | |
}, | |
"userdoc": { | |
"kind": "user", | |
"methods": {}, | |
"version": 1 | |
} | |
} | |
}, | |
"contracts/Math.sol": { | |
"Math": { | |
"abi": [ | |
{ | |
"inputs": [ | |
{ | |
"internalType": "uint8", | |
"name": "n", | |
"type": "uint8" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "_product", | |
"type": "uint256" | |
} | |
], | |
"name": "nthroot", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "", | |
"type": "uint256" | |
} | |
], | |
"stateMutability": "pure", | |
"type": "function" | |
} | |
], | |
"devdoc": { | |
"kind": "dev", | |
"methods": {}, | |
"version": 1 | |
}, | |
"evm": { | |
"assembly": " /* \"contracts/Math.sol\":109:692 contract Math {... */\n mstore(0x40, 0x80)\n callvalue\n dup1\n iszero\n tag_1\n jumpi\n 0x00\n dup1\n revert\ntag_1:\n pop\n dataSize(sub_0)\n dup1\n dataOffset(sub_0)\n 0x00\n codecopy\n 0x00\n return\nstop\n\nsub_0: assembly {\n /* \"contracts/Math.sol\":109:692 contract Math {... */\n mstore(0x40, 0x80)\n callvalue\n dup1\n iszero\n tag_1\n jumpi\n 0x00\n dup1\n revert\n tag_1:\n pop\n jumpi(tag_2, lt(calldatasize, 0x04))\n shr(0xe0, calldataload(0x00))\n dup1\n 0xa019d714\n eq\n tag_3\n jumpi\n tag_2:\n 0x00\n dup1\n revert\n /* \"contracts/Math.sol\":276:689 function nthroot(uint8 n, uint256 _product) public pure returns(uint256) {... */\n tag_3:\n tag_4\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_5\n swap2\n swap1\n tag_6\n jump\t// in\n tag_5:\n tag_7\n jump\t// in\n tag_4:\n mload(0x40)\n tag_8\n swap2\n swap1\n tag_9\n jump\t// in\n tag_8:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n tag_7:\n /* \"contracts/Math.sol\":340:347 uint256 */\n 0x00\n /* \"contracts/Math.sol\":491:492 2 */\n 0x02\n /* \"contracts/Math.sol\":488:489 n */\n dup4\n /* \"contracts/Math.sol\":488:492 n==2 */\n 0xff\n and\n sub\n /* \"contracts/Math.sol\":485:548 if(n==2){... */\n tag_11\n jumpi\n /* \"contracts/Math.sol\":540:543 1e9 */\n 0x3b9aca00\n /* \"contracts/Math.sol\":505:539 LogExpMath.pow(_product, 1e18 / n) */\n tag_12\n /* \"contracts/Math.sol\":520:528 _product */\n dup4\n /* \"contracts/Math.sol\":537:538 n */\n dup6\n /* \"contracts/Math.sol\":530:538 1e18 / n */\n 0xff\n and\n /* \"contracts/Math.sol\":530:534 1e18 */\n 0x0de0b6b3a7640000\n /* \"contracts/Math.sol\":530:538 1e18 / n */\n tag_13\n swap2\n swap1\n tag_14\n jump\t// in\n tag_13:\n /* \"contracts/Math.sol\":505:539 LogExpMath.pow(_product, 1e18 / n) */\n 0xffffffffffffffff\n and\n /* \"contracts/Math.sol\":505:519 LogExpMath.pow */\n tag_15\n /* \"contracts/Math.sol\":505:539 LogExpMath.pow(_product, 1e18 / n) */\n jump\t// in\n tag_12:\n /* \"contracts/Math.sol\":505:543 LogExpMath.pow(_product, 1e18 / n)/1e9 */\n tag_16\n swap2\n swap1\n tag_17\n jump\t// in\n tag_16:\n /* \"contracts/Math.sol\":498:543 return LogExpMath.pow(_product, 1e18 / n)/1e9 */\n swap1\n pop\n jump(tag_10)\n /* \"contracts/Math.sol\":485:548 if(n==2){... */\n tag_11:\n /* \"contracts/Math.sol\":557:558 3 */\n 0x03\n /* \"contracts/Math.sol\":554:555 n */\n dup4\n /* \"contracts/Math.sol\":554:558 n==3 */\n 0xff\n and\n sub\n /* \"contracts/Math.sol\":551:615 if(n==3){... */\n tag_18\n jumpi\n /* \"contracts/Math.sol\":606:610 1e12 */\n 0xe8d4a51000\n /* \"contracts/Math.sol\":571:605 LogExpMath.pow(_product, 1e18 / n) */\n tag_19\n /* \"contracts/Math.sol\":586:594 _product */\n dup4\n /* \"contracts/Math.sol\":603:604 n */\n dup6\n /* \"contracts/Math.sol\":596:604 1e18 / n */\n 0xff\n and\n /* \"contracts/Math.sol\":596:600 1e18 */\n 0x0de0b6b3a7640000\n /* \"contracts/Math.sol\":596:604 1e18 / n */\n tag_20\n swap2\n swap1\n tag_14\n jump\t// in\n tag_20:\n /* \"contracts/Math.sol\":571:605 LogExpMath.pow(_product, 1e18 / n) */\n 0xffffffffffffffff\n and\n /* \"contracts/Math.sol\":571:585 LogExpMath.pow */\n tag_15\n /* \"contracts/Math.sol\":571:605 LogExpMath.pow(_product, 1e18 / n) */\n jump\t// in\n tag_19:\n /* \"contracts/Math.sol\":571:610 LogExpMath.pow(_product, 1e18 / n)/1e12 */\n tag_21\n swap2\n swap1\n tag_17\n jump\t// in\n tag_21:\n /* \"contracts/Math.sol\":564:610 return LogExpMath.pow(_product, 1e18 / n)/1e12 */\n swap1\n pop\n jump(tag_10)\n /* \"contracts/Math.sol\":551:615 if(n==3){... */\n tag_18:\n /* \"contracts/Math.sol\":618:685 revert(\"Balancer math only can handle square roots and cube roots\") */\n mload(0x40)\n 0x08c379a000000000000000000000000000000000000000000000000000000000\n dup2\n mstore\n 0x04\n add\n tag_22\n swap1\n tag_23\n jump\t// in\n tag_22:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n revert\n /* \"contracts/Math.sol\":276:689 function nthroot(uint8 n, uint256 _product) public pure returns(uint256) {... */\n tag_10:\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"contracts/LogExpMath.sol\":4856:7051 function pow(uint256 x, uint256 y) internal pure returns (uint256) {... */\n tag_15:\n /* \"contracts/LogExpMath.sol\":4914:4921 uint256 */\n 0x00\n /* \"contracts/LogExpMath.sol\":4942:4943 0 */\n dup1\n /* \"contracts/LogExpMath.sol\":4937:4938 y */\n dup3\n /* \"contracts/LogExpMath.sol\":4937:4943 y == 0 */\n sub\n /* \"contracts/LogExpMath.sol\":4933:5064 if (y == 0) {... */\n tag_25\n jumpi\n /* \"contracts/LogExpMath.sol\":1926:1930 1e18 */\n 0x0de0b6b3a7640000\n /* \"contracts/LogExpMath.sol\":5031:5053 return uint256(ONE_18) */\n swap1\n pop\n jump(tag_24)\n /* \"contracts/LogExpMath.sol\":4933:5064 if (y == 0) {... */\n tag_25:\n /* \"contracts/LogExpMath.sol\":5083:5084 0 */\n 0x00\n /* \"contracts/LogExpMath.sol\":5078:5079 x */\n dup4\n /* \"contracts/LogExpMath.sol\":5078:5084 x == 0 */\n sub\n /* \"contracts/LogExpMath.sol\":5074:5119 if (x == 0) {... */\n tag_26\n jumpi\n /* \"contracts/LogExpMath.sol\":5107:5108 0 */\n 0x00\n /* \"contracts/LogExpMath.sol\":5100:5108 return 0 */\n swap1\n pop\n jump(tag_24)\n /* \"contracts/LogExpMath.sol\":5074:5119 if (x == 0) {... */\n tag_26:\n /* \"contracts/LogExpMath.sol\":5489:5536 _require(x >> 255 == 0, Errors.X_OUT_OF_BOUNDS) */\n tag_27\n /* \"contracts/LogExpMath.sol\":5510:5511 0 */\n 0x00\n /* \"contracts/LogExpMath.sol\":5503:5506 255 */\n 0xff\n /* \"contracts/LogExpMath.sol\":5498:5499 x */\n dup6\n /* \"contracts/LogExpMath.sol\":5498:5506 x >> 255 */\n swap1\n shr\n /* \"contracts/LogExpMath.sol\":5498:5511 x >> 255 == 0 */\n eq\n /* \"contracts/BalancerErrors.sol\":5392:5393 6 */\n 0x06\n /* \"contracts/LogExpMath.sol\":5489:5497 _require */\n tag_28\n /* \"contracts/LogExpMath.sol\":5489:5536 _require(x >> 255 == 0, Errors.X_OUT_OF_BOUNDS) */\n jump\t// in\n tag_27:\n /* \"contracts/LogExpMath.sol\":5546:5561 int256 x_int256 */\n 0x00\n /* \"contracts/LogExpMath.sol\":5571:5572 x */\n dup4\n /* \"contracts/LogExpMath.sol\":5546:5573 int256 x_int256 = int256(x) */\n swap1\n pop\n /* \"contracts/LogExpMath.sol\":5927:5984 _require(y < MILD_EXPONENT_BOUND, Errors.Y_OUT_OF_BOUNDS) */\n tag_29\n /* \"contracts/LogExpMath.sol\":2116:2120 1e20 */\n 0x056bc75e2d63100000\n /* \"contracts/LogExpMath.sol\":3069:3075 2**254 */\n 0x4000000000000000000000000000000000000000000000000000000000000000\n /* \"contracts/LogExpMath.sol\":3069:3093 2**254 / uint256(ONE_20) */\n tag_30\n swap2\n swap1\n tag_17\n jump\t// in\n tag_30:\n /* \"contracts/LogExpMath.sol\":5936:5937 y */\n dup5\n /* \"contracts/LogExpMath.sol\":5936:5959 y < MILD_EXPONENT_BOUND */\n lt\n /* \"contracts/BalancerErrors.sol\":5443:5444 7 */\n 0x07\n /* \"contracts/LogExpMath.sol\":5927:5935 _require */\n tag_28\n /* \"contracts/LogExpMath.sol\":5927:5984 _require(y < MILD_EXPONENT_BOUND, Errors.Y_OUT_OF_BOUNDS) */\n jump\t// in\n tag_29:\n /* \"contracts/LogExpMath.sol\":5994:6009 int256 y_int256 */\n 0x00\n /* \"contracts/LogExpMath.sol\":6019:6020 y */\n dup4\n /* \"contracts/LogExpMath.sol\":5994:6021 int256 y_int256 = int256(y) */\n swap1\n pop\n /* \"contracts/LogExpMath.sol\":6032:6051 int256 logx_times_y */\n 0x00\n /* \"contracts/LogExpMath.sol\":6085:6093 x_int256 */\n dup3\n /* \"contracts/LogExpMath.sol\":2964:2968 1e17 */\n 0x016345785d8a0000\n /* \"contracts/LogExpMath.sol\":1926:1930 1e18 */\n 0x0de0b6b3a7640000\n /* \"contracts/LogExpMath.sol\":2955:2968 ONE_18 - 1e17 */\n tag_31\n swap2\n swap1\n tag_32\n jump\t// in\n tag_31:\n /* \"contracts/LogExpMath.sol\":6065:6093 LN_36_LOWER_BOUND < x_int256 */\n slt\n /* \"contracts/LogExpMath.sol\":6065:6125 LN_36_LOWER_BOUND < x_int256 && x_int256 < LN_36_UPPER_BOUND */\n dup1\n iszero\n tag_33\n jumpi\n pop\n /* \"contracts/LogExpMath.sol\":3019:3023 1e17 */\n 0x016345785d8a0000\n /* \"contracts/LogExpMath.sol\":1926:1930 1e18 */\n 0x0de0b6b3a7640000\n /* \"contracts/LogExpMath.sol\":3010:3023 ONE_18 + 1e17 */\n tag_34\n swap2\n swap1\n tag_35\n jump\t// in\n tag_34:\n /* \"contracts/LogExpMath.sol\":6097:6105 x_int256 */\n dup4\n /* \"contracts/LogExpMath.sol\":6097:6125 x_int256 < LN_36_UPPER_BOUND */\n slt\n /* \"contracts/LogExpMath.sol\":6065:6125 LN_36_LOWER_BOUND < x_int256 && x_int256 < LN_36_UPPER_BOUND */\n tag_33:\n /* \"contracts/LogExpMath.sol\":6061:6745 if (LN_36_LOWER_BOUND < x_int256 && x_int256 < LN_36_UPPER_BOUND) {... */\n iszero\n tag_36\n jumpi\n /* \"contracts/LogExpMath.sol\":6141:6155 int256 ln_36_x */\n 0x00\n /* \"contracts/LogExpMath.sol\":6158:6174 _ln_36(x_int256) */\n tag_37\n /* \"contracts/LogExpMath.sol\":6165:6173 x_int256 */\n dup5\n /* \"contracts/LogExpMath.sol\":6158:6164 _ln_36 */\n tag_38\n /* \"contracts/LogExpMath.sol\":6158:6174 _ln_36(x_int256) */\n jump\t// in\n tag_37:\n /* \"contracts/LogExpMath.sol\":6141:6174 int256 ln_36_x = _ln_36(x_int256) */\n swap1\n pop\n /* \"contracts/LogExpMath.sol\":1926:1930 1e18 */\n 0x0de0b6b3a7640000\n /* \"contracts/LogExpMath.sol\":6645:6653 y_int256 */\n dup4\n /* \"contracts/LogExpMath.sol\":1926:1930 1e18 */\n 0x0de0b6b3a7640000\n /* \"contracts/LogExpMath.sol\":6625:6632 ln_36_x */\n dup4\n /* \"contracts/LogExpMath.sol\":6625:6641 ln_36_x % ONE_18 */\n tag_39\n swap2\n swap1\n tag_40\n jump\t// in\n tag_39:\n /* \"contracts/LogExpMath.sol\":6624:6653 (ln_36_x % ONE_18) * y_int256 */\n tag_41\n swap2\n swap1\n tag_42\n jump\t// in\n tag_41:\n /* \"contracts/LogExpMath.sol\":6623:6663 ((ln_36_x % ONE_18) * y_int256) / ONE_18 */\n tag_43\n swap2\n swap1\n tag_44\n jump\t// in\n tag_43:\n /* \"contracts/LogExpMath.sol\":6612:6620 y_int256 */\n dup4\n /* \"contracts/LogExpMath.sol\":1926:1930 1e18 */\n 0x0de0b6b3a7640000\n /* \"contracts/LogExpMath.sol\":6592:6599 ln_36_x */\n dup4\n /* \"contracts/LogExpMath.sol\":6592:6608 ln_36_x / ONE_18 */\n tag_45\n swap2\n swap1\n tag_44\n jump\t// in\n tag_45:\n /* \"contracts/LogExpMath.sol\":6591:6620 (ln_36_x / ONE_18) * y_int256 */\n tag_46\n swap2\n swap1\n tag_42\n jump\t// in\n tag_46:\n /* \"contracts/LogExpMath.sol\":6591:6663 (ln_36_x / ONE_18) * y_int256 + ((ln_36_x % ONE_18) * y_int256) / ONE_18 */\n tag_47\n swap2\n swap1\n tag_35\n jump\t// in\n tag_47:\n /* \"contracts/LogExpMath.sol\":6575:6664 logx_times_y = ((ln_36_x / ONE_18) * y_int256 + ((ln_36_x % ONE_18) * y_int256) / ONE_18) */\n swap2\n pop\n /* \"contracts/LogExpMath.sol\":6127:6675 {... */\n pop\n /* \"contracts/LogExpMath.sol\":6061:6745 if (LN_36_LOWER_BOUND < x_int256 && x_int256 < LN_36_UPPER_BOUND) {... */\n jump(tag_48)\n tag_36:\n /* \"contracts/LogExpMath.sol\":6726:6734 y_int256 */\n dup2\n /* \"contracts/LogExpMath.sol\":6710:6723 _ln(x_int256) */\n tag_49\n /* \"contracts/LogExpMath.sol\":6714:6722 x_int256 */\n dup5\n /* \"contracts/LogExpMath.sol\":6710:6713 _ln */\n tag_50\n /* \"contracts/LogExpMath.sol\":6710:6723 _ln(x_int256) */\n jump\t// in\n tag_49:\n /* \"contracts/LogExpMath.sol\":6710:6734 _ln(x_int256) * y_int256 */\n tag_51\n swap2\n swap1\n tag_42\n jump\t// in\n tag_51:\n /* \"contracts/LogExpMath.sol\":6695:6734 logx_times_y = _ln(x_int256) * y_int256 */\n swap1\n pop\n /* \"contracts/LogExpMath.sol\":6061:6745 if (LN_36_LOWER_BOUND < x_int256 && x_int256 < LN_36_UPPER_BOUND) {... */\n tag_48:\n /* \"contracts/LogExpMath.sol\":1926:1930 1e18 */\n 0x0de0b6b3a7640000\n /* \"contracts/LogExpMath.sol\":6754:6776 logx_times_y /= ONE_18 */\n dup2\n tag_52\n swap2\n swap1\n tag_44\n jump\t// in\n tag_52:\n swap1\n pop\n /* \"contracts/LogExpMath.sol\":6850:7000 _require(... */\n tag_53\n /* \"contracts/LogExpMath.sol\":6896:6908 logx_times_y */\n dup2\n /* \"contracts/LogExpMath.sol\":2762:2768 -41e18 */\n 0xfffffffffffffffffffffffffffffffffffffffffffffffdc702bd3a30fc0000\n /* \"contracts/LogExpMath.sol\":6872:6908 MIN_NATURAL_EXPONENT <= logx_times_y */\n sgt\n iszero\n /* \"contracts/LogExpMath.sol\":6872:6948 MIN_NATURAL_EXPONENT <= logx_times_y && logx_times_y <= MAX_NATURAL_EXPONENT */\n dup1\n iszero\n tag_54\n jumpi\n pop\n /* \"contracts/LogExpMath.sol\":2711:2717 130e18 */\n 0x070c1cc73b00c80000\n /* \"contracts/LogExpMath.sol\":6912:6924 logx_times_y */\n dup3\n /* \"contracts/LogExpMath.sol\":6912:6948 logx_times_y <= MAX_NATURAL_EXPONENT */\n sgt\n iszero\n /* \"contracts/LogExpMath.sol\":6872:6948 MIN_NATURAL_EXPONENT <= logx_times_y && logx_times_y <= MAX_NATURAL_EXPONENT */\n tag_54:\n /* \"contracts/BalancerErrors.sol\":5500:5501 8 */\n 0x08\n /* \"contracts/LogExpMath.sol\":6850:6858 _require */\n tag_28\n /* \"contracts/LogExpMath.sol\":6850:7000 _require(... */\n jump\t// in\n tag_53:\n /* \"contracts/LogExpMath.sol\":7026:7043 exp(logx_times_y) */\n tag_55\n /* \"contracts/LogExpMath.sol\":7030:7042 logx_times_y */\n dup2\n /* \"contracts/LogExpMath.sol\":7026:7029 exp */\n tag_56\n /* \"contracts/LogExpMath.sol\":7026:7043 exp(logx_times_y) */\n jump\t// in\n tag_55:\n /* \"contracts/LogExpMath.sol\":7011:7044 return uint256(exp(logx_times_y)) */\n swap4\n pop\n pop\n pop\n pop\n /* \"contracts/LogExpMath.sol\":4856:7051 function pow(uint256 x, uint256 y) internal pure returns (uint256) {... */\n tag_24:\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"contracts/BalancerErrors.sol\":891:992 function _require(bool condition, uint256 errorCode) pure {... */\n tag_28:\n /* \"contracts/BalancerErrors.sol\":960:969 condition */\n dup2\n /* \"contracts/BalancerErrors.sol\":955:989 if (!condition) _revert(errorCode) */\n tag_58\n jumpi\n /* \"contracts/BalancerErrors.sol\":971:989 _revert(errorCode) */\n tag_59\n /* \"contracts/BalancerErrors.sol\":979:988 errorCode */\n dup2\n /* \"contracts/BalancerErrors.sol\":971:978 _revert */\n tag_60\n /* \"contracts/BalancerErrors.sol\":971:989 _revert(errorCode) */\n jump\t// in\n tag_59:\n /* \"contracts/BalancerErrors.sol\":955:989 if (!condition) _revert(errorCode) */\n tag_58:\n /* \"contracts/BalancerErrors.sol\":891:992 function _require(bool condition, uint256 errorCode) pure {... */\n pop\n pop\n jump\t// out\n /* \"contracts/LogExpMath.sol\":19370:21084 function _ln_36(int256 x) private pure returns (int256) {... */\n tag_38:\n /* \"contracts/LogExpMath.sol\":19418:19424 int256 */\n 0x00\n /* \"contracts/LogExpMath.sol\":1926:1930 1e18 */\n 0x0de0b6b3a7640000\n /* \"contracts/LogExpMath.sol\":19640:19651 x *= ONE_18 */\n dup3\n tag_62\n swap2\n swap1\n tag_42\n jump\t// in\n tag_62:\n swap2\n pop\n /* \"contracts/LogExpMath.sol\":20012:20020 int256 z */\n 0x00\n /* \"contracts/LogExpMath.sol\":2151:2155 1e36 */\n 0xc097ce7bc90715b34b9f1000000000\n /* \"contracts/LogExpMath.sol\":20050:20051 x */\n dup4\n /* \"contracts/LogExpMath.sol\":20050:20060 x + ONE_36 */\n tag_63\n swap2\n swap1\n tag_35\n jump\t// in\n tag_63:\n /* \"contracts/LogExpMath.sol\":2151:2155 1e36 */\n 0xc097ce7bc90715b34b9f1000000000\n dup1\n /* \"contracts/LogExpMath.sol\":20025:20026 x */\n dup6\n /* \"contracts/LogExpMath.sol\":20025:20035 x - ONE_36 */\n tag_64\n swap2\n swap1\n tag_32\n jump\t// in\n tag_64:\n /* \"contracts/LogExpMath.sol\":20024:20045 (x - ONE_36) * ONE_36 */\n tag_65\n swap2\n swap1\n tag_42\n jump\t// in\n tag_65:\n /* \"contracts/LogExpMath.sol\":20023:20061 ((x - ONE_36) * ONE_36) / (x + ONE_36) */\n tag_66\n swap2\n swap1\n tag_44\n jump\t// in\n tag_66:\n /* \"contracts/LogExpMath.sol\":20012:20061 int256 z = ((x - ONE_36) * ONE_36) / (x + ONE_36) */\n swap1\n pop\n /* \"contracts/LogExpMath.sol\":20071:20087 int256 z_squared */\n 0x00\n /* \"contracts/LogExpMath.sol\":2151:2155 1e36 */\n 0xc097ce7bc90715b34b9f1000000000\n /* \"contracts/LogExpMath.sol\":20095:20096 z */\n dup3\n /* \"contracts/LogExpMath.sol\":20091:20092 z */\n dup4\n /* \"contracts/LogExpMath.sol\":20091:20096 z * z */\n tag_67\n swap2\n swap1\n tag_42\n jump\t// in\n tag_67:\n /* \"contracts/LogExpMath.sol\":20090:20106 (z * z) / ONE_36 */\n tag_68\n swap2\n swap1\n tag_44\n jump\t// in\n tag_68:\n /* \"contracts/LogExpMath.sol\":20071:20106 int256 z_squared = (z * z) / ONE_36 */\n swap1\n pop\n /* \"contracts/LogExpMath.sol\":20187:20197 int256 num */\n 0x00\n /* \"contracts/LogExpMath.sol\":20200:20201 z */\n dup3\n /* \"contracts/LogExpMath.sol\":20187:20201 int256 num = z */\n swap1\n pop\n /* \"contracts/LogExpMath.sol\":20315:20331 int256 seriesSum */\n 0x00\n /* \"contracts/LogExpMath.sol\":20334:20337 num */\n dup2\n /* \"contracts/LogExpMath.sol\":20315:20337 int256 seriesSum = num */\n swap1\n pop\n /* \"contracts/LogExpMath.sol\":2151:2155 1e36 */\n 0xc097ce7bc90715b34b9f1000000000\n /* \"contracts/LogExpMath.sol\":20421:20430 z_squared */\n dup4\n /* \"contracts/LogExpMath.sol\":20415:20418 num */\n dup4\n /* \"contracts/LogExpMath.sol\":20415:20430 num * z_squared */\n tag_69\n swap2\n swap1\n tag_42\n jump\t// in\n tag_69:\n /* \"contracts/LogExpMath.sol\":20414:20440 (num * z_squared) / ONE_36 */\n tag_70\n swap2\n swap1\n tag_44\n jump\t// in\n tag_70:\n /* \"contracts/LogExpMath.sol\":20408:20440 num = (num * z_squared) / ONE_36 */\n swap2\n pop\n /* \"contracts/LogExpMath.sol\":20469:20470 3 */\n 0x03\n /* \"contracts/LogExpMath.sol\":20463:20466 num */\n dup3\n /* \"contracts/LogExpMath.sol\":20463:20470 num / 3 */\n tag_71\n swap2\n swap1\n tag_44\n jump\t// in\n tag_71:\n /* \"contracts/LogExpMath.sol\":20450:20470 seriesSum += num / 3 */\n dup2\n tag_72\n swap2\n swap1\n tag_35\n jump\t// in\n tag_72:\n swap1\n pop\n /* \"contracts/LogExpMath.sol\":2151:2155 1e36 */\n 0xc097ce7bc90715b34b9f1000000000\n /* \"contracts/LogExpMath.sol\":20494:20503 z_squared */\n dup4\n /* \"contracts/LogExpMath.sol\":20488:20491 num */\n dup4\n /* \"contracts/LogExpMath.sol\":20488:20503 num * z_squared */\n tag_73\n swap2\n swap1\n tag_42\n jump\t// in\n tag_73:\n /* \"contracts/LogExpMath.sol\":20487:20513 (num * z_squared) / ONE_36 */\n tag_74\n swap2\n swap1\n tag_44\n jump\t// in\n tag_74:\n /* \"contracts/LogExpMath.sol\":20481:20513 num = (num * z_squared) / ONE_36 */\n swap2\n pop\n /* \"contracts/LogExpMath.sol\":20542:20543 5 */\n 0x05\n /* \"contracts/LogExpMath.sol\":20536:20539 num */\n dup3\n /* \"contracts/LogExpMath.sol\":20536:20543 num / 5 */\n tag_75\n swap2\n swap1\n tag_44\n jump\t// in\n tag_75:\n /* \"contracts/LogExpMath.sol\":20523:20543 seriesSum += num / 5 */\n dup2\n tag_76\n swap2\n swap1\n tag_35\n jump\t// in\n tag_76:\n swap1\n pop\n /* \"contracts/LogExpMath.sol\":2151:2155 1e36 */\n 0xc097ce7bc90715b34b9f1000000000\n /* \"contracts/LogExpMath.sol\":20567:20576 z_squared */\n dup4\n /* \"contracts/LogExpMath.sol\":20561:20564 num */\n dup4\n /* \"contracts/LogExpMath.sol\":20561:20576 num * z_squared */\n tag_77\n swap2\n swap1\n tag_42\n jump\t// in\n tag_77:\n /* \"contracts/LogExpMath.sol\":20560:20586 (num * z_squared) / ONE_36 */\n tag_78\n swap2\n swap1\n tag_44\n jump\t// in\n tag_78:\n /* \"contracts/LogExpMath.sol\":20554:20586 num = (num * z_squared) / ONE_36 */\n swap2\n pop\n /* \"contracts/LogExpMath.sol\":20615:20616 7 */\n 0x07\n /* \"contracts/LogExpMath.sol\":20609:20612 num */\n dup3\n /* \"contracts/LogExpMath.sol\":20609:20616 num / 7 */\n tag_79\n swap2\n swap1\n tag_44\n jump\t// in\n tag_79:\n /* \"contracts/LogExpMath.sol\":20596:20616 seriesSum += num / 7 */\n dup2\n tag_80\n swap2\n swap1\n tag_35\n jump\t// in\n tag_80:\n swap1\n pop\n /* \"contracts/LogExpMath.sol\":2151:2155 1e36 */\n 0xc097ce7bc90715b34b9f1000000000\n /* \"contracts/LogExpMath.sol\":20640:20649 z_squared */\n dup4\n /* \"contracts/LogExpMath.sol\":20634:20637 num */\n dup4\n /* \"contracts/LogExpMath.sol\":20634:20649 num * z_squared */\n tag_81\n swap2\n swap1\n tag_42\n jump\t// in\n tag_81:\n /* \"contracts/LogExpMath.sol\":20633:20659 (num * z_squared) / ONE_36 */\n tag_82\n swap2\n swap1\n tag_44\n jump\t// in\n tag_82:\n /* \"contracts/LogExpMath.sol\":20627:20659 num = (num * z_squared) / ONE_36 */\n swap2\n pop\n /* \"contracts/LogExpMath.sol\":20688:20689 9 */\n 0x09\n /* \"contracts/LogExpMath.sol\":20682:20685 num */\n dup3\n /* \"contracts/LogExpMath.sol\":20682:20689 num / 9 */\n tag_83\n swap2\n swap1\n tag_44\n jump\t// in\n tag_83:\n /* \"contracts/LogExpMath.sol\":20669:20689 seriesSum += num / 9 */\n dup2\n tag_84\n swap2\n swap1\n tag_35\n jump\t// in\n tag_84:\n swap1\n pop\n /* \"contracts/LogExpMath.sol\":2151:2155 1e36 */\n 0xc097ce7bc90715b34b9f1000000000\n /* \"contracts/LogExpMath.sol\":20713:20722 z_squared */\n dup4\n /* \"contracts/LogExpMath.sol\":20707:20710 num */\n dup4\n /* \"contracts/LogExpMath.sol\":20707:20722 num * z_squared */\n tag_85\n swap2\n swap1\n tag_42\n jump\t// in\n tag_85:\n /* \"contracts/LogExpMath.sol\":20706:20732 (num * z_squared) / ONE_36 */\n tag_86\n swap2\n swap1\n tag_44\n jump\t// in\n tag_86:\n /* \"contracts/LogExpMath.sol\":20700:20732 num = (num * z_squared) / ONE_36 */\n swap2\n pop\n /* \"contracts/LogExpMath.sol\":20761:20763 11 */\n 0x0b\n /* \"contracts/LogExpMath.sol\":20755:20758 num */\n dup3\n /* \"contracts/LogExpMath.sol\":20755:20763 num / 11 */\n tag_87\n swap2\n swap1\n tag_44\n jump\t// in\n tag_87:\n /* \"contracts/LogExpMath.sol\":20742:20763 seriesSum += num / 11 */\n dup2\n tag_88\n swap2\n swap1\n tag_35\n jump\t// in\n tag_88:\n swap1\n pop\n /* \"contracts/LogExpMath.sol\":2151:2155 1e36 */\n 0xc097ce7bc90715b34b9f1000000000\n /* \"contracts/LogExpMath.sol\":20787:20796 z_squared */\n dup4\n /* \"contracts/LogExpMath.sol\":20781:20784 num */\n dup4\n /* \"contracts/LogExpMath.sol\":20781:20796 num * z_squared */\n tag_89\n swap2\n swap1\n tag_42\n jump\t// in\n tag_89:\n /* \"contracts/LogExpMath.sol\":20780:20806 (num * z_squared) / ONE_36 */\n tag_90\n swap2\n swap1\n tag_44\n jump\t// in\n tag_90:\n /* \"contracts/LogExpMath.sol\":20774:20806 num = (num * z_squared) / ONE_36 */\n swap2\n pop\n /* \"contracts/LogExpMath.sol\":20835:20837 13 */\n 0x0d\n /* \"contracts/LogExpMath.sol\":20829:20832 num */\n dup3\n /* \"contracts/LogExpMath.sol\":20829:20837 num / 13 */\n tag_91\n swap2\n swap1\n tag_44\n jump\t// in\n tag_91:\n /* \"contracts/LogExpMath.sol\":20816:20837 seriesSum += num / 13 */\n dup2\n tag_92\n swap2\n swap1\n tag_35\n jump\t// in\n tag_92:\n swap1\n pop\n /* \"contracts/LogExpMath.sol\":2151:2155 1e36 */\n 0xc097ce7bc90715b34b9f1000000000\n /* \"contracts/LogExpMath.sol\":20861:20870 z_squared */\n dup4\n /* \"contracts/LogExpMath.sol\":20855:20858 num */\n dup4\n /* \"contracts/LogExpMath.sol\":20855:20870 num * z_squared */\n tag_93\n swap2\n swap1\n tag_42\n jump\t// in\n tag_93:\n /* \"contracts/LogExpMath.sol\":20854:20880 (num * z_squared) / ONE_36 */\n tag_94\n swap2\n swap1\n tag_44\n jump\t// in\n tag_94:\n /* \"contracts/LogExpMath.sol\":20848:20880 num = (num * z_squared) / ONE_36 */\n swap2\n pop\n /* \"contracts/LogExpMath.sol\":20909:20911 15 */\n 0x0f\n /* \"contracts/LogExpMath.sol\":20903:20906 num */\n dup3\n /* \"contracts/LogExpMath.sol\":20903:20911 num / 15 */\n tag_95\n swap2\n swap1\n tag_44\n jump\t// in\n tag_95:\n /* \"contracts/LogExpMath.sol\":20890:20911 seriesSum += num / 15 */\n dup2\n tag_96\n swap2\n swap1\n tag_35\n jump\t// in\n tag_96:\n swap1\n pop\n /* \"contracts/LogExpMath.sol\":21076:21077 2 */\n 0x02\n /* \"contracts/LogExpMath.sol\":21064:21073 seriesSum */\n dup2\n /* \"contracts/LogExpMath.sol\":21064:21077 seriesSum * 2 */\n tag_97\n swap2\n swap1\n tag_42\n jump\t// in\n tag_97:\n /* \"contracts/LogExpMath.sol\":21057:21077 return seriesSum * 2 */\n swap5\n pop\n pop\n pop\n pop\n pop\n /* \"contracts/LogExpMath.sol\":19370:21084 function _ln_36(int256 x) private pure returns (int256) {... */\n swap2\n swap1\n pop\n jump\t// out\n /* \"contracts/LogExpMath.sol\":14145:19104 function _ln(int256 a) private pure returns (int256) {... */\n tag_50:\n /* \"contracts/LogExpMath.sol\":14190:14196 int256 */\n 0x00\n /* \"contracts/LogExpMath.sol\":1926:1930 1e18 */\n 0x0de0b6b3a7640000\n /* \"contracts/LogExpMath.sol\":14212:14213 a */\n dup3\n /* \"contracts/LogExpMath.sol\":14212:14222 a < ONE_18 */\n slt\n /* \"contracts/LogExpMath.sol\":14208:14590 if (a < ONE_18) {... */\n iszero\n tag_99\n jumpi\n /* \"contracts/LogExpMath.sol\":14552:14578 _ln((ONE_18 * ONE_18) / a) */\n tag_100\n /* \"contracts/LogExpMath.sol\":14576:14577 a */\n dup3\n /* \"contracts/LogExpMath.sol\":1926:1930 1e18 */\n 0x0de0b6b3a7640000\n dup1\n /* \"contracts/LogExpMath.sol\":14557:14572 ONE_18 * ONE_18 */\n tag_101\n swap2\n swap1\n tag_42\n jump\t// in\n tag_101:\n /* \"contracts/LogExpMath.sol\":14556:14577 (ONE_18 * ONE_18) / a */\n tag_102\n swap2\n swap1\n tag_44\n jump\t// in\n tag_102:\n /* \"contracts/LogExpMath.sol\":14552:14555 _ln */\n tag_50\n /* \"contracts/LogExpMath.sol\":14552:14578 _ln((ONE_18 * ONE_18) / a) */\n jump\t// in\n tag_100:\n /* \"contracts/LogExpMath.sol\":14551:14578 -_ln((ONE_18 * ONE_18) / a) */\n tag_103\n swap1\n tag_104\n jump\t// in\n tag_103:\n /* \"contracts/LogExpMath.sol\":14543:14579 return (-_ln((ONE_18 * ONE_18) / a)) */\n swap1\n pop\n jump(tag_98)\n /* \"contracts/LogExpMath.sol\":14208:14590 if (a < ONE_18) {... */\n tag_99:\n /* \"contracts/LogExpMath.sol\":15915:15925 int256 sum */\n 0x00\n /* \"contracts/LogExpMath.sol\":1926:1930 1e18 */\n 0x0de0b6b3a7640000\n /* \"contracts/LogExpMath.sol\":3205:3261 38877084059945950922200000000000000000000000000000000000 */\n 0x0195e54c5dd42177f53a27172fa9ec630262827000000000\n /* \"contracts/LogExpMath.sol\":15948:15959 a0 * ONE_18 */\n tag_105\n swap2\n swap1\n tag_42\n jump\t// in\n tag_105:\n /* \"contracts/LogExpMath.sol\":15943:15944 a */\n dup4\n /* \"contracts/LogExpMath.sol\":15943:15959 a >= a0 * ONE_18 */\n slt\n /* \"contracts/LogExpMath.sol\":15939:16053 if (a >= a0 * ONE_18) {... */\n tag_106\n jumpi\n /* \"contracts/LogExpMath.sol\":3205:3261 38877084059945950922200000000000000000000000000000000000 */\n 0x0195e54c5dd42177f53a27172fa9ec630262827000000000\n /* \"contracts/LogExpMath.sol\":15975:15982 a /= a0 */\n dup4\n tag_107\n swap2\n swap1\n tag_44\n jump\t// in\n tag_107:\n swap3\n pop\n /* \"contracts/LogExpMath.sol\":3149:3170 128000000000000000000 */\n 0x06f05b59d3b2000000\n /* \"contracts/LogExpMath.sol\":16033:16042 sum += x0 */\n dup2\n tag_108\n swap2\n swap1\n tag_35\n jump\t// in\n tag_108:\n swap1\n pop\n /* \"contracts/LogExpMath.sol\":15939:16053 if (a >= a0 * ONE_18) {... */\n tag_106:\n /* \"contracts/LogExpMath.sol\":1926:1930 1e18 */\n 0x0de0b6b3a7640000\n /* \"contracts/LogExpMath.sol\":3368:3396 6235149080811616882910000000 */\n 0x1425982cf597cd205cef7380\n /* \"contracts/LogExpMath.sol\":16072:16083 a1 * ONE_18 */\n tag_109\n swap2\n swap1\n tag_42\n jump\t// in\n tag_109:\n /* \"contracts/LogExpMath.sol\":16067:16068 a */\n dup4\n /* \"contracts/LogExpMath.sol\":16067:16083 a >= a1 * ONE_18 */\n slt\n /* \"contracts/LogExpMath.sol\":16063:16177 if (a >= a1 * ONE_18) {... */\n tag_110\n jumpi\n /* \"contracts/LogExpMath.sol\":3368:3396 6235149080811616882910000000 */\n 0x1425982cf597cd205cef7380\n /* \"contracts/LogExpMath.sol\":16099:16106 a /= a1 */\n dup4\n tag_111\n swap2\n swap1\n tag_44\n jump\t// in\n tag_111:\n swap3\n pop\n /* \"contracts/LogExpMath.sol\":3313:3333 64000000000000000000 */\n 0x03782dace9d9000000\n /* \"contracts/LogExpMath.sol\":16157:16166 sum += x1 */\n dup2\n tag_112\n swap2\n swap1\n tag_35\n jump\t// in\n tag_112:\n swap1\n pop\n /* \"contracts/LogExpMath.sol\":16063:16177 if (a >= a1 * ONE_18) {... */\n tag_110:\n /* \"contracts/LogExpMath.sol\":16315:16318 100 */\n 0x64\n /* \"contracts/LogExpMath.sol\":16308:16318 sum *= 100 */\n dup2\n tag_113\n swap2\n swap1\n tag_42\n jump\t// in\n tag_113:\n swap1\n pop\n /* \"contracts/LogExpMath.sol\":16333:16336 100 */\n 0x64\n /* \"contracts/LogExpMath.sol\":16328:16336 a *= 100 */\n dup4\n tag_114\n swap2\n swap1\n tag_42\n jump\t// in\n tag_114:\n swap3\n pop\n /* \"contracts/LogExpMath.sol\":3534:3568 7896296018268069516100000000000000 */\n 0x01855144814a7ff805980ff0084000\n /* \"contracts/LogExpMath.sol\":16463:16464 a */\n dup4\n /* \"contracts/LogExpMath.sol\":16463:16470 a >= a2 */\n slt\n /* \"contracts/LogExpMath.sol\":16459:16541 if (a >= a2) {... */\n tag_115\n jumpi\n /* \"contracts/LogExpMath.sol\":3534:3568 7896296018268069516100000000000000 */\n 0x01855144814a7ff805980ff0084000\n /* \"contracts/LogExpMath.sol\":2116:2120 1e20 */\n 0x056bc75e2d63100000\n /* \"contracts/LogExpMath.sol\":16491:16492 a */\n dup5\n /* \"contracts/LogExpMath.sol\":16491:16501 a * ONE_20 */\n tag_116\n swap2\n swap1\n tag_42\n jump\t// in\n tag_116:\n /* \"contracts/LogExpMath.sol\":16490:16507 (a * ONE_20) / a2 */\n tag_117\n swap2\n swap1\n tag_44\n jump\t// in\n tag_117:\n /* \"contracts/LogExpMath.sol\":16486:16507 a = (a * ONE_20) / a2 */\n swap3\n pop\n /* \"contracts/LogExpMath.sol\":3477:3499 3200000000000000000000 */\n 0xad78ebc5ac62000000\n /* \"contracts/LogExpMath.sol\":16521:16530 sum += x2 */\n dup2\n tag_118\n swap2\n swap1\n tag_35\n jump\t// in\n tag_118:\n swap1\n pop\n /* \"contracts/LogExpMath.sol\":16459:16541 if (a >= a2) {... */\n tag_115:\n /* \"contracts/LogExpMath.sol\":3663:3690 888611052050787263676000000 */\n 0x02df0ab5a80a22c61ab5a700\n /* \"contracts/LogExpMath.sol\":16555:16556 a */\n dup4\n /* \"contracts/LogExpMath.sol\":16555:16562 a >= a3 */\n slt\n /* \"contracts/LogExpMath.sol\":16551:16633 if (a >= a3) {... */\n tag_119\n jumpi\n /* \"contracts/LogExpMath.sol\":3663:3690 888611052050787263676000000 */\n 0x02df0ab5a80a22c61ab5a700\n /* \"contracts/LogExpMath.sol\":2116:2120 1e20 */\n 0x056bc75e2d63100000\n /* \"contracts/LogExpMath.sol\":16583:16584 a */\n dup5\n /* \"contracts/LogExpMath.sol\":16583:16593 a * ONE_20 */\n tag_120\n swap2\n swap1\n tag_42\n jump\t// in\n tag_120:\n /* \"contracts/LogExpMath.sol\":16582:16599 (a * ONE_20) / a3 */\n tag_121\n swap2\n swap1\n tag_44\n jump\t// in\n tag_121:\n /* \"contracts/LogExpMath.sol\":16578:16599 a = (a * ONE_20) / a3 */\n swap3\n pop\n /* \"contracts/LogExpMath.sol\":3606:3628 1600000000000000000000 */\n 0x56bc75e2d631000000\n /* \"contracts/LogExpMath.sol\":16613:16622 sum += x3 */\n dup2\n tag_122\n swap2\n swap1\n tag_35\n jump\t// in\n tag_122:\n swap1\n pop\n /* \"contracts/LogExpMath.sol\":16551:16633 if (a >= a3) {... */\n tag_119:\n /* \"contracts/LogExpMath.sol\":3784:3808 298095798704172827474000 */\n 0x3f1fce3da636ea5cf850\n /* \"contracts/LogExpMath.sol\":16647:16648 a */\n dup4\n /* \"contracts/LogExpMath.sol\":16647:16654 a >= a4 */\n slt\n /* \"contracts/LogExpMath.sol\":16643:16725 if (a >= a4) {... */\n tag_123\n jumpi\n /* \"contracts/LogExpMath.sol\":3784:3808 298095798704172827474000 */\n 0x3f1fce3da636ea5cf850\n /* \"contracts/LogExpMath.sol\":2116:2120 1e20 */\n 0x056bc75e2d63100000\n /* \"contracts/LogExpMath.sol\":16675:16676 a */\n dup5\n /* \"contracts/LogExpMath.sol\":16675:16685 a * ONE_20 */\n tag_124\n swap2\n swap1\n tag_42\n jump\t// in\n tag_124:\n /* \"contracts/LogExpMath.sol\":16674:16691 (a * ONE_20) / a4 */\n tag_125\n swap2\n swap1\n tag_44\n jump\t// in\n tag_125:\n /* \"contracts/LogExpMath.sol\":16670:16691 a = (a * ONE_20) / a4 */\n swap3\n pop\n /* \"contracts/LogExpMath.sol\":3728:3749 800000000000000000000 */\n 0x2b5e3af16b18800000\n /* \"contracts/LogExpMath.sol\":16705:16714 sum += x4 */\n dup2\n tag_126\n swap2\n swap1\n tag_35\n jump\t// in\n tag_126:\n swap1\n pop\n /* \"contracts/LogExpMath.sol\":16643:16725 if (a >= a4) {... */\n tag_123:\n /* \"contracts/LogExpMath.sol\":3902:3924 5459815003314423907810 */\n 0x0127fa27722cc06cc5e2\n /* \"contracts/LogExpMath.sol\":16739:16740 a */\n dup4\n /* \"contracts/LogExpMath.sol\":16739:16746 a >= a5 */\n slt\n /* \"contracts/LogExpMath.sol\":16735:16817 if (a >= a5) {... */\n tag_127\n jumpi\n /* \"contracts/LogExpMath.sol\":3902:3924 5459815003314423907810 */\n 0x0127fa27722cc06cc5e2\n /* \"contracts/LogExpMath.sol\":2116:2120 1e20 */\n 0x056bc75e2d63100000\n /* \"contracts/LogExpMath.sol\":16767:16768 a */\n dup5\n /* \"contracts/LogExpMath.sol\":16767:16777 a * ONE_20 */\n tag_128\n swap2\n swap1\n tag_42\n jump\t// in\n tag_128:\n /* \"contracts/LogExpMath.sol\":16766:16783 (a * ONE_20) / a5 */\n tag_129\n swap2\n swap1\n tag_44\n jump\t// in\n tag_129:\n /* \"contracts/LogExpMath.sol\":16762:16783 a = (a * ONE_20) / a5 */\n swap3\n pop\n /* \"contracts/LogExpMath.sol\":3846:3867 400000000000000000000 */\n 0x15af1d78b58c400000\n /* \"contracts/LogExpMath.sol\":16797:16806 sum += x5 */\n dup2\n tag_130\n swap2\n swap1\n tag_35\n jump\t// in\n tag_130:\n swap1\n pop\n /* \"contracts/LogExpMath.sol\":16735:16817 if (a >= a5) {... */\n tag_127:\n /* \"contracts/LogExpMath.sol\":4018:4039 738905609893065022723 */\n 0x280e60114edb805d03\n /* \"contracts/LogExpMath.sol\":16831:16832 a */\n dup4\n /* \"contracts/LogExpMath.sol\":16831:16838 a >= a6 */\n slt\n /* \"contracts/LogExpMath.sol\":16827:16909 if (a >= a6) {... */\n tag_131\n jumpi\n /* \"contracts/LogExpMath.sol\":4018:4039 738905609893065022723 */\n 0x280e60114edb805d03\n /* \"contracts/LogExpMath.sol\":2116:2120 1e20 */\n 0x056bc75e2d63100000\n /* \"contracts/LogExpMath.sol\":16859:16860 a */\n dup5\n /* \"contracts/LogExpMath.sol\":16859:16869 a * ONE_20 */\n tag_132\n swap2\n swap1\n tag_42\n jump\t// in\n tag_132:\n /* \"contracts/LogExpMath.sol\":16858:16875 (a * ONE_20) / a6 */\n tag_133\n swap2\n swap1\n tag_44\n jump\t// in\n tag_133:\n /* \"contracts/LogExpMath.sol\":16854:16875 a = (a * ONE_20) / a6 */\n swap3\n pop\n /* \"contracts/LogExpMath.sol\":3962:3983 200000000000000000000 */\n 0x0ad78ebc5ac6200000\n /* \"contracts/LogExpMath.sol\":16889:16898 sum += x6 */\n dup2\n tag_134\n swap2\n swap1\n tag_35\n jump\t// in\n tag_134:\n swap1\n pop\n /* \"contracts/LogExpMath.sol\":16827:16909 if (a >= a6) {... */\n tag_131:\n /* \"contracts/LogExpMath.sol\":4133:4154 271828182845904523536 */\n 0x0ebc5fb41746121110\n /* \"contracts/LogExpMath.sol\":16923:16924 a */\n dup4\n /* \"contracts/LogExpMath.sol\":16923:16930 a >= a7 */\n slt\n /* \"contracts/LogExpMath.sol\":16919:17001 if (a >= a7) {... */\n tag_135\n jumpi\n /* \"contracts/LogExpMath.sol\":4133:4154 271828182845904523536 */\n 0x0ebc5fb41746121110\n /* \"contracts/LogExpMath.sol\":2116:2120 1e20 */\n 0x056bc75e2d63100000\n /* \"contracts/LogExpMath.sol\":16951:16952 a */\n dup5\n /* \"contracts/LogExpMath.sol\":16951:16961 a * ONE_20 */\n tag_136\n swap2\n swap1\n tag_42\n jump\t// in\n tag_136:\n /* \"contracts/LogExpMath.sol\":16950:16967 (a * ONE_20) / a7 */\n tag_137\n swap2\n swap1\n tag_44\n jump\t// in\n tag_137:\n /* \"contracts/LogExpMath.sol\":16946:16967 a = (a * ONE_20) / a7 */\n swap3\n pop\n /* \"contracts/LogExpMath.sol\":4077:4098 100000000000000000000 */\n 0x056bc75e2d63100000\n /* \"contracts/LogExpMath.sol\":16981:16990 sum += x7 */\n dup2\n tag_138\n swap2\n swap1\n tag_35\n jump\t// in\n tag_138:\n swap1\n pop\n /* \"contracts/LogExpMath.sol\":16919:17001 if (a >= a7) {... */\n tag_135:\n /* \"contracts/LogExpMath.sol\":4248:4269 164872127070012814685 */\n 0x08f00f760a4b2db55d\n /* \"contracts/LogExpMath.sol\":17015:17016 a */\n dup4\n /* \"contracts/LogExpMath.sol\":17015:17022 a >= a8 */\n slt\n /* \"contracts/LogExpMath.sol\":17011:17093 if (a >= a8) {... */\n tag_139\n jumpi\n /* \"contracts/LogExpMath.sol\":4248:4269 164872127070012814685 */\n 0x08f00f760a4b2db55d\n /* \"contracts/LogExpMath.sol\":2116:2120 1e20 */\n 0x056bc75e2d63100000\n /* \"contracts/LogExpMath.sol\":17043:17044 a */\n dup5\n /* \"contracts/LogExpMath.sol\":17043:17053 a * ONE_20 */\n tag_140\n swap2\n swap1\n tag_42\n jump\t// in\n tag_140:\n /* \"contracts/LogExpMath.sol\":17042:17059 (a * ONE_20) / a8 */\n tag_141\n swap2\n swap1\n tag_44\n jump\t// in\n tag_141:\n /* \"contracts/LogExpMath.sol\":17038:17059 a = (a * ONE_20) / a8 */\n swap3\n pop\n /* \"contracts/LogExpMath.sol\":4192:4212 50000000000000000000 */\n 0x02b5e3af16b1880000\n /* \"contracts/LogExpMath.sol\":17073:17082 sum += x8 */\n dup2\n tag_142\n swap2\n swap1\n tag_35\n jump\t// in\n tag_142:\n swap1\n pop\n /* \"contracts/LogExpMath.sol\":17011:17093 if (a >= a8) {... */\n tag_139:\n /* \"contracts/LogExpMath.sol\":4363:4384 128402541668774148407 */\n 0x06f5f1775788937937\n /* \"contracts/LogExpMath.sol\":17107:17108 a */\n dup4\n /* \"contracts/LogExpMath.sol\":17107:17114 a >= a9 */\n slt\n /* \"contracts/LogExpMath.sol\":17103:17185 if (a >= a9) {... */\n tag_143\n jumpi\n /* \"contracts/LogExpMath.sol\":4363:4384 128402541668774148407 */\n 0x06f5f1775788937937\n /* \"contracts/LogExpMath.sol\":2116:2120 1e20 */\n 0x056bc75e2d63100000\n /* \"contracts/LogExpMath.sol\":17135:17136 a */\n dup5\n /* \"contracts/LogExpMath.sol\":17135:17145 a * ONE_20 */\n tag_144\n swap2\n swap1\n tag_42\n jump\t// in\n tag_144:\n /* \"contracts/LogExpMath.sol\":17134:17151 (a * ONE_20) / a9 */\n tag_145\n swap2\n swap1\n tag_44\n jump\t// in\n tag_145:\n /* \"contracts/LogExpMath.sol\":17130:17151 a = (a * ONE_20) / a9 */\n swap3\n pop\n /* \"contracts/LogExpMath.sol\":4307:4327 25000000000000000000 */\n 0x015af1d78b58c40000\n /* \"contracts/LogExpMath.sol\":17165:17174 sum += x9 */\n dup2\n tag_146\n swap2\n swap1\n tag_35\n jump\t// in\n tag_146:\n swap1\n pop\n /* \"contracts/LogExpMath.sol\":17103:17185 if (a >= a9) {... */\n tag_143:\n /* \"contracts/LogExpMath.sol\":4480:4501 113314845306682631683 */\n 0x06248f33704b286603\n /* \"contracts/LogExpMath.sol\":17199:17200 a */\n dup4\n /* \"contracts/LogExpMath.sol\":17199:17207 a >= a10 */\n slt\n /* \"contracts/LogExpMath.sol\":17195:17280 if (a >= a10) {... */\n tag_147\n jumpi\n /* \"contracts/LogExpMath.sol\":4480:4501 113314845306682631683 */\n 0x06248f33704b286603\n /* \"contracts/LogExpMath.sol\":2116:2120 1e20 */\n 0x056bc75e2d63100000\n /* \"contracts/LogExpMath.sol\":17228:17229 a */\n dup5\n /* \"contracts/LogExpMath.sol\":17228:17238 a * ONE_20 */\n tag_148\n swap2\n swap1\n tag_42\n jump\t// in\n tag_148:\n /* \"contracts/LogExpMath.sol\":17227:17245 (a * ONE_20) / a10 */\n tag_149\n swap2\n swap1\n tag_44\n jump\t// in\n tag_149:\n /* \"contracts/LogExpMath.sol\":17223:17245 a = (a * ONE_20) / a10 */\n swap3\n pop\n /* \"contracts/LogExpMath.sol\":4423:4443 12500000000000000000 */\n 0xad78ebc5ac620000\n /* \"contracts/LogExpMath.sol\":17259:17269 sum += x10 */\n dup2\n tag_150\n swap2\n swap1\n tag_35\n jump\t// in\n tag_150:\n swap1\n pop\n /* \"contracts/LogExpMath.sol\":17195:17280 if (a >= a10) {... */\n tag_147:\n /* \"contracts/LogExpMath.sol\":4597:4618 106449445891785942956 */\n 0x05c548670b9510e7ac\n /* \"contracts/LogExpMath.sol\":17294:17295 a */\n dup4\n /* \"contracts/LogExpMath.sol\":17294:17302 a >= a11 */\n slt\n /* \"contracts/LogExpMath.sol\":17290:17375 if (a >= a11) {... */\n tag_151\n jumpi\n /* \"contracts/LogExpMath.sol\":4597:4618 106449445891785942956 */\n 0x05c548670b9510e7ac\n /* \"contracts/LogExpMath.sol\":2116:2120 1e20 */\n 0x056bc75e2d63100000\n /* \"contracts/LogExpMath.sol\":17323:17324 a */\n dup5\n /* \"contracts/LogExpMath.sol\":17323:17333 a * ONE_20 */\n tag_152\n swap2\n swap1\n tag_42\n jump\t// in\n tag_152:\n /* \"contracts/LogExpMath.sol\":17322:17340 (a * ONE_20) / a11 */\n tag_153\n swap2\n swap1\n tag_44\n jump\t// in\n tag_153:\n /* \"contracts/LogExpMath.sol\":17318:17340 a = (a * ONE_20) / a11 */\n swap3\n pop\n /* \"contracts/LogExpMath.sol\":4541:4560 6250000000000000000 */\n 0x56bc75e2d6310000\n /* \"contracts/LogExpMath.sol\":17354:17364 sum += x11 */\n dup2\n tag_154\n swap2\n swap1\n tag_35\n jump\t// in\n tag_154:\n swap1\n pop\n /* \"contracts/LogExpMath.sol\":17290:17375 if (a >= a11) {... */\n tag_151:\n /* \"contracts/LogExpMath.sol\":17877:17885 int256 z */\n 0x00\n /* \"contracts/LogExpMath.sol\":2116:2120 1e20 */\n 0x056bc75e2d63100000\n /* \"contracts/LogExpMath.sol\":17915:17916 a */\n dup5\n /* \"contracts/LogExpMath.sol\":17915:17925 a + ONE_20 */\n tag_155\n swap2\n swap1\n tag_35\n jump\t// in\n tag_155:\n /* \"contracts/LogExpMath.sol\":2116:2120 1e20 */\n 0x056bc75e2d63100000\n dup1\n /* \"contracts/LogExpMath.sol\":17890:17891 a */\n dup7\n /* \"contracts/LogExpMath.sol\":17890:17900 a - ONE_20 */\n tag_156\n swap2\n swap1\n tag_32\n jump\t// in\n tag_156:\n /* \"contracts/LogExpMath.sol\":17889:17910 (a - ONE_20) * ONE_20 */\n tag_157\n swap2\n swap1\n tag_42\n jump\t// in\n tag_157:\n /* \"contracts/LogExpMath.sol\":17888:17926 ((a - ONE_20) * ONE_20) / (a + ONE_20) */\n tag_158\n swap2\n swap1\n tag_44\n jump\t// in\n tag_158:\n /* \"contracts/LogExpMath.sol\":17877:17926 int256 z = ((a - ONE_20) * ONE_20) / (a + ONE_20) */\n swap1\n pop\n /* \"contracts/LogExpMath.sol\":17936:17952 int256 z_squared */\n 0x00\n /* \"contracts/LogExpMath.sol\":2116:2120 1e20 */\n 0x056bc75e2d63100000\n /* \"contracts/LogExpMath.sol\":17960:17961 z */\n dup3\n /* \"contracts/LogExpMath.sol\":17956:17957 z */\n dup4\n /* \"contracts/LogExpMath.sol\":17956:17961 z * z */\n tag_159\n swap2\n swap1\n tag_42\n jump\t// in\n tag_159:\n /* \"contracts/LogExpMath.sol\":17955:17971 (z * z) / ONE_20 */\n tag_160\n swap2\n swap1\n tag_44\n jump\t// in\n tag_160:\n /* \"contracts/LogExpMath.sol\":17936:17971 int256 z_squared = (z * z) / ONE_20 */\n swap1\n pop\n /* \"contracts/LogExpMath.sol\":18052:18062 int256 num */\n 0x00\n /* \"contracts/LogExpMath.sol\":18065:18066 z */\n dup3\n /* \"contracts/LogExpMath.sol\":18052:18066 int256 num = z */\n swap1\n pop\n /* \"contracts/LogExpMath.sol\":18180:18196 int256 seriesSum */\n 0x00\n /* \"contracts/LogExpMath.sol\":18199:18202 num */\n dup2\n /* \"contracts/LogExpMath.sol\":18180:18202 int256 seriesSum = num */\n swap1\n pop\n /* \"contracts/LogExpMath.sol\":2116:2120 1e20 */\n 0x056bc75e2d63100000\n /* \"contracts/LogExpMath.sol\":18286:18295 z_squared */\n dup4\n /* \"contracts/LogExpMath.sol\":18280:18283 num */\n dup4\n /* \"contracts/LogExpMath.sol\":18280:18295 num * z_squared */\n tag_161\n swap2\n swap1\n tag_42\n jump\t// in\n tag_161:\n /* \"contracts/LogExpMath.sol\":18279:18305 (num * z_squared) / ONE_20 */\n tag_162\n swap2\n swap1\n tag_44\n jump\t// in\n tag_162:\n /* \"contracts/LogExpMath.sol\":18273:18305 num = (num * z_squared) / ONE_20 */\n swap2\n pop\n /* \"contracts/LogExpMath.sol\":18334:18335 3 */\n 0x03\n /* \"contracts/LogExpMath.sol\":18328:18331 num */\n dup3\n /* \"contracts/LogExpMath.sol\":18328:18335 num / 3 */\n tag_163\n swap2\n swap1\n tag_44\n jump\t// in\n tag_163:\n /* \"contracts/LogExpMath.sol\":18315:18335 seriesSum += num / 3 */\n dup2\n tag_164\n swap2\n swap1\n tag_35\n jump\t// in\n tag_164:\n swap1\n pop\n /* \"contracts/LogExpMath.sol\":2116:2120 1e20 */\n 0x056bc75e2d63100000\n /* \"contracts/LogExpMath.sol\":18359:18368 z_squared */\n dup4\n /* \"contracts/LogExpMath.sol\":18353:18356 num */\n dup4\n /* \"contracts/LogExpMath.sol\":18353:18368 num * z_squared */\n tag_165\n swap2\n swap1\n tag_42\n jump\t// in\n tag_165:\n /* \"contracts/LogExpMath.sol\":18352:18378 (num * z_squared) / ONE_20 */\n tag_166\n swap2\n swap1\n tag_44\n jump\t// in\n tag_166:\n /* \"contracts/LogExpMath.sol\":18346:18378 num = (num * z_squared) / ONE_20 */\n swap2\n pop\n /* \"contracts/LogExpMath.sol\":18407:18408 5 */\n 0x05\n /* \"contracts/LogExpMath.sol\":18401:18404 num */\n dup3\n /* \"contracts/LogExpMath.sol\":18401:18408 num / 5 */\n tag_167\n swap2\n swap1\n tag_44\n jump\t// in\n tag_167:\n /* \"contracts/LogExpMath.sol\":18388:18408 seriesSum += num / 5 */\n dup2\n tag_168\n swap2\n swap1\n tag_35\n jump\t// in\n tag_168:\n swap1\n pop\n /* \"contracts/LogExpMath.sol\":2116:2120 1e20 */\n 0x056bc75e2d63100000\n /* \"contracts/LogExpMath.sol\":18432:18441 z_squared */\n dup4\n /* \"contracts/LogExpMath.sol\":18426:18429 num */\n dup4\n /* \"contracts/LogExpMath.sol\":18426:18441 num * z_squared */\n tag_169\n swap2\n swap1\n tag_42\n jump\t// in\n tag_169:\n /* \"contracts/LogExpMath.sol\":18425:18451 (num * z_squared) / ONE_20 */\n tag_170\n swap2\n swap1\n tag_44\n jump\t// in\n tag_170:\n /* \"contracts/LogExpMath.sol\":18419:18451 num = (num * z_squared) / ONE_20 */\n swap2\n pop\n /* \"contracts/LogExpMath.sol\":18480:18481 7 */\n 0x07\n /* \"contracts/LogExpMath.sol\":18474:18477 num */\n dup3\n /* \"contracts/LogExpMath.sol\":18474:18481 num / 7 */\n tag_171\n swap2\n swap1\n tag_44\n jump\t// in\n tag_171:\n /* \"contracts/LogExpMath.sol\":18461:18481 seriesSum += num / 7 */\n dup2\n tag_172\n swap2\n swap1\n tag_35\n jump\t// in\n tag_172:\n swap1\n pop\n /* \"contracts/LogExpMath.sol\":2116:2120 1e20 */\n 0x056bc75e2d63100000\n /* \"contracts/LogExpMath.sol\":18505:18514 z_squared */\n dup4\n /* \"contracts/LogExpMath.sol\":18499:18502 num */\n dup4\n /* \"contracts/LogExpMath.sol\":18499:18514 num * z_squared */\n tag_173\n swap2\n swap1\n tag_42\n jump\t// in\n tag_173:\n /* \"contracts/LogExpMath.sol\":18498:18524 (num * z_squared) / ONE_20 */\n tag_174\n swap2\n swap1\n tag_44\n jump\t// in\n tag_174:\n /* \"contracts/LogExpMath.sol\":18492:18524 num = (num * z_squared) / ONE_20 */\n swap2\n pop\n /* \"contracts/LogExpMath.sol\":18553:18554 9 */\n 0x09\n /* \"contracts/LogExpMath.sol\":18547:18550 num */\n dup3\n /* \"contracts/LogExpMath.sol\":18547:18554 num / 9 */\n tag_175\n swap2\n swap1\n tag_44\n jump\t// in\n tag_175:\n /* \"contracts/LogExpMath.sol\":18534:18554 seriesSum += num / 9 */\n dup2\n tag_176\n swap2\n swap1\n tag_35\n jump\t// in\n tag_176:\n swap1\n pop\n /* \"contracts/LogExpMath.sol\":2116:2120 1e20 */\n 0x056bc75e2d63100000\n /* \"contracts/LogExpMath.sol\":18578:18587 z_squared */\n dup4\n /* \"contracts/LogExpMath.sol\":18572:18575 num */\n dup4\n /* \"contracts/LogExpMath.sol\":18572:18587 num * z_squared */\n tag_177\n swap2\n swap1\n tag_42\n jump\t// in\n tag_177:\n /* \"contracts/LogExpMath.sol\":18571:18597 (num * z_squared) / ONE_20 */\n tag_178\n swap2\n swap1\n tag_44\n jump\t// in\n tag_178:\n /* \"contracts/LogExpMath.sol\":18565:18597 num = (num * z_squared) / ONE_20 */\n swap2\n pop\n /* \"contracts/LogExpMath.sol\":18626:18628 11 */\n 0x0b\n /* \"contracts/LogExpMath.sol\":18620:18623 num */\n dup3\n /* \"contracts/LogExpMath.sol\":18620:18628 num / 11 */\n tag_179\n swap2\n swap1\n tag_44\n jump\t// in\n tag_179:\n /* \"contracts/LogExpMath.sol\":18607:18628 seriesSum += num / 11 */\n dup2\n tag_180\n swap2\n swap1\n tag_35\n jump\t// in\n tag_180:\n swap1\n pop\n /* \"contracts/LogExpMath.sol\":18800:18801 2 */\n 0x02\n /* \"contracts/LogExpMath.sol\":18787:18801 seriesSum *= 2 */\n dup2\n tag_181\n swap2\n swap1\n tag_42\n jump\t// in\n tag_181:\n swap1\n pop\n /* \"contracts/LogExpMath.sol\":19094:19097 100 */\n 0x64\n /* \"contracts/LogExpMath.sol\":19081:19090 seriesSum */\n dup2\n /* \"contracts/LogExpMath.sol\":19075:19078 sum */\n dup7\n /* \"contracts/LogExpMath.sol\":19075:19090 sum + seriesSum */\n tag_182\n swap2\n swap1\n tag_35\n jump\t// in\n tag_182:\n /* \"contracts/LogExpMath.sol\":19074:19097 (sum + seriesSum) / 100 */\n tag_183\n swap2\n swap1\n tag_44\n jump\t// in\n tag_183:\n /* \"contracts/LogExpMath.sol\":19067:19097 return (sum + seriesSum) / 100 */\n swap6\n pop\n pop\n pop\n pop\n pop\n pop\n /* \"contracts/LogExpMath.sol\":14145:19104 function _ln(int256 a) private pure returns (int256) {... */\n tag_98:\n swap2\n swap1\n pop\n jump\t// out\n /* \"contracts/LogExpMath.sol\":7265:12644 function exp(int256 x) internal pure returns (int256) {... */\n tag_56:\n /* \"contracts/LogExpMath.sol\":7311:7317 int256 */\n 0x00\n /* \"contracts/LogExpMath.sol\":7329:7418 _require(x >= MIN_NATURAL_EXPONENT && x <= MAX_NATURAL_EXPONENT, Errors.INVALID_EXPONENT) */\n tag_185\n /* \"contracts/LogExpMath.sol\":2762:2768 -41e18 */\n 0xfffffffffffffffffffffffffffffffffffffffffffffffdc702bd3a30fc0000\n /* \"contracts/LogExpMath.sol\":7338:7339 x */\n dup4\n /* \"contracts/LogExpMath.sol\":7338:7363 x >= MIN_NATURAL_EXPONENT */\n slt\n iszero\n /* \"contracts/LogExpMath.sol\":7338:7392 x >= MIN_NATURAL_EXPONENT && x <= MAX_NATURAL_EXPONENT */\n dup1\n iszero\n tag_186\n jumpi\n pop\n /* \"contracts/LogExpMath.sol\":2711:2717 130e18 */\n 0x070c1cc73b00c80000\n /* \"contracts/LogExpMath.sol\":7367:7368 x */\n dup4\n /* \"contracts/LogExpMath.sol\":7367:7392 x <= MAX_NATURAL_EXPONENT */\n sgt\n iszero\n /* \"contracts/LogExpMath.sol\":7338:7392 x >= MIN_NATURAL_EXPONENT && x <= MAX_NATURAL_EXPONENT */\n tag_186:\n /* \"contracts/BalancerErrors.sol\":5552:5553 9 */\n 0x09\n /* \"contracts/LogExpMath.sol\":7329:7337 _require */\n tag_28\n /* \"contracts/LogExpMath.sol\":7329:7418 _require(x >= MIN_NATURAL_EXPONENT && x <= MAX_NATURAL_EXPONENT, Errors.INVALID_EXPONENT) */\n jump\t// in\n tag_185:\n /* \"contracts/LogExpMath.sol\":7437:7438 0 */\n 0x00\n /* \"contracts/LogExpMath.sol\":7433:7434 x */\n dup3\n /* \"contracts/LogExpMath.sol\":7433:7438 x < 0 */\n slt\n /* \"contracts/LogExpMath.sol\":7429:7782 if (x < 0) {... */\n iszero\n tag_187\n jumpi\n /* \"contracts/LogExpMath.sol\":7763:7770 exp(-x) */\n tag_188\n /* \"contracts/LogExpMath.sol\":7768:7769 x */\n dup3\n /* \"contracts/LogExpMath.sol\":7767:7769 -x */\n tag_189\n swap1\n tag_104\n jump\t// in\n tag_189:\n /* \"contracts/LogExpMath.sol\":7763:7766 exp */\n tag_56\n /* \"contracts/LogExpMath.sol\":7763:7770 exp(-x) */\n jump\t// in\n tag_188:\n /* \"contracts/LogExpMath.sol\":1926:1930 1e18 */\n 0x0de0b6b3a7640000\n dup1\n /* \"contracts/LogExpMath.sol\":7744:7759 ONE_18 * ONE_18 */\n tag_190\n swap2\n swap1\n tag_42\n jump\t// in\n tag_190:\n /* \"contracts/LogExpMath.sol\":7743:7770 (ONE_18 * ONE_18) / exp(-x) */\n tag_191\n swap2\n swap1\n tag_44\n jump\t// in\n tag_191:\n /* \"contracts/LogExpMath.sol\":7735:7771 return ((ONE_18 * ONE_18) / exp(-x)) */\n swap1\n pop\n jump(tag_184)\n /* \"contracts/LogExpMath.sol\":7429:7782 if (x < 0) {... */\n tag_187:\n /* \"contracts/LogExpMath.sol\":9083:9097 int256 firstAN */\n 0x00\n /* \"contracts/LogExpMath.sol\":3149:3170 128000000000000000000 */\n 0x06f05b59d3b2000000\n /* \"contracts/LogExpMath.sol\":9111:9112 x */\n dup4\n /* \"contracts/LogExpMath.sol\":9111:9118 x >= x0 */\n slt\n /* \"contracts/LogExpMath.sol\":9107:9327 if (x >= x0) {... */\n tag_192\n jumpi\n /* \"contracts/LogExpMath.sol\":3149:3170 128000000000000000000 */\n 0x06f05b59d3b2000000\n /* \"contracts/LogExpMath.sol\":9134:9141 x -= x0 */\n dup4\n tag_193\n swap2\n swap1\n tag_32\n jump\t// in\n tag_193:\n swap3\n pop\n /* \"contracts/LogExpMath.sol\":3205:3261 38877084059945950922200000000000000000000000000000000000 */\n 0x0195e54c5dd42177f53a27172fa9ec630262827000000000\n /* \"contracts/LogExpMath.sol\":9155:9167 firstAN = a0 */\n swap1\n pop\n /* \"contracts/LogExpMath.sol\":9107:9327 if (x >= x0) {... */\n jump(tag_194)\n tag_192:\n /* \"contracts/LogExpMath.sol\":3313:3333 64000000000000000000 */\n 0x03782dace9d9000000\n /* \"contracts/LogExpMath.sol\":9188:9189 x */\n dup4\n /* \"contracts/LogExpMath.sol\":9188:9195 x >= x1 */\n slt\n /* \"contracts/LogExpMath.sol\":9184:9327 if (x >= x1) {... */\n tag_195\n jumpi\n /* \"contracts/LogExpMath.sol\":3313:3333 64000000000000000000 */\n 0x03782dace9d9000000\n /* \"contracts/LogExpMath.sol\":9211:9218 x -= x1 */\n dup4\n tag_196\n swap2\n swap1\n tag_32\n jump\t// in\n tag_196:\n swap3\n pop\n /* \"contracts/LogExpMath.sol\":3368:3396 6235149080811616882910000000 */\n 0x1425982cf597cd205cef7380\n /* \"contracts/LogExpMath.sol\":9232:9244 firstAN = a1 */\n swap1\n pop\n /* \"contracts/LogExpMath.sol\":9184:9327 if (x >= x1) {... */\n jump(tag_197)\n tag_195:\n /* \"contracts/LogExpMath.sol\":9285:9286 1 */\n 0x01\n /* \"contracts/LogExpMath.sol\":9275:9286 firstAN = 1 */\n swap1\n pop\n /* \"contracts/LogExpMath.sol\":9184:9327 if (x >= x1) {... */\n tag_197:\n /* \"contracts/LogExpMath.sol\":9107:9327 if (x >= x0) {... */\n tag_194:\n /* \"contracts/LogExpMath.sol\":9482:9485 100 */\n 0x64\n /* \"contracts/LogExpMath.sol\":9477:9485 x *= 100 */\n dup4\n tag_198\n swap2\n swap1\n tag_42\n jump\t// in\n tag_198:\n swap3\n pop\n /* \"contracts/LogExpMath.sol\":9698:9712 int256 product */\n 0x00\n /* \"contracts/LogExpMath.sol\":2116:2120 1e20 */\n 0x056bc75e2d63100000\n /* \"contracts/LogExpMath.sol\":9698:9721 int256 product = ONE_20 */\n swap1\n pop\n /* \"contracts/LogExpMath.sol\":3477:3499 3200000000000000000000 */\n 0xad78ebc5ac62000000\n /* \"contracts/LogExpMath.sol\":9736:9737 x */\n dup5\n /* \"contracts/LogExpMath.sol\":9736:9743 x >= x2 */\n slt\n /* \"contracts/LogExpMath.sol\":9732:9824 if (x >= x2) {... */\n tag_199\n jumpi\n /* \"contracts/LogExpMath.sol\":3477:3499 3200000000000000000000 */\n 0xad78ebc5ac62000000\n /* \"contracts/LogExpMath.sol\":9759:9766 x -= x2 */\n dup5\n tag_200\n swap2\n swap1\n tag_32\n jump\t// in\n tag_200:\n swap4\n pop\n /* \"contracts/LogExpMath.sol\":2116:2120 1e20 */\n 0x056bc75e2d63100000\n /* \"contracts/LogExpMath.sol\":3534:3568 7896296018268069516100000000000000 */\n 0x01855144814a7ff805980ff0084000\n /* \"contracts/LogExpMath.sol\":9791:9798 product */\n dup3\n /* \"contracts/LogExpMath.sol\":9791:9803 product * a2 */\n tag_201\n swap2\n swap1\n tag_42\n jump\t// in\n tag_201:\n /* \"contracts/LogExpMath.sol\":9790:9813 (product * a2) / ONE_20 */\n tag_202\n swap2\n swap1\n tag_44\n jump\t// in\n tag_202:\n /* \"contracts/LogExpMath.sol\":9780:9813 product = (product * a2) / ONE_20 */\n swap1\n pop\n /* \"contracts/LogExpMath.sol\":9732:9824 if (x >= x2) {... */\n tag_199:\n /* \"contracts/LogExpMath.sol\":3606:3628 1600000000000000000000 */\n 0x56bc75e2d631000000\n /* \"contracts/LogExpMath.sol\":9837:9838 x */\n dup5\n /* \"contracts/LogExpMath.sol\":9837:9844 x >= x3 */\n slt\n /* \"contracts/LogExpMath.sol\":9833:9925 if (x >= x3) {... */\n tag_203\n jumpi\n /* \"contracts/LogExpMath.sol\":3606:3628 1600000000000000000000 */\n 0x56bc75e2d631000000\n /* \"contracts/LogExpMath.sol\":9860:9867 x -= x3 */\n dup5\n tag_204\n swap2\n swap1\n tag_32\n jump\t// in\n tag_204:\n swap4\n pop\n /* \"contracts/LogExpMath.sol\":2116:2120 1e20 */\n 0x056bc75e2d63100000\n /* \"contracts/LogExpMath.sol\":3663:3690 888611052050787263676000000 */\n 0x02df0ab5a80a22c61ab5a700\n /* \"contracts/LogExpMath.sol\":9892:9899 product */\n dup3\n /* \"contracts/LogExpMath.sol\":9892:9904 product * a3 */\n tag_205\n swap2\n swap1\n tag_42\n jump\t// in\n tag_205:\n /* \"contracts/LogExpMath.sol\":9891:9914 (product * a3) / ONE_20 */\n tag_206\n swap2\n swap1\n tag_44\n jump\t// in\n tag_206:\n /* \"contracts/LogExpMath.sol\":9881:9914 product = (product * a3) / ONE_20 */\n swap1\n pop\n /* \"contracts/LogExpMath.sol\":9833:9925 if (x >= x3) {... */\n tag_203:\n /* \"contracts/LogExpMath.sol\":3728:3749 800000000000000000000 */\n 0x2b5e3af16b18800000\n /* \"contracts/LogExpMath.sol\":9938:9939 x */\n dup5\n /* \"contracts/LogExpMath.sol\":9938:9945 x >= x4 */\n slt\n /* \"contracts/LogExpMath.sol\":9934:10026 if (x >= x4) {... */\n tag_207\n jumpi\n /* \"contracts/LogExpMath.sol\":3728:3749 800000000000000000000 */\n 0x2b5e3af16b18800000\n /* \"contracts/LogExpMath.sol\":9961:9968 x -= x4 */\n dup5\n tag_208\n swap2\n swap1\n tag_32\n jump\t// in\n tag_208:\n swap4\n pop\n /* \"contracts/LogExpMath.sol\":2116:2120 1e20 */\n 0x056bc75e2d63100000\n /* \"contracts/LogExpMath.sol\":3784:3808 298095798704172827474000 */\n 0x3f1fce3da636ea5cf850\n /* \"contracts/LogExpMath.sol\":9993:10000 product */\n dup3\n /* \"contracts/LogExpMath.sol\":9993:10005 product * a4 */\n tag_209\n swap2\n swap1\n tag_42\n jump\t// in\n tag_209:\n /* \"contracts/LogExpMath.sol\":9992:10015 (product * a4) / ONE_20 */\n tag_210\n swap2\n swap1\n tag_44\n jump\t// in\n tag_210:\n /* \"contracts/LogExpMath.sol\":9982:10015 product = (product * a4) / ONE_20 */\n swap1\n pop\n /* \"contracts/LogExpMath.sol\":9934:10026 if (x >= x4) {... */\n tag_207:\n /* \"contracts/LogExpMath.sol\":3846:3867 400000000000000000000 */\n 0x15af1d78b58c400000\n /* \"contracts/LogExpMath.sol\":10039:10040 x */\n dup5\n /* \"contracts/LogExpMath.sol\":10039:10046 x >= x5 */\n slt\n /* \"contracts/LogExpMath.sol\":10035:10127 if (x >= x5) {... */\n tag_211\n jumpi\n /* \"contracts/LogExpMath.sol\":3846:3867 400000000000000000000 */\n 0x15af1d78b58c400000\n /* \"contracts/LogExpMath.sol\":10062:10069 x -= x5 */\n dup5\n tag_212\n swap2\n swap1\n tag_32\n jump\t// in\n tag_212:\n swap4\n pop\n /* \"contracts/LogExpMath.sol\":2116:2120 1e20 */\n 0x056bc75e2d63100000\n /* \"contracts/LogExpMath.sol\":3902:3924 5459815003314423907810 */\n 0x0127fa27722cc06cc5e2\n /* \"contracts/LogExpMath.sol\":10094:10101 product */\n dup3\n /* \"contracts/LogExpMath.sol\":10094:10106 product * a5 */\n tag_213\n swap2\n swap1\n tag_42\n jump\t// in\n tag_213:\n /* \"contracts/LogExpMath.sol\":10093:10116 (product * a5) / ONE_20 */\n tag_214\n swap2\n swap1\n tag_44\n jump\t// in\n tag_214:\n /* \"contracts/LogExpMath.sol\":10083:10116 product = (product * a5) / ONE_20 */\n swap1\n pop\n /* \"contracts/LogExpMath.sol\":10035:10127 if (x >= x5) {... */\n tag_211:\n /* \"contracts/LogExpMath.sol\":3962:3983 200000000000000000000 */\n 0x0ad78ebc5ac6200000\n /* \"contracts/LogExpMath.sol\":10140:10141 x */\n dup5\n /* \"contracts/LogExpMath.sol\":10140:10147 x >= x6 */\n slt\n /* \"contracts/LogExpMath.sol\":10136:10228 if (x >= x6) {... */\n tag_215\n jumpi\n /* \"contracts/LogExpMath.sol\":3962:3983 200000000000000000000 */\n 0x0ad78ebc5ac6200000\n /* \"contracts/LogExpMath.sol\":10163:10170 x -= x6 */\n dup5\n tag_216\n swap2\n swap1\n tag_32\n jump\t// in\n tag_216:\n swap4\n pop\n /* \"contracts/LogExpMath.sol\":2116:2120 1e20 */\n 0x056bc75e2d63100000\n /* \"contracts/LogExpMath.sol\":4018:4039 738905609893065022723 */\n 0x280e60114edb805d03\n /* \"contracts/LogExpMath.sol\":10195:10202 product */\n dup3\n /* \"contracts/LogExpMath.sol\":10195:10207 product * a6 */\n tag_217\n swap2\n swap1\n tag_42\n jump\t// in\n tag_217:\n /* \"contracts/LogExpMath.sol\":10194:10217 (product * a6) / ONE_20 */\n tag_218\n swap2\n swap1\n tag_44\n jump\t// in\n tag_218:\n /* \"contracts/LogExpMath.sol\":10184:10217 product = (product * a6) / ONE_20 */\n swap1\n pop\n /* \"contracts/LogExpMath.sol\":10136:10228 if (x >= x6) {... */\n tag_215:\n /* \"contracts/LogExpMath.sol\":4077:4098 100000000000000000000 */\n 0x056bc75e2d63100000\n /* \"contracts/LogExpMath.sol\":10241:10242 x */\n dup5\n /* \"contracts/LogExpMath.sol\":10241:10248 x >= x7 */\n slt\n /* \"contracts/LogExpMath.sol\":10237:10329 if (x >= x7) {... */\n tag_219\n jumpi\n /* \"contracts/LogExpMath.sol\":4077:4098 100000000000000000000 */\n 0x056bc75e2d63100000\n /* \"contracts/LogExpMath.sol\":10264:10271 x -= x7 */\n dup5\n tag_220\n swap2\n swap1\n tag_32\n jump\t// in\n tag_220:\n swap4\n pop\n /* \"contracts/LogExpMath.sol\":2116:2120 1e20 */\n 0x056bc75e2d63100000\n /* \"contracts/LogExpMath.sol\":4133:4154 271828182845904523536 */\n 0x0ebc5fb41746121110\n /* \"contracts/LogExpMath.sol\":10296:10303 product */\n dup3\n /* \"contracts/LogExpMath.sol\":10296:10308 product * a7 */\n tag_221\n swap2\n swap1\n tag_42\n jump\t// in\n tag_221:\n /* \"contracts/LogExpMath.sol\":10295:10318 (product * a7) / ONE_20 */\n tag_222\n swap2\n swap1\n tag_44\n jump\t// in\n tag_222:\n /* \"contracts/LogExpMath.sol\":10285:10318 product = (product * a7) / ONE_20 */\n swap1\n pop\n /* \"contracts/LogExpMath.sol\":10237:10329 if (x >= x7) {... */\n tag_219:\n /* \"contracts/LogExpMath.sol\":4192:4212 50000000000000000000 */\n 0x02b5e3af16b1880000\n /* \"contracts/LogExpMath.sol\":10342:10343 x */\n dup5\n /* \"contracts/LogExpMath.sol\":10342:10349 x >= x8 */\n slt\n /* \"contracts/LogExpMath.sol\":10338:10430 if (x >= x8) {... */\n tag_223\n jumpi\n /* \"contracts/LogExpMath.sol\":4192:4212 50000000000000000000 */\n 0x02b5e3af16b1880000\n /* \"contracts/LogExpMath.sol\":10365:10372 x -= x8 */\n dup5\n tag_224\n swap2\n swap1\n tag_32\n jump\t// in\n tag_224:\n swap4\n pop\n /* \"contracts/LogExpMath.sol\":2116:2120 1e20 */\n 0x056bc75e2d63100000\n /* \"contracts/LogExpMath.sol\":4248:4269 164872127070012814685 */\n 0x08f00f760a4b2db55d\n /* \"contracts/LogExpMath.sol\":10397:10404 product */\n dup3\n /* \"contracts/LogExpMath.sol\":10397:10409 product * a8 */\n tag_225\n swap2\n swap1\n tag_42\n jump\t// in\n tag_225:\n /* \"contracts/LogExpMath.sol\":10396:10419 (product * a8) / ONE_20 */\n tag_226\n swap2\n swap1\n tag_44\n jump\t// in\n tag_226:\n /* \"contracts/LogExpMath.sol\":10386:10419 product = (product * a8) / ONE_20 */\n swap1\n pop\n /* \"contracts/LogExpMath.sol\":10338:10430 if (x >= x8) {... */\n tag_223:\n /* \"contracts/LogExpMath.sol\":4307:4327 25000000000000000000 */\n 0x015af1d78b58c40000\n /* \"contracts/LogExpMath.sol\":10443:10444 x */\n dup5\n /* \"contracts/LogExpMath.sol\":10443:10450 x >= x9 */\n slt\n /* \"contracts/LogExpMath.sol\":10439:10531 if (x >= x9) {... */\n tag_227\n jumpi\n /* \"contracts/LogExpMath.sol\":4307:4327 25000000000000000000 */\n 0x015af1d78b58c40000\n /* \"contracts/LogExpMath.sol\":10466:10473 x -= x9 */\n dup5\n tag_228\n swap2\n swap1\n tag_32\n jump\t// in\n tag_228:\n swap4\n pop\n /* \"contracts/LogExpMath.sol\":2116:2120 1e20 */\n 0x056bc75e2d63100000\n /* \"contracts/LogExpMath.sol\":4363:4384 128402541668774148407 */\n 0x06f5f1775788937937\n /* \"contracts/LogExpMath.sol\":10498:10505 product */\n dup3\n /* \"contracts/LogExpMath.sol\":10498:10510 product * a9 */\n tag_229\n swap2\n swap1\n tag_42\n jump\t// in\n tag_229:\n /* \"contracts/LogExpMath.sol\":10497:10520 (product * a9) / ONE_20 */\n tag_230\n swap2\n swap1\n tag_44\n jump\t// in\n tag_230:\n /* \"contracts/LogExpMath.sol\":10487:10520 product = (product * a9) / ONE_20 */\n swap1\n pop\n /* \"contracts/LogExpMath.sol\":10439:10531 if (x >= x9) {... */\n tag_227:\n /* \"contracts/LogExpMath.sol\":10835:10851 int256 seriesSum */\n 0x00\n /* \"contracts/LogExpMath.sol\":2116:2120 1e20 */\n 0x056bc75e2d63100000\n /* \"contracts/LogExpMath.sol\":10835:10860 int256 seriesSum = ONE_20 */\n swap1\n pop\n /* \"contracts/LogExpMath.sol\":10925:10936 int256 term */\n 0x00\n /* \"contracts/LogExpMath.sol\":11052:11053 x */\n dup6\n /* \"contracts/LogExpMath.sol\":11045:11053 term = x */\n swap1\n pop\n /* \"contracts/LogExpMath.sol\":11076:11080 term */\n dup1\n /* \"contracts/LogExpMath.sol\":11063:11080 seriesSum += term */\n dup3\n tag_231\n swap2\n swap1\n tag_35\n jump\t// in\n tag_231:\n swap2\n pop\n /* \"contracts/LogExpMath.sol\":11348:11349 2 */\n 0x02\n /* \"contracts/LogExpMath.sol\":2116:2120 1e20 */\n 0x056bc75e2d63100000\n /* \"contracts/LogExpMath.sol\":11333:11334 x */\n dup8\n /* \"contracts/LogExpMath.sol\":11326:11330 term */\n dup4\n /* \"contracts/LogExpMath.sol\":11326:11334 term * x */\n tag_232\n swap2\n swap1\n tag_42\n jump\t// in\n tag_232:\n /* \"contracts/LogExpMath.sol\":11325:11344 (term * x) / ONE_20 */\n tag_233\n swap2\n swap1\n tag_44\n jump\t// in\n tag_233:\n /* \"contracts/LogExpMath.sol\":11324:11349 ((term * x) / ONE_20) / 2 */\n tag_234\n swap2\n swap1\n tag_44\n jump\t// in\n tag_234:\n /* \"contracts/LogExpMath.sol\":11317:11349 term = ((term * x) / ONE_20) / 2 */\n swap1\n pop\n /* \"contracts/LogExpMath.sol\":11372:11376 term */\n dup1\n /* \"contracts/LogExpMath.sol\":11359:11376 seriesSum += term */\n dup3\n tag_235\n swap2\n swap1\n tag_35\n jump\t// in\n tag_235:\n swap2\n pop\n /* \"contracts/LogExpMath.sol\":11418:11419 3 */\n 0x03\n /* \"contracts/LogExpMath.sol\":2116:2120 1e20 */\n 0x056bc75e2d63100000\n /* \"contracts/LogExpMath.sol\":11403:11404 x */\n dup8\n /* \"contracts/LogExpMath.sol\":11396:11400 term */\n dup4\n /* \"contracts/LogExpMath.sol\":11396:11404 term * x */\n tag_236\n swap2\n swap1\n tag_42\n jump\t// in\n tag_236:\n /* \"contracts/LogExpMath.sol\":11395:11414 (term * x) / ONE_20 */\n tag_237\n swap2\n swap1\n tag_44\n jump\t// in\n tag_237:\n /* \"contracts/LogExpMath.sol\":11394:11419 ((term * x) / ONE_20) / 3 */\n tag_238\n swap2\n swap1\n tag_44\n jump\t// in\n tag_238:\n /* \"contracts/LogExpMath.sol\":11387:11419 term = ((term * x) / ONE_20) / 3 */\n swap1\n pop\n /* \"contracts/LogExpMath.sol\":11442:11446 term */\n dup1\n /* \"contracts/LogExpMath.sol\":11429:11446 seriesSum += term */\n dup3\n tag_239\n swap2\n swap1\n tag_35\n jump\t// in\n tag_239:\n swap2\n pop\n /* \"contracts/LogExpMath.sol\":11488:11489 4 */\n 0x04\n /* \"contracts/LogExpMath.sol\":2116:2120 1e20 */\n 0x056bc75e2d63100000\n /* \"contracts/LogExpMath.sol\":11473:11474 x */\n dup8\n /* \"contracts/LogExpMath.sol\":11466:11470 term */\n dup4\n /* \"contracts/LogExpMath.sol\":11466:11474 term * x */\n tag_240\n swap2\n swap1\n tag_42\n jump\t// in\n tag_240:\n /* \"contracts/LogExpMath.sol\":11465:11484 (term * x) / ONE_20 */\n tag_241\n swap2\n swap1\n tag_44\n jump\t// in\n tag_241:\n /* \"contracts/LogExpMath.sol\":11464:11489 ((term * x) / ONE_20) / 4 */\n tag_242\n swap2\n swap1\n tag_44\n jump\t// in\n tag_242:\n /* \"contracts/LogExpMath.sol\":11457:11489 term = ((term * x) / ONE_20) / 4 */\n swap1\n pop\n /* \"contracts/LogExpMath.sol\":11512:11516 term */\n dup1\n /* \"contracts/LogExpMath.sol\":11499:11516 seriesSum += term */\n dup3\n tag_243\n swap2\n swap1\n tag_35\n jump\t// in\n tag_243:\n swap2\n pop\n /* \"contracts/LogExpMath.sol\":11558:11559 5 */\n 0x05\n /* \"contracts/LogExpMath.sol\":2116:2120 1e20 */\n 0x056bc75e2d63100000\n /* \"contracts/LogExpMath.sol\":11543:11544 x */\n dup8\n /* \"contracts/LogExpMath.sol\":11536:11540 term */\n dup4\n /* \"contracts/LogExpMath.sol\":11536:11544 term * x */\n tag_244\n swap2\n swap1\n tag_42\n jump\t// in\n tag_244:\n /* \"contracts/LogExpMath.sol\":11535:11554 (term * x) / ONE_20 */\n tag_245\n swap2\n swap1\n tag_44\n jump\t// in\n tag_245:\n /* \"contracts/LogExpMath.sol\":11534:11559 ((term * x) / ONE_20) / 5 */\n tag_246\n swap2\n swap1\n tag_44\n jump\t// in\n tag_246:\n /* \"contracts/LogExpMath.sol\":11527:11559 term = ((term * x) / ONE_20) / 5 */\n swap1\n pop\n /* \"contracts/LogExpMath.sol\":11582:11586 term */\n dup1\n /* \"contracts/LogExpMath.sol\":11569:11586 seriesSum += term */\n dup3\n tag_247\n swap2\n swap1\n tag_35\n jump\t// in\n tag_247:\n swap2\n pop\n /* \"contracts/LogExpMath.sol\":11628:11629 6 */\n 0x06\n /* \"contracts/LogExpMath.sol\":2116:2120 1e20 */\n 0x056bc75e2d63100000\n /* \"contracts/LogExpMath.sol\":11613:11614 x */\n dup8\n /* \"contracts/LogExpMath.sol\":11606:11610 term */\n dup4\n /* \"contracts/LogExpMath.sol\":11606:11614 term * x */\n tag_248\n swap2\n swap1\n tag_42\n jump\t// in\n tag_248:\n /* \"contracts/LogExpMath.sol\":11605:11624 (term * x) / ONE_20 */\n tag_249\n swap2\n swap1\n tag_44\n jump\t// in\n tag_249:\n /* \"contracts/LogExpMath.sol\":11604:11629 ((term * x) / ONE_20) / 6 */\n tag_250\n swap2\n swap1\n tag_44\n jump\t// in\n tag_250:\n /* \"contracts/LogExpMath.sol\":11597:11629 term = ((term * x) / ONE_20) / 6 */\n swap1\n pop\n /* \"contracts/LogExpMath.sol\":11652:11656 term */\n dup1\n /* \"contracts/LogExpMath.sol\":11639:11656 seriesSum += term */\n dup3\n tag_251\n swap2\n swap1\n tag_35\n jump\t// in\n tag_251:\n swap2\n pop\n /* \"contracts/LogExpMath.sol\":11698:11699 7 */\n 0x07\n /* \"contracts/LogExpMath.sol\":2116:2120 1e20 */\n 0x056bc75e2d63100000\n /* \"contracts/LogExpMath.sol\":11683:11684 x */\n dup8\n /* \"contracts/LogExpMath.sol\":11676:11680 term */\n dup4\n /* \"contracts/LogExpMath.sol\":11676:11684 term * x */\n tag_252\n swap2\n swap1\n tag_42\n jump\t// in\n tag_252:\n /* \"contracts/LogExpMath.sol\":11675:11694 (term * x) / ONE_20 */\n tag_253\n swap2\n swap1\n tag_44\n jump\t// in\n tag_253:\n /* \"contracts/LogExpMath.sol\":11674:11699 ((term * x) / ONE_20) / 7 */\n tag_254\n swap2\n swap1\n tag_44\n jump\t// in\n tag_254:\n /* \"contracts/LogExpMath.sol\":11667:11699 term = ((term * x) / ONE_20) / 7 */\n swap1\n pop\n /* \"contracts/LogExpMath.sol\":11722:11726 term */\n dup1\n /* \"contracts/LogExpMath.sol\":11709:11726 seriesSum += term */\n dup3\n tag_255\n swap2\n swap1\n tag_35\n jump\t// in\n tag_255:\n swap2\n pop\n /* \"contracts/LogExpMath.sol\":11768:11769 8 */\n 0x08\n /* \"contracts/LogExpMath.sol\":2116:2120 1e20 */\n 0x056bc75e2d63100000\n /* \"contracts/LogExpMath.sol\":11753:11754 x */\n dup8\n /* \"contracts/LogExpMath.sol\":11746:11750 term */\n dup4\n /* \"contracts/LogExpMath.sol\":11746:11754 term * x */\n tag_256\n swap2\n swap1\n tag_42\n jump\t// in\n tag_256:\n /* \"contracts/LogExpMath.sol\":11745:11764 (term * x) / ONE_20 */\n tag_257\n swap2\n swap1\n tag_44\n jump\t// in\n tag_257:\n /* \"contracts/LogExpMath.sol\":11744:11769 ((term * x) / ONE_20) / 8 */\n tag_258\n swap2\n swap1\n tag_44\n jump\t// in\n tag_258:\n /* \"contracts/LogExpMath.sol\":11737:11769 term = ((term * x) / ONE_20) / 8 */\n swap1\n pop\n /* \"contracts/LogExpMath.sol\":11792:11796 term */\n dup1\n /* \"contracts/LogExpMath.sol\":11779:11796 seriesSum += term */\n dup3\n tag_259\n swap2\n swap1\n tag_35\n jump\t// in\n tag_259:\n swap2\n pop\n /* \"contracts/LogExpMath.sol\":11838:11839 9 */\n 0x09\n /* \"contracts/LogExpMath.sol\":2116:2120 1e20 */\n 0x056bc75e2d63100000\n /* \"contracts/LogExpMath.sol\":11823:11824 x */\n dup8\n /* \"contracts/LogExpMath.sol\":11816:11820 term */\n dup4\n /* \"contracts/LogExpMath.sol\":11816:11824 term * x */\n tag_260\n swap2\n swap1\n tag_42\n jump\t// in\n tag_260:\n /* \"contracts/LogExpMath.sol\":11815:11834 (term * x) / ONE_20 */\n tag_261\n swap2\n swap1\n tag_44\n jump\t// in\n tag_261:\n /* \"contracts/LogExpMath.sol\":11814:11839 ((term * x) / ONE_20) / 9 */\n tag_262\n swap2\n swap1\n tag_44\n jump\t// in\n tag_262:\n /* \"contracts/LogExpMath.sol\":11807:11839 term = ((term * x) / ONE_20) / 9 */\n swap1\n pop\n /* \"contracts/LogExpMath.sol\":11862:11866 term */\n dup1\n /* \"contracts/LogExpMath.sol\":11849:11866 seriesSum += term */\n dup3\n tag_263\n swap2\n swap1\n tag_35\n jump\t// in\n tag_263:\n swap2\n pop\n /* \"contracts/LogExpMath.sol\":11908:11910 10 */\n 0x0a\n /* \"contracts/LogExpMath.sol\":2116:2120 1e20 */\n 0x056bc75e2d63100000\n /* \"contracts/LogExpMath.sol\":11893:11894 x */\n dup8\n /* \"contracts/LogExpMath.sol\":11886:11890 term */\n dup4\n /* \"contracts/LogExpMath.sol\":11886:11894 term * x */\n tag_264\n swap2\n swap1\n tag_42\n jump\t// in\n tag_264:\n /* \"contracts/LogExpMath.sol\":11885:11904 (term * x) / ONE_20 */\n tag_265\n swap2\n swap1\n tag_44\n jump\t// in\n tag_265:\n /* \"contracts/LogExpMath.sol\":11884:11910 ((term * x) / ONE_20) / 10 */\n tag_266\n swap2\n swap1\n tag_44\n jump\t// in\n tag_266:\n /* \"contracts/LogExpMath.sol\":11877:11910 term = ((term * x) / ONE_20) / 10 */\n swap1\n pop\n /* \"contracts/LogExpMath.sol\":11933:11937 term */\n dup1\n /* \"contracts/LogExpMath.sol\":11920:11937 seriesSum += term */\n dup3\n tag_267\n swap2\n swap1\n tag_35\n jump\t// in\n tag_267:\n swap2\n pop\n /* \"contracts/LogExpMath.sol\":11979:11981 11 */\n 0x0b\n /* \"contracts/LogExpMath.sol\":2116:2120 1e20 */\n 0x056bc75e2d63100000\n /* \"contracts/LogExpMath.sol\":11964:11965 x */\n dup8\n /* \"contracts/LogExpMath.sol\":11957:11961 term */\n dup4\n /* \"contracts/LogExpMath.sol\":11957:11965 term * x */\n tag_268\n swap2\n swap1\n tag_42\n jump\t// in\n tag_268:\n /* \"contracts/LogExpMath.sol\":11956:11975 (term * x) / ONE_20 */\n tag_269\n swap2\n swap1\n tag_44\n jump\t// in\n tag_269:\n /* \"contracts/LogExpMath.sol\":11955:11981 ((term * x) / ONE_20) / 11 */\n tag_270\n swap2\n swap1\n tag_44\n jump\t// in\n tag_270:\n /* \"contracts/LogExpMath.sol\":11948:11981 term = ((term * x) / ONE_20) / 11 */\n swap1\n pop\n /* \"contracts/LogExpMath.sol\":12004:12008 term */\n dup1\n /* \"contracts/LogExpMath.sol\":11991:12008 seriesSum += term */\n dup3\n tag_271\n swap2\n swap1\n tag_35\n jump\t// in\n tag_271:\n swap2\n pop\n /* \"contracts/LogExpMath.sol\":12050:12052 12 */\n 0x0c\n /* \"contracts/LogExpMath.sol\":2116:2120 1e20 */\n 0x056bc75e2d63100000\n /* \"contracts/LogExpMath.sol\":12035:12036 x */\n dup8\n /* \"contracts/LogExpMath.sol\":12028:12032 term */\n dup4\n /* \"contracts/LogExpMath.sol\":12028:12036 term * x */\n tag_272\n swap2\n swap1\n tag_42\n jump\t// in\n tag_272:\n /* \"contracts/LogExpMath.sol\":12027:12046 (term * x) / ONE_20 */\n tag_273\n swap2\n swap1\n tag_44\n jump\t// in\n tag_273:\n /* \"contracts/LogExpMath.sol\":12026:12052 ((term * x) / ONE_20) / 12 */\n tag_274\n swap2\n swap1\n tag_44\n jump\t// in\n tag_274:\n /* \"contracts/LogExpMath.sol\":12019:12052 term = ((term * x) / ONE_20) / 12 */\n swap1\n pop\n /* \"contracts/LogExpMath.sol\":12075:12079 term */\n dup1\n /* \"contracts/LogExpMath.sol\":12062:12079 seriesSum += term */\n dup3\n tag_275\n swap2\n swap1\n tag_35\n jump\t// in\n tag_275:\n swap2\n pop\n /* \"contracts/LogExpMath.sol\":12634:12637 100 */\n 0x64\n /* \"contracts/LogExpMath.sol\":12623:12630 firstAN */\n dup5\n /* \"contracts/LogExpMath.sol\":2116:2120 1e20 */\n 0x056bc75e2d63100000\n /* \"contracts/LogExpMath.sol\":12600:12609 seriesSum */\n dup5\n /* \"contracts/LogExpMath.sol\":12590:12597 product */\n dup7\n /* \"contracts/LogExpMath.sol\":12590:12609 product * seriesSum */\n tag_276\n swap2\n swap1\n tag_42\n jump\t// in\n tag_276:\n /* \"contracts/LogExpMath.sol\":12589:12619 (product * seriesSum) / ONE_20 */\n tag_277\n swap2\n swap1\n tag_44\n jump\t// in\n tag_277:\n /* \"contracts/LogExpMath.sol\":12588:12630 ((product * seriesSum) / ONE_20) * firstAN */\n tag_278\n swap2\n swap1\n tag_42\n jump\t// in\n tag_278:\n /* \"contracts/LogExpMath.sol\":12587:12637 (((product * seriesSum) / ONE_20) * firstAN) / 100 */\n tag_279\n swap2\n swap1\n tag_44\n jump\t// in\n tag_279:\n /* \"contracts/LogExpMath.sol\":12580:12637 return (((product * seriesSum) / ONE_20) * firstAN) / 100 */\n swap5\n pop\n pop\n pop\n pop\n pop\n /* \"contracts/LogExpMath.sol\":7265:12644 function exp(int256 x) internal pure returns (int256) {... */\n tag_184:\n swap2\n swap1\n pop\n jump\t// out\n /* \"contracts/BalancerErrors.sol\":1422:1548 function _revert(uint256 errorCode) pure {... */\n tag_60:\n /* \"contracts/BalancerErrors.sol\":1469:1497 _revert(errorCode, 0x42414c) */\n tag_281\n /* \"contracts/BalancerErrors.sol\":1477:1486 errorCode */\n dup2\n /* \"contracts/BalancerErrors.sol\":1488:1496 0x42414c */\n 0x42414c\n /* \"contracts/BalancerErrors.sol\":1469:1497 _revert(errorCode, 0x42414c) */\n 0xe8\n shl\n /* \"contracts/BalancerErrors.sol\":1469:1476 _revert */\n tag_282\n /* \"contracts/BalancerErrors.sol\":1469:1497 _revert(errorCode, 0x42414c) */\n jump\t// in\n tag_281:\n /* \"contracts/BalancerErrors.sol\":1422:1548 function _revert(uint256 errorCode) pure {... */\n pop\n jump\t// out\n /* \"contracts/BalancerErrors.sol\":1654:5024 function _revert(uint256 errorCode, bytes3 prefix) pure {... */\n tag_282:\n /* \"contracts/BalancerErrors.sol\":1716:1734 uint256 prefixUint */\n 0x00\n /* \"contracts/BalancerErrors.sol\":1752:1758 prefix */\n dup2\n /* \"contracts/BalancerErrors.sol\":1745:1759 uint24(prefix) */\n 0xe8\n shr\n /* \"contracts/BalancerErrors.sol\":1737:1760 uint256(uint24(prefix)) */\n 0xffffff\n and\n /* \"contracts/BalancerErrors.sol\":1716:1760 uint256 prefixUint = uint256(uint24(prefix)) */\n swap1\n pop\n /* \"contracts/BalancerErrors.sol\":2859:2863 0x30 */\n 0x30\n /* \"contracts/BalancerErrors.sol\":2854:2856 10 */\n 0x0a\n /* \"contracts/BalancerErrors.sol\":2843:2852 errorCode */\n dup5\n /* \"contracts/BalancerErrors.sol\":2839:2857 mod(errorCode, 10) */\n mod\n /* \"contracts/BalancerErrors.sol\":2835:2864 add(mod(errorCode, 10), 0x30) */\n add\n /* \"contracts/BalancerErrors.sol\":2901:2903 10 */\n 0x0a\n /* \"contracts/BalancerErrors.sol\":2890:2899 errorCode */\n dup5\n /* \"contracts/BalancerErrors.sol\":2886:2904 div(errorCode, 10) */\n div\n /* \"contracts/BalancerErrors.sol\":2873:2904 errorCode := div(errorCode, 10) */\n swap4\n pop\n /* \"contracts/BalancerErrors.sol\":2951:2955 0x30 */\n 0x30\n /* \"contracts/BalancerErrors.sol\":2946:2948 10 */\n 0x0a\n /* \"contracts/BalancerErrors.sol\":2935:2944 errorCode */\n dup6\n /* \"contracts/BalancerErrors.sol\":2931:2949 mod(errorCode, 10) */\n mod\n /* \"contracts/BalancerErrors.sol\":2927:2956 add(mod(errorCode, 10), 0x30) */\n add\n /* \"contracts/BalancerErrors.sol\":2993:2995 10 */\n 0x0a\n /* \"contracts/BalancerErrors.sol\":2982:2991 errorCode */\n dup6\n /* \"contracts/BalancerErrors.sol\":2978:2996 div(errorCode, 10) */\n div\n /* \"contracts/BalancerErrors.sol\":2965:2996 errorCode := div(errorCode, 10) */\n swap5\n pop\n /* \"contracts/BalancerErrors.sol\":3045:3049 0x30 */\n 0x30\n /* \"contracts/BalancerErrors.sol\":3040:3042 10 */\n 0x0a\n /* \"contracts/BalancerErrors.sol\":3029:3038 errorCode */\n dup7\n /* \"contracts/BalancerErrors.sol\":3025:3043 mod(errorCode, 10) */\n mod\n /* \"contracts/BalancerErrors.sol\":3021:3050 add(mod(errorCode, 10), 0x30) */\n add\n /* \"contracts/BalancerErrors.sol\":3730:3740 prefixUint */\n dup4\n /* \"contracts/BalancerErrors.sol\":3727:3728 8 */\n 0x08\n /* \"contracts/BalancerErrors.sol\":3723:3741 shl(8, prefixUint) */\n shl\n /* \"contracts/BalancerErrors.sol\":3717:3721 0x23 */\n 0x23\n /* \"contracts/BalancerErrors.sol\":3713:3742 add(0x23, shl(8, prefixUint)) */\n add\n /* \"contracts/BalancerErrors.sol\":3709:3711 24 */\n 0x18\n /* \"contracts/BalancerErrors.sol\":3705:3743 shl(24, add(0x23, shl(8, prefixUint))) */\n shl\n /* \"contracts/BalancerErrors.sol\":3842:3850 hundreds */\n dup2\n /* \"contracts/BalancerErrors.sol\":3838:3840 16 */\n 0x10\n /* \"contracts/BalancerErrors.sol\":3834:3851 shl(16, hundreds) */\n shl\n /* \"contracts/BalancerErrors.sol\":3824:3830 tenths */\n dup4\n /* \"contracts/BalancerErrors.sol\":3821:3822 8 */\n 0x08\n /* \"contracts/BalancerErrors.sol\":3817:3831 shl(8, tenths) */\n shl\n /* \"contracts/BalancerErrors.sol\":3810:3815 units */\n dup6\n /* \"contracts/BalancerErrors.sol\":3806:3832 add(units, shl(8, tenths)) */\n add\n /* \"contracts/BalancerErrors.sol\":3802:3852 add(add(units, shl(8, tenths)), shl(16, hundreds)) */\n add\n /* \"contracts/BalancerErrors.sol\":3785:3800 formattedPrefix */\n dup2\n /* \"contracts/BalancerErrors.sol\":3781:3853 add(formattedPrefix, add(add(units, shl(8, tenths)), shl(16, hundreds))) */\n add\n /* \"contracts/BalancerErrors.sol\":3776:3779 200 */\n 0xc8\n /* \"contracts/BalancerErrors.sol\":3772:3854 shl(200, add(formattedPrefix, add(add(units, shl(8, tenths)), shl(16, hundreds)))) */\n shl\n /* \"contracts/BalancerErrors.sol\":4372:4438 0x08c379a000000000000000000000000000000000000000000000000000000000 */\n 0x08c379a000000000000000000000000000000000000000000000000000000000\n /* \"contracts/BalancerErrors.sol\":4367:4370 0x0 */\n 0x00\n /* \"contracts/BalancerErrors.sol\":4360:4439 mstore(0x0, 0x08c379a000000000000000000000000000000000000000000000000000000000) */\n mstore\n /* \"contracts/BalancerErrors.sol\":4578:4644 0x0000000000000000000000000000000000000000000000000000000000000020 */\n 0x20\n /* \"contracts/BalancerErrors.sol\":4572:4576 0x04 */\n 0x04\n /* \"contracts/BalancerErrors.sol\":4565:4645 mstore(0x04, 0x0000000000000000000000000000000000000000000000000000000000000020) */\n mstore\n /* \"contracts/BalancerErrors.sol\":4720:4721 7 */\n 0x07\n /* \"contracts/BalancerErrors.sol\":4714:4718 0x24 */\n 0x24\n /* \"contracts/BalancerErrors.sol\":4707:4722 mstore(0x24, 7) */\n mstore\n /* \"contracts/BalancerErrors.sol\":4793:4805 revertReason */\n dup1\n /* \"contracts/BalancerErrors.sol\":4787:4791 0x44 */\n 0x44\n /* \"contracts/BalancerErrors.sol\":4780:4806 mstore(0x44, revertReason) */\n mstore\n /* \"contracts/BalancerErrors.sol\":5012:5015 100 */\n 0x64\n /* \"contracts/BalancerErrors.sol\":5009:5010 0 */\n 0x00\n /* \"contracts/BalancerErrors.sol\":5002:5016 revert(0, 100) */\n revert\n /* \"#utility.yul\":88:205 */\n tag_285:\n /* \"#utility.yul\":197:198 */\n 0x00\n /* \"#utility.yul\":194:195 */\n dup1\n /* \"#utility.yul\":187:199 */\n revert\n /* \"#utility.yul\":334:420 */\n tag_287:\n /* \"#utility.yul\":369:376 */\n 0x00\n /* \"#utility.yul\":409:413 */\n 0xff\n /* \"#utility.yul\":402:407 */\n dup3\n /* \"#utility.yul\":398:414 */\n and\n /* \"#utility.yul\":387:414 */\n swap1\n pop\n /* \"#utility.yul\":334:420 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":426:544 */\n tag_288:\n /* \"#utility.yul\":497:519 */\n tag_307\n /* \"#utility.yul\":513:518 */\n dup2\n /* \"#utility.yul\":497:519 */\n tag_287\n jump\t// in\n tag_307:\n /* \"#utility.yul\":490:495 */\n dup2\n /* \"#utility.yul\":487:520 */\n eq\n /* \"#utility.yul\":477:538 */\n tag_308\n jumpi\n /* \"#utility.yul\":534:535 */\n 0x00\n /* \"#utility.yul\":531:532 */\n dup1\n /* \"#utility.yul\":524:536 */\n revert\n /* \"#utility.yul\":477:538 */\n tag_308:\n /* \"#utility.yul\":426:544 */\n pop\n jump\t// out\n /* \"#utility.yul\":550:685 */\n tag_289:\n /* \"#utility.yul\":594:599 */\n 0x00\n /* \"#utility.yul\":632:638 */\n dup2\n /* \"#utility.yul\":619:639 */\n calldataload\n /* \"#utility.yul\":610:639 */\n swap1\n pop\n /* \"#utility.yul\":648:679 */\n tag_310\n /* \"#utility.yul\":673:678 */\n dup2\n /* \"#utility.yul\":648:679 */\n tag_288\n jump\t// in\n tag_310:\n /* \"#utility.yul\":550:685 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":691:768 */\n tag_290:\n /* \"#utility.yul\":728:735 */\n 0x00\n /* \"#utility.yul\":757:762 */\n dup2\n /* \"#utility.yul\":746:762 */\n swap1\n pop\n /* \"#utility.yul\":691:768 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":774:896 */\n tag_291:\n /* \"#utility.yul\":847:871 */\n tag_313\n /* \"#utility.yul\":865:870 */\n dup2\n /* \"#utility.yul\":847:871 */\n tag_290\n jump\t// in\n tag_313:\n /* \"#utility.yul\":840:845 */\n dup2\n /* \"#utility.yul\":837:872 */\n eq\n /* \"#utility.yul\":827:890 */\n tag_314\n jumpi\n /* \"#utility.yul\":886:887 */\n 0x00\n /* \"#utility.yul\":883:884 */\n dup1\n /* \"#utility.yul\":876:888 */\n revert\n /* \"#utility.yul\":827:890 */\n tag_314:\n /* \"#utility.yul\":774:896 */\n pop\n jump\t// out\n /* \"#utility.yul\":902:1041 */\n tag_292:\n /* \"#utility.yul\":948:953 */\n 0x00\n /* \"#utility.yul\":986:992 */\n dup2\n /* \"#utility.yul\":973:993 */\n calldataload\n /* \"#utility.yul\":964:993 */\n swap1\n pop\n /* \"#utility.yul\":1002:1035 */\n tag_316\n /* \"#utility.yul\":1029:1034 */\n dup2\n /* \"#utility.yul\":1002:1035 */\n tag_291\n jump\t// in\n tag_316:\n /* \"#utility.yul\":902:1041 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1047:1517 */\n tag_6:\n /* \"#utility.yul\":1113:1119 */\n 0x00\n /* \"#utility.yul\":1121:1127 */\n dup1\n /* \"#utility.yul\":1170:1172 */\n 0x40\n /* \"#utility.yul\":1158:1167 */\n dup4\n /* \"#utility.yul\":1149:1156 */\n dup6\n /* \"#utility.yul\":1145:1168 */\n sub\n /* \"#utility.yul\":1141:1173 */\n slt\n /* \"#utility.yul\":1138:1257 */\n iszero\n tag_318\n jumpi\n /* \"#utility.yul\":1176:1255 */\n tag_319\n tag_285\n jump\t// in\n tag_319:\n /* \"#utility.yul\":1138:1257 */\n tag_318:\n /* \"#utility.yul\":1296:1297 */\n 0x00\n /* \"#utility.yul\":1321:1372 */\n tag_320\n /* \"#utility.yul\":1364:1371 */\n dup6\n /* \"#utility.yul\":1355:1361 */\n dup3\n /* \"#utility.yul\":1344:1353 */\n dup7\n /* \"#utility.yul\":1340:1362 */\n add\n /* \"#utility.yul\":1321:1372 */\n tag_289\n jump\t// in\n tag_320:\n /* \"#utility.yul\":1311:1372 */\n swap3\n pop\n /* \"#utility.yul\":1267:1382 */\n pop\n /* \"#utility.yul\":1421:1423 */\n 0x20\n /* \"#utility.yul\":1447:1500 */\n tag_321\n /* \"#utility.yul\":1492:1499 */\n dup6\n /* \"#utility.yul\":1483:1489 */\n dup3\n /* \"#utility.yul\":1472:1481 */\n dup7\n /* \"#utility.yul\":1468:1490 */\n add\n /* \"#utility.yul\":1447:1500 */\n tag_292\n jump\t// in\n tag_321:\n /* \"#utility.yul\":1437:1500 */\n swap2\n pop\n /* \"#utility.yul\":1392:1510 */\n pop\n /* \"#utility.yul\":1047:1517 */\n swap3\n pop\n swap3\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":1523:1641 */\n tag_293:\n /* \"#utility.yul\":1610:1634 */\n tag_323\n /* \"#utility.yul\":1628:1633 */\n dup2\n /* \"#utility.yul\":1610:1634 */\n tag_290\n jump\t// in\n tag_323:\n /* \"#utility.yul\":1605:1608 */\n dup3\n /* \"#utility.yul\":1598:1635 */\n mstore\n /* \"#utility.yul\":1523:1641 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1647:1869 */\n tag_9:\n /* \"#utility.yul\":1740:1744 */\n 0x00\n /* \"#utility.yul\":1778:1780 */\n 0x20\n /* \"#utility.yul\":1767:1776 */\n dup3\n /* \"#utility.yul\":1763:1781 */\n add\n /* \"#utility.yul\":1755:1781 */\n swap1\n pop\n /* \"#utility.yul\":1791:1862 */\n tag_325\n /* \"#utility.yul\":1859:1860 */\n 0x00\n /* \"#utility.yul\":1848:1857 */\n dup4\n /* \"#utility.yul\":1844:1861 */\n add\n /* \"#utility.yul\":1835:1841 */\n dup5\n /* \"#utility.yul\":1791:1862 */\n tag_293\n jump\t// in\n tag_325:\n /* \"#utility.yul\":1647:1869 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1875:1976 */\n tag_294:\n /* \"#utility.yul\":1911:1918 */\n 0x00\n /* \"#utility.yul\":1951:1969 */\n 0xffffffffffffffff\n /* \"#utility.yul\":1944:1949 */\n dup3\n /* \"#utility.yul\":1940:1970 */\n and\n /* \"#utility.yul\":1929:1970 */\n swap1\n pop\n /* \"#utility.yul\":1875:1976 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":1982:2162 */\n tag_295:\n /* \"#utility.yul\":2030:2107 */\n 0x4e487b7100000000000000000000000000000000000000000000000000000000\n /* \"#utility.yul\":2027:2028 */\n 0x00\n /* \"#utility.yul\":2020:2108 */\n mstore\n /* \"#utility.yul\":2127:2131 */\n 0x12\n /* \"#utility.yul\":2124:2125 */\n 0x04\n /* \"#utility.yul\":2117:2132 */\n mstore\n /* \"#utility.yul\":2151:2155 */\n 0x24\n /* \"#utility.yul\":2148:2149 */\n 0x00\n /* \"#utility.yul\":2141:2156 */\n revert\n /* \"#utility.yul\":2168:2348 */\n tag_296:\n /* \"#utility.yul\":2216:2293 */\n 0x4e487b7100000000000000000000000000000000000000000000000000000000\n /* \"#utility.yul\":2213:2214 */\n 0x00\n /* \"#utility.yul\":2206:2294 */\n mstore\n /* \"#utility.yul\":2313:2317 */\n 0x11\n /* \"#utility.yul\":2310:2311 */\n 0x04\n /* \"#utility.yul\":2303:2318 */\n mstore\n /* \"#utility.yul\":2337:2341 */\n 0x24\n /* \"#utility.yul\":2334:2335 */\n 0x00\n /* \"#utility.yul\":2327:2342 */\n revert\n /* \"#utility.yul\":2354:2536 */\n tag_14:\n /* \"#utility.yul\":2393:2394 */\n 0x00\n /* \"#utility.yul\":2410:2429 */\n tag_330\n /* \"#utility.yul\":2427:2428 */\n dup3\n /* \"#utility.yul\":2410:2429 */\n tag_294\n jump\t// in\n tag_330:\n /* \"#utility.yul\":2405:2429 */\n swap2\n pop\n /* \"#utility.yul\":2443:2462 */\n tag_331\n /* \"#utility.yul\":2460:2461 */\n dup4\n /* \"#utility.yul\":2443:2462 */\n tag_294\n jump\t// in\n tag_331:\n /* \"#utility.yul\":2438:2462 */\n swap3\n pop\n /* \"#utility.yul\":2481:2482 */\n dup3\n /* \"#utility.yul\":2471:2506 */\n tag_332\n jumpi\n /* \"#utility.yul\":2486:2504 */\n tag_333\n tag_295\n jump\t// in\n tag_333:\n /* \"#utility.yul\":2471:2506 */\n tag_332:\n /* \"#utility.yul\":2528:2529 */\n dup3\n /* \"#utility.yul\":2525:2526 */\n dup3\n /* \"#utility.yul\":2521:2530 */\n div\n /* \"#utility.yul\":2516:2530 */\n swap1\n pop\n /* \"#utility.yul\":2354:2536 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":2542:2727 */\n tag_17:\n /* \"#utility.yul\":2582:2583 */\n 0x00\n /* \"#utility.yul\":2599:2619 */\n tag_335\n /* \"#utility.yul\":2617:2618 */\n dup3\n /* \"#utility.yul\":2599:2619 */\n tag_290\n jump\t// in\n tag_335:\n /* \"#utility.yul\":2594:2619 */\n swap2\n pop\n /* \"#utility.yul\":2633:2653 */\n tag_336\n /* \"#utility.yul\":2651:2652 */\n dup4\n /* \"#utility.yul\":2633:2653 */\n tag_290\n jump\t// in\n tag_336:\n /* \"#utility.yul\":2628:2653 */\n swap3\n pop\n /* \"#utility.yul\":2672:2673 */\n dup3\n /* \"#utility.yul\":2662:2697 */\n tag_337\n jumpi\n /* \"#utility.yul\":2677:2695 */\n tag_338\n tag_295\n jump\t// in\n tag_338:\n /* \"#utility.yul\":2662:2697 */\n tag_337:\n /* \"#utility.yul\":2719:2720 */\n dup3\n /* \"#utility.yul\":2716:2717 */\n dup3\n /* \"#utility.yul\":2712:2721 */\n div\n /* \"#utility.yul\":2707:2721 */\n swap1\n pop\n /* \"#utility.yul\":2542:2727 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":2733:2902 */\n tag_297:\n /* \"#utility.yul\":2817:2828 */\n 0x00\n /* \"#utility.yul\":2851:2857 */\n dup3\n /* \"#utility.yul\":2846:2849 */\n dup3\n /* \"#utility.yul\":2839:2858 */\n mstore\n /* \"#utility.yul\":2891:2895 */\n 0x20\n /* \"#utility.yul\":2886:2889 */\n dup3\n /* \"#utility.yul\":2882:2896 */\n add\n /* \"#utility.yul\":2867:2896 */\n swap1\n pop\n /* \"#utility.yul\":2733:2902 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":2908:3152 */\n tag_298:\n /* \"#utility.yul\":3048:3082 */\n 0x42616c616e636572206d617468206f6e6c792063616e2068616e646c65207371\n /* \"#utility.yul\":3044:3045 */\n 0x00\n /* \"#utility.yul\":3036:3042 */\n dup3\n /* \"#utility.yul\":3032:3046 */\n add\n /* \"#utility.yul\":3025:3083 */\n mstore\n /* \"#utility.yul\":3117:3144 */\n 0x7561726520726f6f747320616e64206375626520726f6f747300000000000000\n /* \"#utility.yul\":3112:3114 */\n 0x20\n /* \"#utility.yul\":3104:3110 */\n dup3\n /* \"#utility.yul\":3100:3115 */\n add\n /* \"#utility.yul\":3093:3145 */\n mstore\n /* \"#utility.yul\":2908:3152 */\n pop\n jump\t// out\n /* \"#utility.yul\":3158:3524 */\n tag_299:\n /* \"#utility.yul\":3300:3303 */\n 0x00\n /* \"#utility.yul\":3321:3388 */\n tag_342\n /* \"#utility.yul\":3385:3387 */\n 0x39\n /* \"#utility.yul\":3380:3383 */\n dup4\n /* \"#utility.yul\":3321:3388 */\n tag_297\n jump\t// in\n tag_342:\n /* \"#utility.yul\":3314:3388 */\n swap2\n pop\n /* \"#utility.yul\":3397:3490 */\n tag_343\n /* \"#utility.yul\":3486:3489 */\n dup3\n /* \"#utility.yul\":3397:3490 */\n tag_298\n jump\t// in\n tag_343:\n /* \"#utility.yul\":3515:3517 */\n 0x40\n /* \"#utility.yul\":3510:3513 */\n dup3\n /* \"#utility.yul\":3506:3518 */\n add\n /* \"#utility.yul\":3499:3518 */\n swap1\n pop\n /* \"#utility.yul\":3158:3524 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":3530:3949 */\n tag_23:\n /* \"#utility.yul\":3696:3700 */\n 0x00\n /* \"#utility.yul\":3734:3736 */\n 0x20\n /* \"#utility.yul\":3723:3732 */\n dup3\n /* \"#utility.yul\":3719:3737 */\n add\n /* \"#utility.yul\":3711:3737 */\n swap1\n pop\n /* \"#utility.yul\":3783:3792 */\n dup2\n /* \"#utility.yul\":3777:3781 */\n dup2\n /* \"#utility.yul\":3773:3793 */\n sub\n /* \"#utility.yul\":3769:3770 */\n 0x00\n /* \"#utility.yul\":3758:3767 */\n dup4\n /* \"#utility.yul\":3754:3771 */\n add\n /* \"#utility.yul\":3747:3794 */\n mstore\n /* \"#utility.yul\":3811:3942 */\n tag_345\n /* \"#utility.yul\":3937:3941 */\n dup2\n /* \"#utility.yul\":3811:3942 */\n tag_299\n jump\t// in\n tag_345:\n /* \"#utility.yul\":3803:3942 */\n swap1\n pop\n /* \"#utility.yul\":3530:3949 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":3955:4031 */\n tag_300:\n /* \"#utility.yul\":3991:3998 */\n 0x00\n /* \"#utility.yul\":4020:4025 */\n dup2\n /* \"#utility.yul\":4009:4025 */\n swap1\n pop\n /* \"#utility.yul\":3955:4031 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":4037:4409 */\n tag_32:\n /* \"#utility.yul\":4076:4080 */\n 0x00\n /* \"#utility.yul\":4096:4115 */\n tag_348\n /* \"#utility.yul\":4113:4114 */\n dup3\n /* \"#utility.yul\":4096:4115 */\n tag_300\n jump\t// in\n tag_348:\n /* \"#utility.yul\":4091:4115 */\n swap2\n pop\n /* \"#utility.yul\":4129:4148 */\n tag_349\n /* \"#utility.yul\":4146:4147 */\n dup4\n /* \"#utility.yul\":4129:4148 */\n tag_300\n jump\t// in\n tag_349:\n /* \"#utility.yul\":4124:4148 */\n swap3\n pop\n /* \"#utility.yul\":4172:4173 */\n dup3\n /* \"#utility.yul\":4169:4170 */\n dup3\n /* \"#utility.yul\":4165:4174 */\n sub\n /* \"#utility.yul\":4157:4174 */\n swap1\n pop\n /* \"#utility.yul\":4366:4367 */\n dup2\n /* \"#utility.yul\":4360:4364 */\n dup2\n /* \"#utility.yul\":4356:4368 */\n slt\n /* \"#utility.yul\":4352:4353 */\n 0x00\n /* \"#utility.yul\":4349:4350 */\n dup5\n /* \"#utility.yul\":4345:4354 */\n slt\n /* \"#utility.yul\":4341:4369 */\n and\n /* \"#utility.yul\":4324:4325 */\n dup3\n /* \"#utility.yul\":4318:4322 */\n dup3\n /* \"#utility.yul\":4314:4326 */\n sgt\n /* \"#utility.yul\":4309:4310 */\n 0x00\n /* \"#utility.yul\":4306:4307 */\n dup6\n /* \"#utility.yul\":4302:4311 */\n slt\n /* \"#utility.yul\":4295:4312 */\n iszero\n /* \"#utility.yul\":4291:4327 */\n and\n /* \"#utility.yul\":4275:4379 */\n or\n /* \"#utility.yul\":4272:4402 */\n iszero\n tag_350\n jumpi\n /* \"#utility.yul\":4382:4400 */\n tag_351\n tag_296\n jump\t// in\n tag_351:\n /* \"#utility.yul\":4272:4402 */\n tag_350:\n /* \"#utility.yul\":4037:4409 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":4415:4790 */\n tag_35:\n /* \"#utility.yul\":4454:4457 */\n 0x00\n /* \"#utility.yul\":4473:4492 */\n tag_353\n /* \"#utility.yul\":4490:4491 */\n dup3\n /* \"#utility.yul\":4473:4492 */\n tag_300\n jump\t// in\n tag_353:\n /* \"#utility.yul\":4468:4492 */\n swap2\n pop\n /* \"#utility.yul\":4506:4525 */\n tag_354\n /* \"#utility.yul\":4523:4524 */\n dup4\n /* \"#utility.yul\":4506:4525 */\n tag_300\n jump\t// in\n tag_354:\n /* \"#utility.yul\":4501:4525 */\n swap3\n pop\n /* \"#utility.yul\":4548:4549 */\n dup3\n /* \"#utility.yul\":4545:4546 */\n dup3\n /* \"#utility.yul\":4541:4550 */\n add\n /* \"#utility.yul\":4534:4550 */\n swap1\n pop\n /* \"#utility.yul\":4746:4747 */\n dup3\n /* \"#utility.yul\":4741:4744 */\n dup2\n /* \"#utility.yul\":4737:4748 */\n slt\n /* \"#utility.yul\":4730:4749 */\n iszero\n /* \"#utility.yul\":4726:4727 */\n 0x00\n /* \"#utility.yul\":4723:4724 */\n dup4\n /* \"#utility.yul\":4719:4728 */\n slt\n /* \"#utility.yul\":4715:4750 */\n and\n /* \"#utility.yul\":4698:4699 */\n dup4\n /* \"#utility.yul\":4693:4696 */\n dup3\n /* \"#utility.yul\":4689:4700 */\n slt\n /* \"#utility.yul\":4684:4685 */\n 0x00\n /* \"#utility.yul\":4681:4682 */\n dup5\n /* \"#utility.yul\":4677:4686 */\n slt\n /* \"#utility.yul\":4670:4687 */\n iszero\n /* \"#utility.yul\":4666:4701 */\n and\n /* \"#utility.yul\":4650:4760 */\n or\n /* \"#utility.yul\":4647:4783 */\n iszero\n tag_355\n jumpi\n /* \"#utility.yul\":4763:4781 */\n tag_356\n tag_296\n jump\t// in\n tag_356:\n /* \"#utility.yul\":4647:4783 */\n tag_355:\n /* \"#utility.yul\":4415:4790 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":4796:4970 */\n tag_40:\n /* \"#utility.yul\":4827:4828 */\n 0x00\n /* \"#utility.yul\":4844:4863 */\n tag_358\n /* \"#utility.yul\":4861:4862 */\n dup3\n /* \"#utility.yul\":4844:4863 */\n tag_300\n jump\t// in\n tag_358:\n /* \"#utility.yul\":4839:4863 */\n swap2\n pop\n /* \"#utility.yul\":4877:4896 */\n tag_359\n /* \"#utility.yul\":4894:4895 */\n dup4\n /* \"#utility.yul\":4877:4896 */\n tag_300\n jump\t// in\n tag_359:\n /* \"#utility.yul\":4872:4896 */\n swap3\n pop\n /* \"#utility.yul\":4915:4916 */\n dup3\n /* \"#utility.yul\":4905:4940 */\n tag_360\n jumpi\n /* \"#utility.yul\":4920:4938 */\n tag_361\n tag_295\n jump\t// in\n tag_361:\n /* \"#utility.yul\":4905:4940 */\n tag_360:\n /* \"#utility.yul\":4962:4963 */\n dup3\n /* \"#utility.yul\":4959:4960 */\n dup3\n /* \"#utility.yul\":4954:4964 */\n smod\n /* \"#utility.yul\":4949:4964 */\n swap1\n pop\n /* \"#utility.yul\":4796:4970 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":4976:5532 */\n tag_42:\n /* \"#utility.yul\":5015:5022 */\n 0x00\n /* \"#utility.yul\":5038:5057 */\n tag_363\n /* \"#utility.yul\":5055:5056 */\n dup3\n /* \"#utility.yul\":5038:5057 */\n tag_300\n jump\t// in\n tag_363:\n /* \"#utility.yul\":5033:5057 */\n swap2\n pop\n /* \"#utility.yul\":5071:5090 */\n tag_364\n /* \"#utility.yul\":5088:5089 */\n dup4\n /* \"#utility.yul\":5071:5090 */\n tag_300\n jump\t// in\n tag_364:\n /* \"#utility.yul\":5066:5090 */\n swap3\n pop\n /* \"#utility.yul\":5125:5126 */\n dup3\n /* \"#utility.yul\":5122:5123 */\n dup3\n /* \"#utility.yul\":5118:5127 */\n mul\n /* \"#utility.yul\":5147:5176 */\n tag_365\n /* \"#utility.yul\":5164:5175 */\n dup2\n /* \"#utility.yul\":5147:5176 */\n tag_300\n jump\t// in\n tag_365:\n /* \"#utility.yul\":5136:5176 */\n swap2\n pop\n /* \"#utility.yul\":5234:5300 */\n 0x8000000000000000000000000000000000000000000000000000000000000000\n /* \"#utility.yul\":5231:5232 */\n dup5\n /* \"#utility.yul\":5228:5301 */\n eq\n /* \"#utility.yul\":5224:5225 */\n 0x00\n /* \"#utility.yul\":5221:5222 */\n dup5\n /* \"#utility.yul\":5217:5226 */\n slt\n /* \"#utility.yul\":5213:5302 */\n and\n /* \"#utility.yul\":5210:5325 */\n iszero\n tag_366\n jumpi\n /* \"#utility.yul\":5305:5323 */\n tag_367\n tag_296\n jump\t// in\n tag_367:\n /* \"#utility.yul\":5210:5325 */\n tag_366:\n /* \"#utility.yul\":5475:5476 */\n dup3\n /* \"#utility.yul\":5466:5473 */\n dup3\n /* \"#utility.yul\":5461:5477 */\n sdiv\n /* \"#utility.yul\":5458:5459 */\n dup5\n /* \"#utility.yul\":5455:5478 */\n eq\n /* \"#utility.yul\":5435:5436 */\n dup4\n /* \"#utility.yul\":5428:5437 */\n iszero\n /* \"#utility.yul\":5408:5492 */\n or\n /* \"#utility.yul\":5385:5525 */\n tag_368\n jumpi\n /* \"#utility.yul\":5505:5523 */\n tag_369\n tag_296\n jump\t// in\n tag_369:\n /* \"#utility.yul\":5385:5525 */\n tag_368:\n /* \"#utility.yul\":5023:5532 */\n pop\n /* \"#utility.yul\":4976:5532 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":5538:5923 */\n tag_44:\n /* \"#utility.yul\":5577:5578 */\n 0x00\n /* \"#utility.yul\":5594:5613 */\n tag_371\n /* \"#utility.yul\":5611:5612 */\n dup3\n /* \"#utility.yul\":5594:5613 */\n tag_300\n jump\t// in\n tag_371:\n /* \"#utility.yul\":5589:5613 */\n swap2\n pop\n /* \"#utility.yul\":5627:5646 */\n tag_372\n /* \"#utility.yul\":5644:5645 */\n dup4\n /* \"#utility.yul\":5627:5646 */\n tag_300\n jump\t// in\n tag_372:\n /* \"#utility.yul\":5622:5646 */\n swap3\n pop\n /* \"#utility.yul\":5665:5666 */\n dup3\n /* \"#utility.yul\":5655:5690 */\n tag_373\n jumpi\n /* \"#utility.yul\":5670:5688 */\n tag_374\n tag_295\n jump\t// in\n tag_374:\n /* \"#utility.yul\":5655:5690 */\n tag_373:\n /* \"#utility.yul\":5856:5857 */\n 0x01\n /* \"#utility.yul\":5853:5854 */\n 0x00\n /* \"#utility.yul\":5849:5858 */\n sub\n /* \"#utility.yul\":5846:5847 */\n dup4\n /* \"#utility.yul\":5843:5859 */\n eq\n /* \"#utility.yul\":5762:5828 */\n 0x8000000000000000000000000000000000000000000000000000000000000000\n /* \"#utility.yul\":5759:5760 */\n dup4\n /* \"#utility.yul\":5756:5829 */\n eq\n /* \"#utility.yul\":5739:5869 */\n and\n /* \"#utility.yul\":5736:5892 */\n iszero\n tag_375\n jumpi\n /* \"#utility.yul\":5872:5890 */\n tag_376\n tag_296\n jump\t// in\n tag_376:\n /* \"#utility.yul\":5736:5892 */\n tag_375:\n /* \"#utility.yul\":5915:5916 */\n dup3\n /* \"#utility.yul\":5912:5913 */\n dup3\n /* \"#utility.yul\":5907:5917 */\n sdiv\n /* \"#utility.yul\":5902:5917 */\n swap1\n pop\n /* \"#utility.yul\":5538:5923 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":5929:6157 */\n tag_104:\n /* \"#utility.yul\":5964:5967 */\n 0x00\n /* \"#utility.yul\":5987:6010 */\n tag_378\n /* \"#utility.yul\":6004:6009 */\n dup3\n /* \"#utility.yul\":5987:6010 */\n tag_300\n jump\t// in\n tag_378:\n /* \"#utility.yul\":5978:6010 */\n swap2\n pop\n /* \"#utility.yul\":6032:6098 */\n 0x8000000000000000000000000000000000000000000000000000000000000000\n /* \"#utility.yul\":6025:6030 */\n dup3\n /* \"#utility.yul\":6022:6099 */\n sub\n /* \"#utility.yul\":6019:6122 */\n tag_379\n jumpi\n /* \"#utility.yul\":6102:6120 */\n tag_380\n tag_296\n jump\t// in\n tag_380:\n /* \"#utility.yul\":6019:6122 */\n tag_379:\n /* \"#utility.yul\":6145:6150 */\n dup2\n /* \"#utility.yul\":6142:6143 */\n 0x00\n /* \"#utility.yul\":6138:6151 */\n sub\n /* \"#utility.yul\":6131:6151 */\n swap1\n pop\n /* \"#utility.yul\":5929:6157 */\n swap2\n swap1\n pop\n jump\t// out\n\n auxdata: 0xa2646970667358221220c21604cb2d038a6ebbafceadb53bb68b996854188c1e556c697cb8f18f55e68964736f6c63430008120033\n}\n", | |
"bytecode": { | |
"functionDebugData": {}, | |
"generatedSources": [], | |
"linkReferences": {}, | |
"object": "608060405234801561001057600080fd5b506117ba806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063a019d71414610030575b600080fd5b61004a600480360381019061004591906113b7565b610060565b6040516100579190611406565b60405180910390f35b600060028360ff16036100ad57633b9aca0061009c838560ff16670de0b6b3a764000061008d9190611493565b67ffffffffffffffff1661013a565b6100a691906114c4565b9050610134565b60038360ff16036100f95764e8d4a510006100e8838560ff16670de0b6b3a76400006100d99190611493565b67ffffffffffffffff1661013a565b6100f291906114c4565b9050610134565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161012b90611578565b60405180910390fd5b92915050565b600080820361015357670de0b6b3a764000090506102fb565b6000830361016457600090506102fb565b610176600060ff85901c146006610301565b60008390506101bc68056bc75e2d631000007f40000000000000000000000000000000000000000000000000000000000000006101b391906114c4565b84106007610301565b600083905060008267016345785d8a0000670de0b6b3a76400006101e091906115a2565b128015610207575067016345785d8a0000670de0b6b3a764000061020491906115e5565b83125b1561027c57600061021784610314565b9050670de0b6b3a764000083670de0b6b3a7640000836102379190611629565b610241919061165a565b61024b91906116d2565b83670de0b6b3a76400008361026091906116d2565b61026a919061165a565b61027491906115e5565b915050610293565b8161028684610595565b610290919061165a565b90505b670de0b6b3a7640000816102a791906116d2565b90506102ec817ffffffffffffffffffffffffffffffffffffffffffffffffdc702bd3a30fc0000131580156102e5575068070c1cc73b00c800008213155b6008610301565b6102f581610be9565b93505050505b92915050565b816103105761030f816112b0565b5b5050565b6000670de0b6b3a76400008261032a919061165a565b915060006ec097ce7bc90715b34b9f10000000008361034991906115e5565b6ec097ce7bc90715b34b9f1000000000808561036591906115a2565b61036f919061165a565b61037991906116d2565b905060006ec097ce7bc90715b34b9f10000000008283610399919061165a565b6103a391906116d2565b9050600082905060008190506ec097ce7bc90715b34b9f100000000083836103cb919061165a565b6103d591906116d2565b91506003826103e491906116d2565b816103ef91906115e5565b90506ec097ce7bc90715b34b9f1000000000838361040d919061165a565b61041791906116d2565b915060058261042691906116d2565b8161043191906115e5565b90506ec097ce7bc90715b34b9f1000000000838361044f919061165a565b61045991906116d2565b915060078261046891906116d2565b8161047391906115e5565b90506ec097ce7bc90715b34b9f10000000008383610491919061165a565b61049b91906116d2565b91506009826104aa91906116d2565b816104b591906115e5565b90506ec097ce7bc90715b34b9f100000000083836104d3919061165a565b6104dd91906116d2565b9150600b826104ec91906116d2565b816104f791906115e5565b90506ec097ce7bc90715b34b9f10000000008383610515919061165a565b61051f91906116d2565b9150600d8261052e91906116d2565b8161053991906115e5565b90506ec097ce7bc90715b34b9f10000000008383610557919061165a565b61056191906116d2565b9150600f8261057091906116d2565b8161057b91906115e5565b905060028161058a919061165a565b945050505050919050565b6000670de0b6b3a76400008212156105de576105ce82670de0b6b3a7640000806105bf919061165a565b6105c991906116d2565b610595565b6105d79061173c565b9050610be4565b6000670de0b6b3a7640000770195e54c5dd42177f53a27172fa9ec63026282700000000061060c919061165a565b831261065057770195e54c5dd42177f53a27172fa9ec6302628270000000008361063691906116d2565b92506806f05b59d3b20000008161064d91906115e5565b90505b670de0b6b3a76400006b1425982cf597cd205cef7380610670919061165a565b83126106a8576b1425982cf597cd205cef73808361068e91906116d2565b92506803782dace9d9000000816106a591906115e5565b90505b6064816106b5919061165a565b90506064836106c4919061165a565b92506e01855144814a7ff805980ff00840008312610725576e01855144814a7ff805980ff008400068056bc75e2d6310000084610701919061165a565b61070b91906116d2565b925068ad78ebc5ac620000008161072291906115e5565b90505b6b02df0ab5a80a22c61ab5a700831261077e576b02df0ab5a80a22c61ab5a70068056bc75e2d631000008461075a919061165a565b61076491906116d2565b92506856bc75e2d6310000008161077b91906115e5565b90505b693f1fce3da636ea5cf85083126107d357693f1fce3da636ea5cf85068056bc75e2d63100000846107af919061165a565b6107b991906116d2565b9250682b5e3af16b18800000816107d091906115e5565b90505b690127fa27722cc06cc5e2831261082857690127fa27722cc06cc5e268056bc75e2d6310000084610804919061165a565b61080e91906116d2565b92506815af1d78b58c4000008161082591906115e5565b90505b68280e60114edb805d03831261087b5768280e60114edb805d0368056bc75e2d6310000084610857919061165a565b61086191906116d2565b9250680ad78ebc5ac62000008161087891906115e5565b90505b680ebc5fb4174612111083126108ce57680ebc5fb4174612111068056bc75e2d63100000846108aa919061165a565b6108b491906116d2565b925068056bc75e2d63100000816108cb91906115e5565b90505b6808f00f760a4b2db55d8312610921576808f00f760a4b2db55d68056bc75e2d63100000846108fd919061165a565b61090791906116d2565b92506802b5e3af16b18800008161091e91906115e5565b90505b6806f5f17757889379378312610974576806f5f177578893793768056bc75e2d6310000084610950919061165a565b61095a91906116d2565b925068015af1d78b58c400008161097191906115e5565b90505b6806248f33704b28660383126109c6576806248f33704b28660368056bc75e2d63100000846109a3919061165a565b6109ad91906116d2565b925067ad78ebc5ac620000816109c391906115e5565b90505b6805c548670b9510e7ac8312610a18576805c548670b9510e7ac68056bc75e2d63100000846109f5919061165a565b6109ff91906116d2565b92506756bc75e2d631000081610a1591906115e5565b90505b600068056bc75e2d6310000084610a2f91906115e5565b68056bc75e2d631000008086610a4591906115a2565b610a4f919061165a565b610a5991906116d2565b9050600068056bc75e2d631000008283610a73919061165a565b610a7d91906116d2565b90506000829050600081905068056bc75e2d631000008383610a9f919061165a565b610aa991906116d2565b9150600382610ab891906116d2565b81610ac391906115e5565b905068056bc75e2d631000008383610adb919061165a565b610ae591906116d2565b9150600582610af491906116d2565b81610aff91906115e5565b905068056bc75e2d631000008383610b17919061165a565b610b2191906116d2565b9150600782610b3091906116d2565b81610b3b91906115e5565b905068056bc75e2d631000008383610b53919061165a565b610b5d91906116d2565b9150600982610b6c91906116d2565b81610b7791906115e5565b905068056bc75e2d631000008383610b8f919061165a565b610b9991906116d2565b9150600b82610ba891906116d2565b81610bb391906115e5565b9050600281610bc2919061165a565b905060648186610bd291906115e5565b610bdc91906116d2565b955050505050505b919050565b6000610c2e7ffffffffffffffffffffffffffffffffffffffffffffffffdc702bd3a30fc00008312158015610c27575068070c1cc73b00c800008313155b6009610301565b6000821215610c6e57610c4982610c449061173c565b610be9565b670de0b6b3a764000080610c5d919061165a565b610c6791906116d2565b90506112ab565b60006806f05b59d3b20000008312610cb7576806f05b59d3b200000083610c9591906115a2565b9250770195e54c5dd42177f53a27172fa9ec6302628270000000009050610cf8565b6803782dace9d90000008312610cf2576803782dace9d900000083610cdc91906115a2565b92506b1425982cf597cd205cef73809050610cf7565b600190505b5b606483610d05919061165a565b9250600068056bc75e2d63100000905068ad78ebc5ac620000008412610d6e5768ad78ebc5ac6200000084610d3a91906115a2565b935068056bc75e2d631000006e01855144814a7ff805980ff008400082610d61919061165a565b610d6b91906116d2565b90505b6856bc75e2d6310000008412610dc4576856bc75e2d63100000084610d9391906115a2565b935068056bc75e2d631000006b02df0ab5a80a22c61ab5a70082610db7919061165a565b610dc191906116d2565b90505b682b5e3af16b188000008412610e1857682b5e3af16b1880000084610de991906115a2565b935068056bc75e2d63100000693f1fce3da636ea5cf85082610e0b919061165a565b610e1591906116d2565b90505b6815af1d78b58c4000008412610e6c576815af1d78b58c40000084610e3d91906115a2565b935068056bc75e2d63100000690127fa27722cc06cc5e282610e5f919061165a565b610e6991906116d2565b90505b680ad78ebc5ac62000008412610ebf57680ad78ebc5ac620000084610e9191906115a2565b935068056bc75e2d6310000068280e60114edb805d0382610eb2919061165a565b610ebc91906116d2565b90505b68056bc75e2d631000008412610f125768056bc75e2d6310000084610ee491906115a2565b935068056bc75e2d63100000680ebc5fb4174612111082610f05919061165a565b610f0f91906116d2565b90505b6802b5e3af16b18800008412610f65576802b5e3af16b188000084610f3791906115a2565b935068056bc75e2d631000006808f00f760a4b2db55d82610f58919061165a565b610f6291906116d2565b90505b68015af1d78b58c400008412610fb85768015af1d78b58c4000084610f8a91906115a2565b935068056bc75e2d631000006806f5f177578893793782610fab919061165a565b610fb591906116d2565b90505b600068056bc75e2d63100000905060008590508082610fd791906115e5565b9150600268056bc75e2d631000008783610ff1919061165a565b610ffb91906116d2565b61100591906116d2565b9050808261101391906115e5565b9150600368056bc75e2d63100000878361102d919061165a565b61103791906116d2565b61104191906116d2565b9050808261104f91906115e5565b9150600468056bc75e2d631000008783611069919061165a565b61107391906116d2565b61107d91906116d2565b9050808261108b91906115e5565b9150600568056bc75e2d6310000087836110a5919061165a565b6110af91906116d2565b6110b991906116d2565b905080826110c791906115e5565b9150600668056bc75e2d6310000087836110e1919061165a565b6110eb91906116d2565b6110f591906116d2565b9050808261110391906115e5565b9150600768056bc75e2d63100000878361111d919061165a565b61112791906116d2565b61113191906116d2565b9050808261113f91906115e5565b9150600868056bc75e2d631000008783611159919061165a565b61116391906116d2565b61116d91906116d2565b9050808261117b91906115e5565b9150600968056bc75e2d631000008783611195919061165a565b61119f91906116d2565b6111a991906116d2565b905080826111b791906115e5565b9150600a68056bc75e2d6310000087836111d1919061165a565b6111db91906116d2565b6111e591906116d2565b905080826111f391906115e5565b9150600b68056bc75e2d63100000878361120d919061165a565b61121791906116d2565b61122191906116d2565b9050808261122f91906115e5565b9150600c68056bc75e2d631000008783611249919061165a565b61125391906116d2565b61125d91906116d2565b9050808261126b91906115e5565b915060648468056bc75e2d631000008486611286919061165a565b61129091906116d2565b61129a919061165a565b6112a491906116d2565b9450505050505b919050565b6112c0816242414c60e81b6112c3565b50565b60008160e81c62ffffff1690506030600a840601600a840493506030600a850601600a850494506030600a8606018360081b60230160181b8160101b8360081b850101810160c81b7f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260076024528060445260646000fd5b600080fd5b600060ff82169050919050565b61135e81611348565b811461136957600080fd5b50565b60008135905061137b81611355565b92915050565b6000819050919050565b61139481611381565b811461139f57600080fd5b50565b6000813590506113b18161138b565b92915050565b600080604083850312156113ce576113cd611343565b5b60006113dc8582860161136c565b92505060206113ed858286016113a2565b9150509250929050565b61140081611381565b82525050565b600060208201905061141b60008301846113f7565b92915050565b600067ffffffffffffffff82169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061149e82611421565b91506114a983611421565b9250826114b9576114b8611435565b5b828204905092915050565b60006114cf82611381565b91506114da83611381565b9250826114ea576114e9611435565b5b828204905092915050565b600082825260208201905092915050565b7f42616c616e636572206d617468206f6e6c792063616e2068616e646c6520737160008201527f7561726520726f6f747320616e64206375626520726f6f747300000000000000602082015250565b60006115626039836114f5565b915061156d82611506565b604082019050919050565b6000602082019050818103600083015261159181611555565b9050919050565b6000819050919050565b60006115ad82611598565b91506115b883611598565b92508282039050818112600084121682821360008512151617156115df576115de611464565b5b92915050565b60006115f082611598565b91506115fb83611598565b92508282019050828112156000831216838212600084121516171561162357611622611464565b5b92915050565b600061163482611598565b915061163f83611598565b92508261164f5761164e611435565b5b828207905092915050565b600061166582611598565b915061167083611598565b925082820261167e81611598565b91507f800000000000000000000000000000000000000000000000000000000000000084146000841216156116b6576116b5611464565b5b82820584148315176116cb576116ca611464565b5b5092915050565b60006116dd82611598565b91506116e883611598565b9250826116f8576116f7611435565b5b600160000383147f80000000000000000000000000000000000000000000000000000000000000008314161561173157611730611464565b5b828205905092915050565b600061174782611598565b91507f8000000000000000000000000000000000000000000000000000000000000000820361177957611778611464565b5b81600003905091905056fea2646970667358221220c21604cb2d038a6ebbafceadb53bb68b996854188c1e556c697cb8f18f55e68964736f6c63430008120033", | |
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x17BA DUP1 PUSH2 0x20 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x2B JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0xA019D714 EQ PUSH2 0x30 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4A PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x45 SWAP2 SWAP1 PUSH2 0x13B7 JUMP JUMPDEST PUSH2 0x60 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x57 SWAP2 SWAP1 PUSH2 0x1406 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP4 PUSH1 0xFF AND SUB PUSH2 0xAD JUMPI PUSH4 0x3B9ACA00 PUSH2 0x9C DUP4 DUP6 PUSH1 0xFF AND PUSH8 0xDE0B6B3A7640000 PUSH2 0x8D SWAP2 SWAP1 PUSH2 0x1493 JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH2 0x13A JUMP JUMPDEST PUSH2 0xA6 SWAP2 SWAP1 PUSH2 0x14C4 JUMP JUMPDEST SWAP1 POP PUSH2 0x134 JUMP JUMPDEST PUSH1 0x3 DUP4 PUSH1 0xFF AND SUB PUSH2 0xF9 JUMPI PUSH5 0xE8D4A51000 PUSH2 0xE8 DUP4 DUP6 PUSH1 0xFF AND PUSH8 0xDE0B6B3A7640000 PUSH2 0xD9 SWAP2 SWAP1 PUSH2 0x1493 JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH2 0x13A JUMP JUMPDEST PUSH2 0xF2 SWAP2 SWAP1 PUSH2 0x14C4 JUMP JUMPDEST SWAP1 POP PUSH2 0x134 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x12B SWAP1 PUSH2 0x1578 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 SUB PUSH2 0x153 JUMPI PUSH8 0xDE0B6B3A7640000 SWAP1 POP PUSH2 0x2FB JUMP JUMPDEST PUSH1 0x0 DUP4 SUB PUSH2 0x164 JUMPI PUSH1 0x0 SWAP1 POP PUSH2 0x2FB JUMP JUMPDEST PUSH2 0x176 PUSH1 0x0 PUSH1 0xFF DUP6 SWAP1 SHR EQ PUSH1 0x6 PUSH2 0x301 JUMP JUMPDEST PUSH1 0x0 DUP4 SWAP1 POP PUSH2 0x1BC PUSH9 0x56BC75E2D63100000 PUSH32 0x4000000000000000000000000000000000000000000000000000000000000000 PUSH2 0x1B3 SWAP2 SWAP1 PUSH2 0x14C4 JUMP JUMPDEST DUP5 LT PUSH1 0x7 PUSH2 0x301 JUMP JUMPDEST PUSH1 0x0 DUP4 SWAP1 POP PUSH1 0x0 DUP3 PUSH8 0x16345785D8A0000 PUSH8 0xDE0B6B3A7640000 PUSH2 0x1E0 SWAP2 SWAP1 PUSH2 0x15A2 JUMP JUMPDEST SLT DUP1 ISZERO PUSH2 0x207 JUMPI POP PUSH8 0x16345785D8A0000 PUSH8 0xDE0B6B3A7640000 PUSH2 0x204 SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST DUP4 SLT JUMPDEST ISZERO PUSH2 0x27C JUMPI PUSH1 0x0 PUSH2 0x217 DUP5 PUSH2 0x314 JUMP JUMPDEST SWAP1 POP PUSH8 0xDE0B6B3A7640000 DUP4 PUSH8 0xDE0B6B3A7640000 DUP4 PUSH2 0x237 SWAP2 SWAP1 PUSH2 0x1629 JUMP JUMPDEST PUSH2 0x241 SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0x24B SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST DUP4 PUSH8 0xDE0B6B3A7640000 DUP4 PUSH2 0x260 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST PUSH2 0x26A SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0x274 SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x293 JUMP JUMPDEST DUP2 PUSH2 0x286 DUP5 PUSH2 0x595 JUMP JUMPDEST PUSH2 0x290 SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST SWAP1 POP JUMPDEST PUSH8 0xDE0B6B3A7640000 DUP2 PUSH2 0x2A7 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP1 POP PUSH2 0x2EC DUP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDC702BD3A30FC0000 SGT ISZERO DUP1 ISZERO PUSH2 0x2E5 JUMPI POP PUSH9 0x70C1CC73B00C80000 DUP3 SGT ISZERO JUMPDEST PUSH1 0x8 PUSH2 0x301 JUMP JUMPDEST PUSH2 0x2F5 DUP2 PUSH2 0xBE9 JUMP JUMPDEST SWAP4 POP POP POP POP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP2 PUSH2 0x310 JUMPI PUSH2 0x30F DUP2 PUSH2 0x12B0 JUMP JUMPDEST JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xDE0B6B3A7640000 DUP3 PUSH2 0x32A SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST SWAP2 POP PUSH1 0x0 PUSH15 0xC097CE7BC90715B34B9F1000000000 DUP4 PUSH2 0x349 SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST PUSH15 0xC097CE7BC90715B34B9F1000000000 DUP1 DUP6 PUSH2 0x365 SWAP2 SWAP1 PUSH2 0x15A2 JUMP JUMPDEST PUSH2 0x36F SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0x379 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH15 0xC097CE7BC90715B34B9F1000000000 DUP3 DUP4 PUSH2 0x399 SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0x3A3 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP3 SWAP1 POP PUSH1 0x0 DUP2 SWAP1 POP PUSH15 0xC097CE7BC90715B34B9F1000000000 DUP4 DUP4 PUSH2 0x3CB SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0x3D5 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP2 POP PUSH1 0x3 DUP3 PUSH2 0x3E4 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST DUP2 PUSH2 0x3EF SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP1 POP PUSH15 0xC097CE7BC90715B34B9F1000000000 DUP4 DUP4 PUSH2 0x40D SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0x417 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP2 POP PUSH1 0x5 DUP3 PUSH2 0x426 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST DUP2 PUSH2 0x431 SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP1 POP PUSH15 0xC097CE7BC90715B34B9F1000000000 DUP4 DUP4 PUSH2 0x44F SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0x459 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP2 POP PUSH1 0x7 DUP3 PUSH2 0x468 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST DUP2 PUSH2 0x473 SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP1 POP PUSH15 0xC097CE7BC90715B34B9F1000000000 DUP4 DUP4 PUSH2 0x491 SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0x49B SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP2 POP PUSH1 0x9 DUP3 PUSH2 0x4AA SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST DUP2 PUSH2 0x4B5 SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP1 POP PUSH15 0xC097CE7BC90715B34B9F1000000000 DUP4 DUP4 PUSH2 0x4D3 SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0x4DD SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP2 POP PUSH1 0xB DUP3 PUSH2 0x4EC SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST DUP2 PUSH2 0x4F7 SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP1 POP PUSH15 0xC097CE7BC90715B34B9F1000000000 DUP4 DUP4 PUSH2 0x515 SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0x51F SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP2 POP PUSH1 0xD DUP3 PUSH2 0x52E SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST DUP2 PUSH2 0x539 SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP1 POP PUSH15 0xC097CE7BC90715B34B9F1000000000 DUP4 DUP4 PUSH2 0x557 SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0x561 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP2 POP PUSH1 0xF DUP3 PUSH2 0x570 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST DUP2 PUSH2 0x57B SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP1 POP PUSH1 0x2 DUP2 PUSH2 0x58A SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST SWAP5 POP POP POP POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xDE0B6B3A7640000 DUP3 SLT ISZERO PUSH2 0x5DE JUMPI PUSH2 0x5CE DUP3 PUSH8 0xDE0B6B3A7640000 DUP1 PUSH2 0x5BF SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0x5C9 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST PUSH2 0x595 JUMP JUMPDEST PUSH2 0x5D7 SWAP1 PUSH2 0x173C JUMP JUMPDEST SWAP1 POP PUSH2 0xBE4 JUMP JUMPDEST PUSH1 0x0 PUSH8 0xDE0B6B3A7640000 PUSH24 0x195E54C5DD42177F53A27172FA9EC630262827000000000 PUSH2 0x60C SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST DUP4 SLT PUSH2 0x650 JUMPI PUSH24 0x195E54C5DD42177F53A27172FA9EC630262827000000000 DUP4 PUSH2 0x636 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP3 POP PUSH9 0x6F05B59D3B2000000 DUP2 PUSH2 0x64D SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP1 POP JUMPDEST PUSH8 0xDE0B6B3A7640000 PUSH12 0x1425982CF597CD205CEF7380 PUSH2 0x670 SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST DUP4 SLT PUSH2 0x6A8 JUMPI PUSH12 0x1425982CF597CD205CEF7380 DUP4 PUSH2 0x68E SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP3 POP PUSH9 0x3782DACE9D9000000 DUP2 PUSH2 0x6A5 SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP1 POP JUMPDEST PUSH1 0x64 DUP2 PUSH2 0x6B5 SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST SWAP1 POP PUSH1 0x64 DUP4 PUSH2 0x6C4 SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST SWAP3 POP PUSH15 0x1855144814A7FF805980FF0084000 DUP4 SLT PUSH2 0x725 JUMPI PUSH15 0x1855144814A7FF805980FF0084000 PUSH9 0x56BC75E2D63100000 DUP5 PUSH2 0x701 SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0x70B SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP3 POP PUSH9 0xAD78EBC5AC62000000 DUP2 PUSH2 0x722 SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP1 POP JUMPDEST PUSH12 0x2DF0AB5A80A22C61AB5A700 DUP4 SLT PUSH2 0x77E JUMPI PUSH12 0x2DF0AB5A80A22C61AB5A700 PUSH9 0x56BC75E2D63100000 DUP5 PUSH2 0x75A SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0x764 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP3 POP PUSH9 0x56BC75E2D631000000 DUP2 PUSH2 0x77B SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP1 POP JUMPDEST PUSH10 0x3F1FCE3DA636EA5CF850 DUP4 SLT PUSH2 0x7D3 JUMPI PUSH10 0x3F1FCE3DA636EA5CF850 PUSH9 0x56BC75E2D63100000 DUP5 PUSH2 0x7AF SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0x7B9 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP3 POP PUSH9 0x2B5E3AF16B18800000 DUP2 PUSH2 0x7D0 SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP1 POP JUMPDEST PUSH10 0x127FA27722CC06CC5E2 DUP4 SLT PUSH2 0x828 JUMPI PUSH10 0x127FA27722CC06CC5E2 PUSH9 0x56BC75E2D63100000 DUP5 PUSH2 0x804 SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0x80E SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP3 POP PUSH9 0x15AF1D78B58C400000 DUP2 PUSH2 0x825 SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP1 POP JUMPDEST PUSH9 0x280E60114EDB805D03 DUP4 SLT PUSH2 0x87B JUMPI PUSH9 0x280E60114EDB805D03 PUSH9 0x56BC75E2D63100000 DUP5 PUSH2 0x857 SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0x861 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP3 POP PUSH9 0xAD78EBC5AC6200000 DUP2 PUSH2 0x878 SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP1 POP JUMPDEST PUSH9 0xEBC5FB41746121110 DUP4 SLT PUSH2 0x8CE JUMPI PUSH9 0xEBC5FB41746121110 PUSH9 0x56BC75E2D63100000 DUP5 PUSH2 0x8AA SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0x8B4 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP3 POP PUSH9 0x56BC75E2D63100000 DUP2 PUSH2 0x8CB SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP1 POP JUMPDEST PUSH9 0x8F00F760A4B2DB55D DUP4 SLT PUSH2 0x921 JUMPI PUSH9 0x8F00F760A4B2DB55D PUSH9 0x56BC75E2D63100000 DUP5 PUSH2 0x8FD SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0x907 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP3 POP PUSH9 0x2B5E3AF16B1880000 DUP2 PUSH2 0x91E SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP1 POP JUMPDEST PUSH9 0x6F5F1775788937937 DUP4 SLT PUSH2 0x974 JUMPI PUSH9 0x6F5F1775788937937 PUSH9 0x56BC75E2D63100000 DUP5 PUSH2 0x950 SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0x95A SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP3 POP PUSH9 0x15AF1D78B58C40000 DUP2 PUSH2 0x971 SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP1 POP JUMPDEST PUSH9 0x6248F33704B286603 DUP4 SLT PUSH2 0x9C6 JUMPI PUSH9 0x6248F33704B286603 PUSH9 0x56BC75E2D63100000 DUP5 PUSH2 0x9A3 SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0x9AD SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP3 POP PUSH8 0xAD78EBC5AC620000 DUP2 PUSH2 0x9C3 SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP1 POP JUMPDEST PUSH9 0x5C548670B9510E7AC DUP4 SLT PUSH2 0xA18 JUMPI PUSH9 0x5C548670B9510E7AC PUSH9 0x56BC75E2D63100000 DUP5 PUSH2 0x9F5 SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0x9FF SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP3 POP PUSH8 0x56BC75E2D6310000 DUP2 PUSH2 0xA15 SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP1 POP JUMPDEST PUSH1 0x0 PUSH9 0x56BC75E2D63100000 DUP5 PUSH2 0xA2F SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST PUSH9 0x56BC75E2D63100000 DUP1 DUP7 PUSH2 0xA45 SWAP2 SWAP1 PUSH2 0x15A2 JUMP JUMPDEST PUSH2 0xA4F SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0xA59 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH9 0x56BC75E2D63100000 DUP3 DUP4 PUSH2 0xA73 SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0xA7D SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP3 SWAP1 POP PUSH1 0x0 DUP2 SWAP1 POP PUSH9 0x56BC75E2D63100000 DUP4 DUP4 PUSH2 0xA9F SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0xAA9 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP2 POP PUSH1 0x3 DUP3 PUSH2 0xAB8 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST DUP2 PUSH2 0xAC3 SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP1 POP PUSH9 0x56BC75E2D63100000 DUP4 DUP4 PUSH2 0xADB SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0xAE5 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP2 POP PUSH1 0x5 DUP3 PUSH2 0xAF4 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST DUP2 PUSH2 0xAFF SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP1 POP PUSH9 0x56BC75E2D63100000 DUP4 DUP4 PUSH2 0xB17 SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0xB21 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP2 POP PUSH1 0x7 DUP3 PUSH2 0xB30 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST DUP2 PUSH2 0xB3B SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP1 POP PUSH9 0x56BC75E2D63100000 DUP4 DUP4 PUSH2 0xB53 SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0xB5D SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP2 POP PUSH1 0x9 DUP3 PUSH2 0xB6C SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST DUP2 PUSH2 0xB77 SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP1 POP PUSH9 0x56BC75E2D63100000 DUP4 DUP4 PUSH2 0xB8F SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0xB99 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP2 POP PUSH1 0xB DUP3 PUSH2 0xBA8 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST DUP2 PUSH2 0xBB3 SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP1 POP PUSH1 0x2 DUP2 PUSH2 0xBC2 SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST SWAP1 POP PUSH1 0x64 DUP2 DUP7 PUSH2 0xBD2 SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST PUSH2 0xBDC SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP6 POP POP POP POP POP POP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xC2E PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDC702BD3A30FC0000 DUP4 SLT ISZERO DUP1 ISZERO PUSH2 0xC27 JUMPI POP PUSH9 0x70C1CC73B00C80000 DUP4 SGT ISZERO JUMPDEST PUSH1 0x9 PUSH2 0x301 JUMP JUMPDEST PUSH1 0x0 DUP3 SLT ISZERO PUSH2 0xC6E JUMPI PUSH2 0xC49 DUP3 PUSH2 0xC44 SWAP1 PUSH2 0x173C JUMP JUMPDEST PUSH2 0xBE9 JUMP JUMPDEST PUSH8 0xDE0B6B3A7640000 DUP1 PUSH2 0xC5D SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0xC67 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP1 POP PUSH2 0x12AB JUMP JUMPDEST PUSH1 0x0 PUSH9 0x6F05B59D3B2000000 DUP4 SLT PUSH2 0xCB7 JUMPI PUSH9 0x6F05B59D3B2000000 DUP4 PUSH2 0xC95 SWAP2 SWAP1 PUSH2 0x15A2 JUMP JUMPDEST SWAP3 POP PUSH24 0x195E54C5DD42177F53A27172FA9EC630262827000000000 SWAP1 POP PUSH2 0xCF8 JUMP JUMPDEST PUSH9 0x3782DACE9D9000000 DUP4 SLT PUSH2 0xCF2 JUMPI PUSH9 0x3782DACE9D9000000 DUP4 PUSH2 0xCDC SWAP2 SWAP1 PUSH2 0x15A2 JUMP JUMPDEST SWAP3 POP PUSH12 0x1425982CF597CD205CEF7380 SWAP1 POP PUSH2 0xCF7 JUMP JUMPDEST PUSH1 0x1 SWAP1 POP JUMPDEST JUMPDEST PUSH1 0x64 DUP4 PUSH2 0xD05 SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST SWAP3 POP PUSH1 0x0 PUSH9 0x56BC75E2D63100000 SWAP1 POP PUSH9 0xAD78EBC5AC62000000 DUP5 SLT PUSH2 0xD6E JUMPI PUSH9 0xAD78EBC5AC62000000 DUP5 PUSH2 0xD3A SWAP2 SWAP1 PUSH2 0x15A2 JUMP JUMPDEST SWAP4 POP PUSH9 0x56BC75E2D63100000 PUSH15 0x1855144814A7FF805980FF0084000 DUP3 PUSH2 0xD61 SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0xD6B SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP1 POP JUMPDEST PUSH9 0x56BC75E2D631000000 DUP5 SLT PUSH2 0xDC4 JUMPI PUSH9 0x56BC75E2D631000000 DUP5 PUSH2 0xD93 SWAP2 SWAP1 PUSH2 0x15A2 JUMP JUMPDEST SWAP4 POP PUSH9 0x56BC75E2D63100000 PUSH12 0x2DF0AB5A80A22C61AB5A700 DUP3 PUSH2 0xDB7 SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0xDC1 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP1 POP JUMPDEST PUSH9 0x2B5E3AF16B18800000 DUP5 SLT PUSH2 0xE18 JUMPI PUSH9 0x2B5E3AF16B18800000 DUP5 PUSH2 0xDE9 SWAP2 SWAP1 PUSH2 0x15A2 JUMP JUMPDEST SWAP4 POP PUSH9 0x56BC75E2D63100000 PUSH10 0x3F1FCE3DA636EA5CF850 DUP3 PUSH2 0xE0B SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0xE15 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP1 POP JUMPDEST PUSH9 0x15AF1D78B58C400000 DUP5 SLT PUSH2 0xE6C JUMPI PUSH9 0x15AF1D78B58C400000 DUP5 PUSH2 0xE3D SWAP2 SWAP1 PUSH2 0x15A2 JUMP JUMPDEST SWAP4 POP PUSH9 0x56BC75E2D63100000 PUSH10 0x127FA27722CC06CC5E2 DUP3 PUSH2 0xE5F SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0xE69 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP1 POP JUMPDEST PUSH9 0xAD78EBC5AC6200000 DUP5 SLT PUSH2 0xEBF JUMPI PUSH9 0xAD78EBC5AC6200000 DUP5 PUSH2 0xE91 SWAP2 SWAP1 PUSH2 0x15A2 JUMP JUMPDEST SWAP4 POP PUSH9 0x56BC75E2D63100000 PUSH9 0x280E60114EDB805D03 DUP3 PUSH2 0xEB2 SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0xEBC SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP1 POP JUMPDEST PUSH9 0x56BC75E2D63100000 DUP5 SLT PUSH2 0xF12 JUMPI PUSH9 0x56BC75E2D63100000 DUP5 PUSH2 0xEE4 SWAP2 SWAP1 PUSH2 0x15A2 JUMP JUMPDEST SWAP4 POP PUSH9 0x56BC75E2D63100000 PUSH9 0xEBC5FB41746121110 DUP3 PUSH2 0xF05 SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0xF0F SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP1 POP JUMPDEST PUSH9 0x2B5E3AF16B1880000 DUP5 SLT PUSH2 0xF65 JUMPI PUSH9 0x2B5E3AF16B1880000 DUP5 PUSH2 0xF37 SWAP2 SWAP1 PUSH2 0x15A2 JUMP JUMPDEST SWAP4 POP PUSH9 0x56BC75E2D63100000 PUSH9 0x8F00F760A4B2DB55D DUP3 PUSH2 0xF58 SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0xF62 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP1 POP JUMPDEST PUSH9 0x15AF1D78B58C40000 DUP5 SLT PUSH2 0xFB8 JUMPI PUSH9 0x15AF1D78B58C40000 DUP5 PUSH2 0xF8A SWAP2 SWAP1 PUSH2 0x15A2 JUMP JUMPDEST SWAP4 POP PUSH9 0x56BC75E2D63100000 PUSH9 0x6F5F1775788937937 DUP3 PUSH2 0xFAB SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0xFB5 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP1 POP JUMPDEST PUSH1 0x0 PUSH9 0x56BC75E2D63100000 SWAP1 POP PUSH1 0x0 DUP6 SWAP1 POP DUP1 DUP3 PUSH2 0xFD7 SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP2 POP PUSH1 0x2 PUSH9 0x56BC75E2D63100000 DUP8 DUP4 PUSH2 0xFF1 SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0xFFB SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST PUSH2 0x1005 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP1 POP DUP1 DUP3 PUSH2 0x1013 SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP2 POP PUSH1 0x3 PUSH9 0x56BC75E2D63100000 DUP8 DUP4 PUSH2 0x102D SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0x1037 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST PUSH2 0x1041 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP1 POP DUP1 DUP3 PUSH2 0x104F SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP2 POP PUSH1 0x4 PUSH9 0x56BC75E2D63100000 DUP8 DUP4 PUSH2 0x1069 SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0x1073 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST PUSH2 0x107D SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP1 POP DUP1 DUP3 PUSH2 0x108B SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP2 POP PUSH1 0x5 PUSH9 0x56BC75E2D63100000 DUP8 DUP4 PUSH2 0x10A5 SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0x10AF SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST PUSH2 0x10B9 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP1 POP DUP1 DUP3 PUSH2 0x10C7 SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP2 POP PUSH1 0x6 PUSH9 0x56BC75E2D63100000 DUP8 DUP4 PUSH2 0x10E1 SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0x10EB SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST PUSH2 0x10F5 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP1 POP DUP1 DUP3 PUSH2 0x1103 SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP2 POP PUSH1 0x7 PUSH9 0x56BC75E2D63100000 DUP8 DUP4 PUSH2 0x111D SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0x1127 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST PUSH2 0x1131 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP1 POP DUP1 DUP3 PUSH2 0x113F SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP2 POP PUSH1 0x8 PUSH9 0x56BC75E2D63100000 DUP8 DUP4 PUSH2 0x1159 SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0x1163 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST PUSH2 0x116D SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP1 POP DUP1 DUP3 PUSH2 0x117B SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP2 POP PUSH1 0x9 PUSH9 0x56BC75E2D63100000 DUP8 DUP4 PUSH2 0x1195 SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0x119F SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST PUSH2 0x11A9 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP1 POP DUP1 DUP3 PUSH2 0x11B7 SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP2 POP PUSH1 0xA PUSH9 0x56BC75E2D63100000 DUP8 DUP4 PUSH2 0x11D1 SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0x11DB SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST PUSH2 0x11E5 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP1 POP DUP1 DUP3 PUSH2 0x11F3 SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP2 POP PUSH1 0xB PUSH9 0x56BC75E2D63100000 DUP8 DUP4 PUSH2 0x120D SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0x1217 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST PUSH2 0x1221 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP1 POP DUP1 DUP3 PUSH2 0x122F SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP2 POP PUSH1 0xC PUSH9 0x56BC75E2D63100000 DUP8 DUP4 PUSH2 0x1249 SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0x1253 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST PUSH2 0x125D SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP1 POP DUP1 DUP3 PUSH2 0x126B SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP2 POP PUSH1 0x64 DUP5 PUSH9 0x56BC75E2D63100000 DUP5 DUP7 PUSH2 0x1286 SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0x1290 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST PUSH2 0x129A SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0x12A4 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP5 POP POP POP POP POP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x12C0 DUP2 PUSH3 0x42414C PUSH1 0xE8 SHL PUSH2 0x12C3 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0xE8 SHR PUSH3 0xFFFFFF AND SWAP1 POP PUSH1 0x30 PUSH1 0xA DUP5 MOD ADD PUSH1 0xA DUP5 DIV SWAP4 POP PUSH1 0x30 PUSH1 0xA DUP6 MOD ADD PUSH1 0xA DUP6 DIV SWAP5 POP PUSH1 0x30 PUSH1 0xA DUP7 MOD ADD DUP4 PUSH1 0x8 SHL PUSH1 0x23 ADD PUSH1 0x18 SHL DUP2 PUSH1 0x10 SHL DUP4 PUSH1 0x8 SHL DUP6 ADD ADD DUP2 ADD PUSH1 0xC8 SHL PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x4 MSTORE PUSH1 0x7 PUSH1 0x24 MSTORE DUP1 PUSH1 0x44 MSTORE PUSH1 0x64 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0xFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x135E DUP2 PUSH2 0x1348 JUMP JUMPDEST DUP2 EQ PUSH2 0x1369 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x137B DUP2 PUSH2 0x1355 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1394 DUP2 PUSH2 0x1381 JUMP JUMPDEST DUP2 EQ PUSH2 0x139F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x13B1 DUP2 PUSH2 0x138B JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x13CE JUMPI PUSH2 0x13CD PUSH2 0x1343 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x13DC DUP6 DUP3 DUP7 ADD PUSH2 0x136C JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x13ED DUP6 DUP3 DUP7 ADD PUSH2 0x13A2 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH2 0x1400 DUP2 PUSH2 0x1381 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x141B PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x13F7 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x149E DUP3 PUSH2 0x1421 JUMP JUMPDEST SWAP2 POP PUSH2 0x14A9 DUP4 PUSH2 0x1421 JUMP JUMPDEST SWAP3 POP DUP3 PUSH2 0x14B9 JUMPI PUSH2 0x14B8 PUSH2 0x1435 JUMP JUMPDEST JUMPDEST DUP3 DUP3 DIV SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x14CF DUP3 PUSH2 0x1381 JUMP JUMPDEST SWAP2 POP PUSH2 0x14DA DUP4 PUSH2 0x1381 JUMP JUMPDEST SWAP3 POP DUP3 PUSH2 0x14EA JUMPI PUSH2 0x14E9 PUSH2 0x1435 JUMP JUMPDEST JUMPDEST DUP3 DUP3 DIV SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x42616C616E636572206D617468206F6E6C792063616E2068616E646C65207371 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x7561726520726F6F747320616E64206375626520726F6F747300000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1562 PUSH1 0x39 DUP4 PUSH2 0x14F5 JUMP JUMPDEST SWAP2 POP PUSH2 0x156D DUP3 PUSH2 0x1506 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1591 DUP2 PUSH2 0x1555 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x15AD DUP3 PUSH2 0x1598 JUMP JUMPDEST SWAP2 POP PUSH2 0x15B8 DUP4 PUSH2 0x1598 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 SUB SWAP1 POP DUP2 DUP2 SLT PUSH1 0x0 DUP5 SLT AND DUP3 DUP3 SGT PUSH1 0x0 DUP6 SLT ISZERO AND OR ISZERO PUSH2 0x15DF JUMPI PUSH2 0x15DE PUSH2 0x1464 JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x15F0 DUP3 PUSH2 0x1598 JUMP JUMPDEST SWAP2 POP PUSH2 0x15FB DUP4 PUSH2 0x1598 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 ADD SWAP1 POP DUP3 DUP2 SLT ISZERO PUSH1 0x0 DUP4 SLT AND DUP4 DUP3 SLT PUSH1 0x0 DUP5 SLT ISZERO AND OR ISZERO PUSH2 0x1623 JUMPI PUSH2 0x1622 PUSH2 0x1464 JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1634 DUP3 PUSH2 0x1598 JUMP JUMPDEST SWAP2 POP PUSH2 0x163F DUP4 PUSH2 0x1598 JUMP JUMPDEST SWAP3 POP DUP3 PUSH2 0x164F JUMPI PUSH2 0x164E PUSH2 0x1435 JUMP JUMPDEST JUMPDEST DUP3 DUP3 SMOD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1665 DUP3 PUSH2 0x1598 JUMP JUMPDEST SWAP2 POP PUSH2 0x1670 DUP4 PUSH2 0x1598 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 MUL PUSH2 0x167E DUP2 PUSH2 0x1598 JUMP JUMPDEST SWAP2 POP PUSH32 0x8000000000000000000000000000000000000000000000000000000000000000 DUP5 EQ PUSH1 0x0 DUP5 SLT AND ISZERO PUSH2 0x16B6 JUMPI PUSH2 0x16B5 PUSH2 0x1464 JUMP JUMPDEST JUMPDEST DUP3 DUP3 SDIV DUP5 EQ DUP4 ISZERO OR PUSH2 0x16CB JUMPI PUSH2 0x16CA PUSH2 0x1464 JUMP JUMPDEST JUMPDEST POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x16DD DUP3 PUSH2 0x1598 JUMP JUMPDEST SWAP2 POP PUSH2 0x16E8 DUP4 PUSH2 0x1598 JUMP JUMPDEST SWAP3 POP DUP3 PUSH2 0x16F8 JUMPI PUSH2 0x16F7 PUSH2 0x1435 JUMP JUMPDEST JUMPDEST PUSH1 0x1 PUSH1 0x0 SUB DUP4 EQ PUSH32 0x8000000000000000000000000000000000000000000000000000000000000000 DUP4 EQ AND ISZERO PUSH2 0x1731 JUMPI PUSH2 0x1730 PUSH2 0x1464 JUMP JUMPDEST JUMPDEST DUP3 DUP3 SDIV SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1747 DUP3 PUSH2 0x1598 JUMP JUMPDEST SWAP2 POP PUSH32 0x8000000000000000000000000000000000000000000000000000000000000000 DUP3 SUB PUSH2 0x1779 JUMPI PUSH2 0x1778 PUSH2 0x1464 JUMP JUMPDEST JUMPDEST DUP2 PUSH1 0x0 SUB SWAP1 POP SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xC2 AND DIV 0xCB 0x2D SUB DUP11 PUSH15 0xBBAFCEADB53BB68B996854188C1E55 PUSH13 0x697CB8F18F55E68964736F6C63 NUMBER STOP ADDMOD SLT STOP CALLER ", | |
"sourceMap": "109:583:2:-:0;;;;;;;;;;;;;;;;;;;" | |
}, | |
"deployedBytecode": { | |
"functionDebugData": { | |
"@_ln_1716": { | |
"entryPoint": 1429, | |
"id": 1716, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"@_ln_36_1870": { | |
"entryPoint": 788, | |
"id": 1870, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"@_require_17": { | |
"entryPoint": 769, | |
"id": 17, | |
"parameterSlots": 2, | |
"returnSlots": 0 | |
}, | |
"@_revert_48": { | |
"entryPoint": 4784, | |
"id": 48, | |
"parameterSlots": 1, | |
"returnSlots": 0 | |
}, | |
"@_revert_68": { | |
"entryPoint": 4803, | |
"id": 68, | |
"parameterSlots": 2, | |
"returnSlots": 0 | |
}, | |
"@exp_1242": { | |
"entryPoint": 3049, | |
"id": 1242, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"@nthroot_1922": { | |
"entryPoint": 96, | |
"id": 1922, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"@pow_815": { | |
"entryPoint": 314, | |
"id": 815, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_decode_t_uint256": { | |
"entryPoint": 5026, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_decode_t_uint8": { | |
"entryPoint": 4972, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_decode_tuple_t_uint8t_uint256": { | |
"entryPoint": 5047, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 2 | |
}, | |
"abi_encode_t_stringliteral_0834332998841f4faf1e45383c184a5d759f958db3d5de703adf5d0bf923f6c6_to_t_string_memory_ptr_fromStack": { | |
"entryPoint": 5461, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"abi_encode_t_uint256_to_t_uint256_fromStack": { | |
"entryPoint": 5111, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 0 | |
}, | |
"abi_encode_tuple_t_stringliteral_0834332998841f4faf1e45383c184a5d759f958db3d5de703adf5d0bf923f6c6__to_t_string_memory_ptr__fromStack_reversed": { | |
"entryPoint": 5496, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": { | |
"entryPoint": 5126, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"allocate_unbounded": { | |
"entryPoint": null, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 1 | |
}, | |
"array_storeLengthForEncoding_t_string_memory_ptr_fromStack": { | |
"entryPoint": 5365, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"checked_add_t_int256": { | |
"entryPoint": 5605, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"checked_div_t_int256": { | |
"entryPoint": 5842, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"checked_div_t_uint256": { | |
"entryPoint": 5316, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"checked_div_t_uint64": { | |
"entryPoint": 5267, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"checked_mul_t_int256": { | |
"entryPoint": 5722, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"checked_sub_t_int256": { | |
"entryPoint": 5538, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"cleanup_t_int256": { | |
"entryPoint": 5528, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"cleanup_t_uint256": { | |
"entryPoint": 4993, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"cleanup_t_uint64": { | |
"entryPoint": 5153, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"cleanup_t_uint8": { | |
"entryPoint": 4936, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"mod_t_int256": { | |
"entryPoint": 5673, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"negate_t_int256": { | |
"entryPoint": 5948, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"panic_error_0x11": { | |
"entryPoint": 5220, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"panic_error_0x12": { | |
"entryPoint": 5173, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": { | |
"entryPoint": null, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": { | |
"entryPoint": 4931, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"store_literal_in_memory_0834332998841f4faf1e45383c184a5d759f958db3d5de703adf5d0bf923f6c6": { | |
"entryPoint": 5382, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 0 | |
}, | |
"validator_revert_t_uint256": { | |
"entryPoint": 5003, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 0 | |
}, | |
"validator_revert_t_uint8": { | |
"entryPoint": 4949, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 0 | |
} | |
}, | |
"generatedSources": [ | |
{ | |
"ast": { | |
"nodeType": "YulBlock", | |
"src": "0:6160:3", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "47:35:3", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "57:19:3", | |
"value": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "73:2:3", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "mload", | |
"nodeType": "YulIdentifier", | |
"src": "67:5:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "67:9:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "57:6:3" | |
} | |
] | |
} | |
] | |
}, | |
"name": "allocate_unbounded", | |
"nodeType": "YulFunctionDefinition", | |
"returnVariables": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulTypedName", | |
"src": "40:6:3", | |
"type": "" | |
} | |
], | |
"src": "7:75:3" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "177:28:3", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "194:1:3", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "197:1:3", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "187:6:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "187:12:3" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "187:12:3" | |
} | |
] | |
}, | |
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", | |
"nodeType": "YulFunctionDefinition", | |
"src": "88:117:3" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "300:28:3", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "317:1:3", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "320:1:3", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "310:6:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "310:12:3" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "310:12:3" | |
} | |
] | |
}, | |
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", | |
"nodeType": "YulFunctionDefinition", | |
"src": "211:117:3" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "377:43:3", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "387:27:3", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "402:5:3" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "409:4:3", | |
"type": "", | |
"value": "0xff" | |
} | |
], | |
"functionName": { | |
"name": "and", | |
"nodeType": "YulIdentifier", | |
"src": "398:3:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "398:16:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulIdentifier", | |
"src": "387:7:3" | |
} | |
] | |
} | |
] | |
}, | |
"name": "cleanup_t_uint8", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "359:5:3", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulTypedName", | |
"src": "369:7:3", | |
"type": "" | |
} | |
], | |
"src": "334:86:3" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "467:77:3", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "522:16:3", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "531:1:3", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "534:1:3", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "524:6:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "524:12:3" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "524:12:3" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "490:5:3" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "513:5:3" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint8", | |
"nodeType": "YulIdentifier", | |
"src": "497:15:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "497:22:3" | |
} | |
], | |
"functionName": { | |
"name": "eq", | |
"nodeType": "YulIdentifier", | |
"src": "487:2:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "487:33:3" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "480:6:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "480:41:3" | |
}, | |
"nodeType": "YulIf", | |
"src": "477:61:3" | |
} | |
] | |
}, | |
"name": "validator_revert_t_uint8", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "460:5:3", | |
"type": "" | |
} | |
], | |
"src": "426:118:3" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "600:85:3", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "610:29:3", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "632:6:3" | |
} | |
], | |
"functionName": { | |
"name": "calldataload", | |
"nodeType": "YulIdentifier", | |
"src": "619:12:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "619:20:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "610:5:3" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "673:5:3" | |
} | |
], | |
"functionName": { | |
"name": "validator_revert_t_uint8", | |
"nodeType": "YulIdentifier", | |
"src": "648:24:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "648:31:3" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "648:31:3" | |
} | |
] | |
}, | |
"name": "abi_decode_t_uint8", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "578:6:3", | |
"type": "" | |
}, | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "586:3:3", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "594:5:3", | |
"type": "" | |
} | |
], | |
"src": "550:135:3" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "736:32:3", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "746:16:3", | |
"value": { | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "757:5:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulIdentifier", | |
"src": "746:7:3" | |
} | |
] | |
} | |
] | |
}, | |
"name": "cleanup_t_uint256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "718:5:3", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulTypedName", | |
"src": "728:7:3", | |
"type": "" | |
} | |
], | |
"src": "691:77:3" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "817:79:3", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "874:16:3", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "883:1:3", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "886:1:3", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "876:6:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "876:12:3" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "876:12:3" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "840:5:3" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "865:5:3" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "847:17:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "847:24:3" | |
} | |
], | |
"functionName": { | |
"name": "eq", | |
"nodeType": "YulIdentifier", | |
"src": "837:2:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "837:35:3" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "830:6:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "830:43:3" | |
}, | |
"nodeType": "YulIf", | |
"src": "827:63:3" | |
} | |
] | |
}, | |
"name": "validator_revert_t_uint256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "810:5:3", | |
"type": "" | |
} | |
], | |
"src": "774:122:3" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "954:87:3", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "964:29:3", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "986:6:3" | |
} | |
], | |
"functionName": { | |
"name": "calldataload", | |
"nodeType": "YulIdentifier", | |
"src": "973:12:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "973:20:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "964:5:3" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "1029:5:3" | |
} | |
], | |
"functionName": { | |
"name": "validator_revert_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "1002:26:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1002:33:3" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1002:33:3" | |
} | |
] | |
}, | |
"name": "abi_decode_t_uint256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "932:6:3", | |
"type": "" | |
}, | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "940:3:3", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "948:5:3", | |
"type": "" | |
} | |
], | |
"src": "902:139:3" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1128:389:3", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1174:83:3", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", | |
"nodeType": "YulIdentifier", | |
"src": "1176:77:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1176:79:3" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1176:79:3" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "1149:7:3" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "1158:9:3" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "1145:3:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1145:23:3" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1170:2:3", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "slt", | |
"nodeType": "YulIdentifier", | |
"src": "1141:3:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1141:32:3" | |
}, | |
"nodeType": "YulIf", | |
"src": "1138:119:3" | |
}, | |
{ | |
"nodeType": "YulBlock", | |
"src": "1267:115:3", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "1282:15:3", | |
"value": { | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1296:1:3", | |
"type": "", | |
"value": "0" | |
}, | |
"variables": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "1286:6:3", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "1311:61:3", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "1344:9:3" | |
}, | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "1355:6:3" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "1340:3:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1340:22:3" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "1364:7:3" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_t_uint8", | |
"nodeType": "YulIdentifier", | |
"src": "1321:18:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1321:51:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "1311:6:3" | |
} | |
] | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulBlock", | |
"src": "1392:118:3", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "1407:16:3", | |
"value": { | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1421:2:3", | |
"type": "", | |
"value": "32" | |
}, | |
"variables": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "1411:6:3", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "1437:63:3", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "1472:9:3" | |
}, | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "1483:6:3" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "1468:3:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1468:22:3" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "1492:7:3" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "1447:20:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1447:53:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value1", | |
"nodeType": "YulIdentifier", | |
"src": "1437:6:3" | |
} | |
] | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_decode_tuple_t_uint8t_uint256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "1090:9:3", | |
"type": "" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulTypedName", | |
"src": "1101:7:3", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "1113:6:3", | |
"type": "" | |
}, | |
{ | |
"name": "value1", | |
"nodeType": "YulTypedName", | |
"src": "1121:6:3", | |
"type": "" | |
} | |
], | |
"src": "1047:470:3" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1588:53:3", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "1605:3:3" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "1628:5:3" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "1610:17:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1610:24:3" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "1598:6:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1598:37:3" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1598:37:3" | |
} | |
] | |
}, | |
"name": "abi_encode_t_uint256_to_t_uint256_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "1576:5:3", | |
"type": "" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "1583:3:3", | |
"type": "" | |
} | |
], | |
"src": "1523:118:3" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1745:124:3", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "1755:26:3", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "1767:9:3" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1778:2:3", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "1763:3:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1763:18:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "1755:4:3" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "1835:6:3" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "1848:9:3" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1859:1:3", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "1844:3:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1844:17:3" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_uint256_to_t_uint256_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "1791:43:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1791:71:3" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1791:71:3" | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "1717:9:3", | |
"type": "" | |
}, | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "1729:6:3", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "1740:4:3", | |
"type": "" | |
} | |
], | |
"src": "1647:222:3" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1919:57:3", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "1929:41:3", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "1944:5:3" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1951:18:3", | |
"type": "", | |
"value": "0xffffffffffffffff" | |
} | |
], | |
"functionName": { | |
"name": "and", | |
"nodeType": "YulIdentifier", | |
"src": "1940:3:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1940:30:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulIdentifier", | |
"src": "1929:7:3" | |
} | |
] | |
} | |
] | |
}, | |
"name": "cleanup_t_uint64", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "1901:5:3", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulTypedName", | |
"src": "1911:7:3", | |
"type": "" | |
} | |
], | |
"src": "1875:101:3" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "2010:152:3", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2027:1:3", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2030:77:3", | |
"type": "", | |
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "2020:6:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2020:88:3" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "2020:88:3" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2124:1:3", | |
"type": "", | |
"value": "4" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2127:4:3", | |
"type": "", | |
"value": "0x12" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "2117:6:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2117:15:3" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "2117:15:3" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2148:1:3", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2151:4:3", | |
"type": "", | |
"value": "0x24" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "2141:6:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2141:15:3" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "2141:15:3" | |
} | |
] | |
}, | |
"name": "panic_error_0x12", | |
"nodeType": "YulFunctionDefinition", | |
"src": "1982:180:3" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "2196:152:3", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2213:1:3", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2216:77:3", | |
"type": "", | |
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "2206:6:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2206:88:3" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "2206:88:3" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2310:1:3", | |
"type": "", | |
"value": "4" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2313:4:3", | |
"type": "", | |
"value": "0x11" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "2303:6:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2303:15:3" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "2303:15:3" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2334:1:3", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2337:4:3", | |
"type": "", | |
"value": "0x24" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "2327:6:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2327:15:3" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "2327:15:3" | |
} | |
] | |
}, | |
"name": "panic_error_0x11", | |
"nodeType": "YulFunctionDefinition", | |
"src": "2168:180:3" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "2395:141:3", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "2405:24:3", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "2427:1:3" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint64", | |
"nodeType": "YulIdentifier", | |
"src": "2410:16:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2410:19:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "2405:1:3" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "2438:24:3", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "2460:1:3" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint64", | |
"nodeType": "YulIdentifier", | |
"src": "2443:16:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2443:19:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "2438:1:3" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "2484:22:3", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "panic_error_0x12", | |
"nodeType": "YulIdentifier", | |
"src": "2486:16:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2486:18:3" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "2486:18:3" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "2481:1:3" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "2474:6:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2474:9:3" | |
}, | |
"nodeType": "YulIf", | |
"src": "2471:35:3" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "2516:14:3", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "2525:1:3" | |
}, | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "2528:1:3" | |
} | |
], | |
"functionName": { | |
"name": "div", | |
"nodeType": "YulIdentifier", | |
"src": "2521:3:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2521:9:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "r", | |
"nodeType": "YulIdentifier", | |
"src": "2516:1:3" | |
} | |
] | |
} | |
] | |
}, | |
"name": "checked_div_t_uint64", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "x", | |
"nodeType": "YulTypedName", | |
"src": "2384:1:3", | |
"type": "" | |
}, | |
{ | |
"name": "y", | |
"nodeType": "YulTypedName", | |
"src": "2387:1:3", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "r", | |
"nodeType": "YulTypedName", | |
"src": "2393:1:3", | |
"type": "" | |
} | |
], | |
"src": "2354:182:3" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "2584:143:3", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "2594:25:3", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "2617:1:3" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "2599:17:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2599:20:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "2594:1:3" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "2628:25:3", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "2651:1:3" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "2633:17:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2633:20:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "2628:1:3" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "2675:22:3", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "panic_error_0x12", | |
"nodeType": "YulIdentifier", | |
"src": "2677:16:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2677:18:3" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "2677:18:3" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "2672:1:3" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "2665:6:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2665:9:3" | |
}, | |
"nodeType": "YulIf", | |
"src": "2662:35:3" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "2707:14:3", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "2716:1:3" | |
}, | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "2719:1:3" | |
} | |
], | |
"functionName": { | |
"name": "div", | |
"nodeType": "YulIdentifier", | |
"src": "2712:3:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2712:9:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "r", | |
"nodeType": "YulIdentifier", | |
"src": "2707:1:3" | |
} | |
] | |
} | |
] | |
}, | |
"name": "checked_div_t_uint256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "x", | |
"nodeType": "YulTypedName", | |
"src": "2573:1:3", | |
"type": "" | |
}, | |
{ | |
"name": "y", | |
"nodeType": "YulTypedName", | |
"src": "2576:1:3", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "r", | |
"nodeType": "YulTypedName", | |
"src": "2582:1:3", | |
"type": "" | |
} | |
], | |
"src": "2542:185:3" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "2829:73:3", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "2846:3:3" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "2851:6:3" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "2839:6:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2839:19:3" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "2839:19:3" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "2867:29:3", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "2886:3:3" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2891:4:3", | |
"type": "", | |
"value": "0x20" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "2882:3:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2882:14:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "updated_pos", | |
"nodeType": "YulIdentifier", | |
"src": "2867:11:3" | |
} | |
] | |
} | |
] | |
}, | |
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "2801:3:3", | |
"type": "" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulTypedName", | |
"src": "2806:6:3", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "updated_pos", | |
"nodeType": "YulTypedName", | |
"src": "2817:11:3", | |
"type": "" | |
} | |
], | |
"src": "2733:169:3" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "3014:138:3", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "3036:6:3" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "3044:1:3", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "3032:3:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3032:14:3" | |
}, | |
{ | |
"hexValue": "42616c616e636572206d617468206f6e6c792063616e2068616e646c65207371", | |
"kind": "string", | |
"nodeType": "YulLiteral", | |
"src": "3048:34:3", | |
"type": "", | |
"value": "Balancer math only can handle sq" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "3025:6:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3025:58:3" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "3025:58:3" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "3104:6:3" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "3112:2:3", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "3100:3:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3100:15:3" | |
}, | |
{ | |
"hexValue": "7561726520726f6f747320616e64206375626520726f6f7473", | |
"kind": "string", | |
"nodeType": "YulLiteral", | |
"src": "3117:27:3", | |
"type": "", | |
"value": "uare roots and cube roots" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "3093:6:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3093:52:3" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "3093:52:3" | |
} | |
] | |
}, | |
"name": "store_literal_in_memory_0834332998841f4faf1e45383c184a5d759f958db3d5de703adf5d0bf923f6c6", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulTypedName", | |
"src": "3006:6:3", | |
"type": "" | |
} | |
], | |
"src": "2908:244:3" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "3304:220:3", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "3314:74:3", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "3380:3:3" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "3385:2:3", | |
"type": "", | |
"value": "57" | |
} | |
], | |
"functionName": { | |
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "3321:58:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3321:67:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "3314:3:3" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "3486:3:3" | |
} | |
], | |
"functionName": { | |
"name": "store_literal_in_memory_0834332998841f4faf1e45383c184a5d759f958db3d5de703adf5d0bf923f6c6", | |
"nodeType": "YulIdentifier", | |
"src": "3397:88:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3397:93:3" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "3397:93:3" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "3499:19:3", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "3510:3:3" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "3515:2:3", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "3506:3:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3506:12:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "end", | |
"nodeType": "YulIdentifier", | |
"src": "3499:3:3" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_t_stringliteral_0834332998841f4faf1e45383c184a5d759f958db3d5de703adf5d0bf923f6c6_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "3292:3:3", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "3300:3:3", | |
"type": "" | |
} | |
], | |
"src": "3158:366:3" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "3701:248:3", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "3711:26:3", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "3723:9:3" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "3734:2:3", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "3719:3:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3719:18:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "3711:4:3" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "3758:9:3" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "3769:1:3", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "3754:3:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3754:17:3" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "3777:4:3" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "3783:9:3" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "3773:3:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3773:20:3" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "3747:6:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3747:47:3" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "3747:47:3" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "3803:139:3", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "3937:4:3" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_stringliteral_0834332998841f4faf1e45383c184a5d759f958db3d5de703adf5d0bf923f6c6_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "3811:124:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3811:131:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "3803:4:3" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_stringliteral_0834332998841f4faf1e45383c184a5d759f958db3d5de703adf5d0bf923f6c6__to_t_string_memory_ptr__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "3681:9:3", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "3696:4:3", | |
"type": "" | |
} | |
], | |
"src": "3530:419:3" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "3999:32:3", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "4009:16:3", | |
"value": { | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "4020:5:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulIdentifier", | |
"src": "4009:7:3" | |
} | |
] | |
} | |
] | |
}, | |
"name": "cleanup_t_int256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "3981:5:3", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulTypedName", | |
"src": "3991:7:3", | |
"type": "" | |
} | |
], | |
"src": "3955:76:3" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "4081:328:3", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "4091:24:3", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "4113:1:3" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_int256", | |
"nodeType": "YulIdentifier", | |
"src": "4096:16:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4096:19:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "4091:1:3" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "4124:24:3", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "4146:1:3" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_int256", | |
"nodeType": "YulIdentifier", | |
"src": "4129:16:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4129:19:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "4124:1:3" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "4157:17:3", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "4169:1:3" | |
}, | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "4172:1:3" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "4165:3:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4165:9:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "diff", | |
"nodeType": "YulIdentifier", | |
"src": "4157:4:3" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "4380:22:3", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "panic_error_0x11", | |
"nodeType": "YulIdentifier", | |
"src": "4382:16:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4382:18:3" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "4382:18:3" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "4306:1:3" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "4309:1:3", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "slt", | |
"nodeType": "YulIdentifier", | |
"src": "4302:3:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4302:9:3" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "4295:6:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4295:17:3" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "diff", | |
"nodeType": "YulIdentifier", | |
"src": "4318:4:3" | |
}, | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "4324:1:3" | |
} | |
], | |
"functionName": { | |
"name": "sgt", | |
"nodeType": "YulIdentifier", | |
"src": "4314:3:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4314:12:3" | |
} | |
], | |
"functionName": { | |
"name": "and", | |
"nodeType": "YulIdentifier", | |
"src": "4291:3:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4291:36:3" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "4349:1:3" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "4352:1:3", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "slt", | |
"nodeType": "YulIdentifier", | |
"src": "4345:3:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4345:9:3" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "diff", | |
"nodeType": "YulIdentifier", | |
"src": "4360:4:3" | |
}, | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "4366:1:3" | |
} | |
], | |
"functionName": { | |
"name": "slt", | |
"nodeType": "YulIdentifier", | |
"src": "4356:3:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4356:12:3" | |
} | |
], | |
"functionName": { | |
"name": "and", | |
"nodeType": "YulIdentifier", | |
"src": "4341:3:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4341:28:3" | |
} | |
], | |
"functionName": { | |
"name": "or", | |
"nodeType": "YulIdentifier", | |
"src": "4275:2:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4275:104:3" | |
}, | |
"nodeType": "YulIf", | |
"src": "4272:130:3" | |
} | |
] | |
}, | |
"name": "checked_sub_t_int256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "x", | |
"nodeType": "YulTypedName", | |
"src": "4067:1:3", | |
"type": "" | |
}, | |
{ | |
"name": "y", | |
"nodeType": "YulTypedName", | |
"src": "4070:1:3", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "diff", | |
"nodeType": "YulTypedName", | |
"src": "4076:4:3", | |
"type": "" | |
} | |
], | |
"src": "4037:372:3" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "4458:332:3", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "4468:24:3", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "4490:1:3" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_int256", | |
"nodeType": "YulIdentifier", | |
"src": "4473:16:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4473:19:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "4468:1:3" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "4501:24:3", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "4523:1:3" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_int256", | |
"nodeType": "YulIdentifier", | |
"src": "4506:16:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4506:19:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "4501:1:3" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "4534:16:3", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "4545:1:3" | |
}, | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "4548:1:3" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "4541:3:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4541:9:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "sum", | |
"nodeType": "YulIdentifier", | |
"src": "4534:3:3" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "4761:22:3", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "panic_error_0x11", | |
"nodeType": "YulIdentifier", | |
"src": "4763:16:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4763:18:3" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "4763:18:3" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "4681:1:3" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "4684:1:3", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "slt", | |
"nodeType": "YulIdentifier", | |
"src": "4677:3:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4677:9:3" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "4670:6:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4670:17:3" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "sum", | |
"nodeType": "YulIdentifier", | |
"src": "4693:3:3" | |
}, | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "4698:1:3" | |
} | |
], | |
"functionName": { | |
"name": "slt", | |
"nodeType": "YulIdentifier", | |
"src": "4689:3:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4689:11:3" | |
} | |
], | |
"functionName": { | |
"name": "and", | |
"nodeType": "YulIdentifier", | |
"src": "4666:3:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4666:35:3" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "4723:1:3" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "4726:1:3", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "slt", | |
"nodeType": "YulIdentifier", | |
"src": "4719:3:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4719:9:3" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "sum", | |
"nodeType": "YulIdentifier", | |
"src": "4741:3:3" | |
}, | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "4746:1:3" | |
} | |
], | |
"functionName": { | |
"name": "slt", | |
"nodeType": "YulIdentifier", | |
"src": "4737:3:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4737:11:3" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "4730:6:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4730:19:3" | |
} | |
], | |
"functionName": { | |
"name": "and", | |
"nodeType": "YulIdentifier", | |
"src": "4715:3:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4715:35:3" | |
} | |
], | |
"functionName": { | |
"name": "or", | |
"nodeType": "YulIdentifier", | |
"src": "4650:2:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4650:110:3" | |
}, | |
"nodeType": "YulIf", | |
"src": "4647:136:3" | |
} | |
] | |
}, | |
"name": "checked_add_t_int256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "x", | |
"nodeType": "YulTypedName", | |
"src": "4445:1:3", | |
"type": "" | |
}, | |
{ | |
"name": "y", | |
"nodeType": "YulTypedName", | |
"src": "4448:1:3", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "sum", | |
"nodeType": "YulTypedName", | |
"src": "4454:3:3", | |
"type": "" | |
} | |
], | |
"src": "4415:375:3" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "4829:141:3", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "4839:24:3", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "4861:1:3" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_int256", | |
"nodeType": "YulIdentifier", | |
"src": "4844:16:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4844:19:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "4839:1:3" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "4872:24:3", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "4894:1:3" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_int256", | |
"nodeType": "YulIdentifier", | |
"src": "4877:16:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4877:19:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "4872:1:3" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "4918:22:3", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "panic_error_0x12", | |
"nodeType": "YulIdentifier", | |
"src": "4920:16:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4920:18:3" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "4920:18:3" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "4915:1:3" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "4908:6:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4908:9:3" | |
}, | |
"nodeType": "YulIf", | |
"src": "4905:35:3" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "4949:15:3", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "4959:1:3" | |
}, | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "4962:1:3" | |
} | |
], | |
"functionName": { | |
"name": "smod", | |
"nodeType": "YulIdentifier", | |
"src": "4954:4:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4954:10:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "r", | |
"nodeType": "YulIdentifier", | |
"src": "4949:1:3" | |
} | |
] | |
} | |
] | |
}, | |
"name": "mod_t_int256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "x", | |
"nodeType": "YulTypedName", | |
"src": "4818:1:3", | |
"type": "" | |
}, | |
{ | |
"name": "y", | |
"nodeType": "YulTypedName", | |
"src": "4821:1:3", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "r", | |
"nodeType": "YulTypedName", | |
"src": "4827:1:3", | |
"type": "" | |
} | |
], | |
"src": "4796:174:3" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "5023:509:3", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "5033:24:3", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "5055:1:3" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_int256", | |
"nodeType": "YulIdentifier", | |
"src": "5038:16:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5038:19:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "5033:1:3" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "5066:24:3", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "5088:1:3" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_int256", | |
"nodeType": "YulIdentifier", | |
"src": "5071:16:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5071:19:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "5066:1:3" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "5099:28:3", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "5122:1:3" | |
}, | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "5125:1:3" | |
} | |
], | |
"functionName": { | |
"name": "mul", | |
"nodeType": "YulIdentifier", | |
"src": "5118:3:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5118:9:3" | |
}, | |
"variables": [ | |
{ | |
"name": "product_raw", | |
"nodeType": "YulTypedName", | |
"src": "5103:11:3", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "5136:40:3", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "product_raw", | |
"nodeType": "YulIdentifier", | |
"src": "5164:11:3" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_int256", | |
"nodeType": "YulIdentifier", | |
"src": "5147:16:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5147:29:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "product", | |
"nodeType": "YulIdentifier", | |
"src": "5136:7:3" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "5303:22:3", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "panic_error_0x11", | |
"nodeType": "YulIdentifier", | |
"src": "5305:16:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5305:18:3" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "5305:18:3" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "5221:1:3" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "5224:1:3", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "slt", | |
"nodeType": "YulIdentifier", | |
"src": "5217:3:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5217:9:3" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "5231:1:3" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "5234:66:3", | |
"type": "", | |
"value": "0x8000000000000000000000000000000000000000000000000000000000000000" | |
} | |
], | |
"functionName": { | |
"name": "eq", | |
"nodeType": "YulIdentifier", | |
"src": "5228:2:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5228:73:3" | |
} | |
], | |
"functionName": { | |
"name": "and", | |
"nodeType": "YulIdentifier", | |
"src": "5213:3:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5213:89:3" | |
}, | |
"nodeType": "YulIf", | |
"src": "5210:115:3" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "5503:22:3", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "panic_error_0x11", | |
"nodeType": "YulIdentifier", | |
"src": "5505:16:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5505:18:3" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "5505:18:3" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "5435:1:3" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "5428:6:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5428:9:3" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "5458:1:3" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "product", | |
"nodeType": "YulIdentifier", | |
"src": "5466:7:3" | |
}, | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "5475:1:3" | |
} | |
], | |
"functionName": { | |
"name": "sdiv", | |
"nodeType": "YulIdentifier", | |
"src": "5461:4:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5461:16:3" | |
} | |
], | |
"functionName": { | |
"name": "eq", | |
"nodeType": "YulIdentifier", | |
"src": "5455:2:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5455:23:3" | |
} | |
], | |
"functionName": { | |
"name": "or", | |
"nodeType": "YulIdentifier", | |
"src": "5408:2:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5408:84:3" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "5388:6:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5388:114:3" | |
}, | |
"nodeType": "YulIf", | |
"src": "5385:140:3" | |
} | |
] | |
}, | |
"name": "checked_mul_t_int256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "x", | |
"nodeType": "YulTypedName", | |
"src": "5006:1:3", | |
"type": "" | |
}, | |
{ | |
"name": "y", | |
"nodeType": "YulTypedName", | |
"src": "5009:1:3", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "product", | |
"nodeType": "YulTypedName", | |
"src": "5015:7:3", | |
"type": "" | |
} | |
], | |
"src": "4976:556:3" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "5579:344:3", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "5589:24:3", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "5611:1:3" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_int256", | |
"nodeType": "YulIdentifier", | |
"src": "5594:16:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5594:19:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "5589:1:3" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "5622:24:3", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "5644:1:3" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_int256", | |
"nodeType": "YulIdentifier", | |
"src": "5627:16:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5627:19:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "5622:1:3" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "5668:22:3", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "panic_error_0x12", | |
"nodeType": "YulIdentifier", | |
"src": "5670:16:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5670:18:3" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "5670:18:3" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "5665:1:3" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "5658:6:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5658:9:3" | |
}, | |
"nodeType": "YulIf", | |
"src": "5655:35:3" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "5870:22:3", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "panic_error_0x11", | |
"nodeType": "YulIdentifier", | |
"src": "5872:16:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5872:18:3" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "5872:18:3" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "5759:1:3" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "5762:66:3", | |
"type": "", | |
"value": "0x8000000000000000000000000000000000000000000000000000000000000000" | |
} | |
], | |
"functionName": { | |
"name": "eq", | |
"nodeType": "YulIdentifier", | |
"src": "5756:2:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5756:73:3" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "5846:1:3" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "5853:1:3", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "5856:1:3", | |
"type": "", | |
"value": "1" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "5849:3:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5849:9:3" | |
} | |
], | |
"functionName": { | |
"name": "eq", | |
"nodeType": "YulIdentifier", | |
"src": "5843:2:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5843:16:3" | |
} | |
], | |
"functionName": { | |
"name": "and", | |
"nodeType": "YulIdentifier", | |
"src": "5739:3:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5739:130:3" | |
}, | |
"nodeType": "YulIf", | |
"src": "5736:156:3" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "5902:15:3", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "5912:1:3" | |
}, | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "5915:1:3" | |
} | |
], | |
"functionName": { | |
"name": "sdiv", | |
"nodeType": "YulIdentifier", | |
"src": "5907:4:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5907:10:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "r", | |
"nodeType": "YulIdentifier", | |
"src": "5902:1:3" | |
} | |
] | |
} | |
] | |
}, | |
"name": "checked_div_t_int256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "x", | |
"nodeType": "YulTypedName", | |
"src": "5568:1:3", | |
"type": "" | |
}, | |
{ | |
"name": "y", | |
"nodeType": "YulTypedName", | |
"src": "5571:1:3", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "r", | |
"nodeType": "YulTypedName", | |
"src": "5577:1:3", | |
"type": "" | |
} | |
], | |
"src": "5538:385:3" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "5968:189:3", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "5978:32:3", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "6004:5:3" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_int256", | |
"nodeType": "YulIdentifier", | |
"src": "5987:16:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5987:23:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "5978:5:3" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "6100:22:3", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "panic_error_0x11", | |
"nodeType": "YulIdentifier", | |
"src": "6102:16:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6102:18:3" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "6102:18:3" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "6025:5:3" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "6032:66:3", | |
"type": "", | |
"value": "0x8000000000000000000000000000000000000000000000000000000000000000" | |
} | |
], | |
"functionName": { | |
"name": "eq", | |
"nodeType": "YulIdentifier", | |
"src": "6022:2:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6022:77:3" | |
}, | |
"nodeType": "YulIf", | |
"src": "6019:103:3" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "6131:20:3", | |
"value": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "6142:1:3", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "6145:5:3" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "6138:3:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6138:13:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "ret", | |
"nodeType": "YulIdentifier", | |
"src": "6131:3:3" | |
} | |
] | |
} | |
] | |
}, | |
"name": "negate_t_int256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "5954:5:3", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "ret", | |
"nodeType": "YulTypedName", | |
"src": "5964:3:3", | |
"type": "" | |
} | |
], | |
"src": "5929:228:3" | |
} | |
] | |
}, | |
"contents": "{\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function cleanup_t_uint8(value) -> cleaned {\n cleaned := and(value, 0xff)\n }\n\n function validator_revert_t_uint8(value) {\n if iszero(eq(value, cleanup_t_uint8(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint8(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint8(value)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_uint8t_uint256(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint8(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n }\n\n function cleanup_t_uint64(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffff)\n }\n\n function panic_error_0x12() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x12)\n revert(0, 0x24)\n }\n\n function panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function checked_div_t_uint64(x, y) -> r {\n x := cleanup_t_uint64(x)\n y := cleanup_t_uint64(y)\n if iszero(y) { panic_error_0x12() }\n\n r := div(x, y)\n }\n\n function checked_div_t_uint256(x, y) -> r {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n if iszero(y) { panic_error_0x12() }\n\n r := div(x, y)\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function store_literal_in_memory_0834332998841f4faf1e45383c184a5d759f958db3d5de703adf5d0bf923f6c6(memPtr) {\n\n mstore(add(memPtr, 0), \"Balancer math only can handle sq\")\n\n mstore(add(memPtr, 32), \"uare roots and cube roots\")\n\n }\n\n function abi_encode_t_stringliteral_0834332998841f4faf1e45383c184a5d759f958db3d5de703adf5d0bf923f6c6_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 57)\n store_literal_in_memory_0834332998841f4faf1e45383c184a5d759f958db3d5de703adf5d0bf923f6c6(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_0834332998841f4faf1e45383c184a5d759f958db3d5de703adf5d0bf923f6c6__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_0834332998841f4faf1e45383c184a5d759f958db3d5de703adf5d0bf923f6c6_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function cleanup_t_int256(value) -> cleaned {\n cleaned := value\n }\n\n function checked_sub_t_int256(x, y) -> diff {\n x := cleanup_t_int256(x)\n y := cleanup_t_int256(y)\n diff := sub(x, y)\n\n // underflow, if y >= 0 and diff > x\n // overflow, if y < 0 and diff < x\n if or(\n and(iszero(slt(y, 0)), sgt(diff, x)),\n and(slt(y, 0), slt(diff, x))\n ) { panic_error_0x11() }\n\n }\n\n function checked_add_t_int256(x, y) -> sum {\n x := cleanup_t_int256(x)\n y := cleanup_t_int256(y)\n sum := add(x, y)\n\n // overflow, if x >= 0 and sum < y\n // underflow, if x < 0 and sum >= y\n if or(\n and(iszero(slt(x, 0)), slt(sum, y)),\n and(slt(x, 0), iszero(slt(sum, y)))\n ) { panic_error_0x11() }\n\n }\n\n function mod_t_int256(x, y) -> r {\n x := cleanup_t_int256(x)\n y := cleanup_t_int256(y)\n if iszero(y) { panic_error_0x12() }\n r := smod(x, y)\n }\n\n function checked_mul_t_int256(x, y) -> product {\n x := cleanup_t_int256(x)\n y := cleanup_t_int256(y)\n let product_raw := mul(x, y)\n product := cleanup_t_int256(product_raw)\n\n // special case\n if and(slt(x, 0), eq(y, 0x8000000000000000000000000000000000000000000000000000000000000000)) { panic_error_0x11() }\n\n // overflow, if x != 0 and y != product/x\n if iszero(\n or(\n iszero(x),\n eq(y, sdiv(product, x))\n )\n ) { panic_error_0x11() }\n\n }\n\n function checked_div_t_int256(x, y) -> r {\n x := cleanup_t_int256(x)\n y := cleanup_t_int256(y)\n if iszero(y) { panic_error_0x12() }\n\n // overflow for minVal / -1\n if and(\n eq(x, 0x8000000000000000000000000000000000000000000000000000000000000000),\n eq(y, sub(0, 1))\n ) { panic_error_0x11() }\n\n r := sdiv(x, y)\n }\n\n function negate_t_int256(value) -> ret {\n value := cleanup_t_int256(value)\n if eq(value, 0x8000000000000000000000000000000000000000000000000000000000000000) { panic_error_0x11() }\n ret := sub(0, value)\n }\n\n}\n", | |
"id": 3, | |
"language": "Yul", | |
"name": "#utility.yul" | |
} | |
], | |
"immutableReferences": {}, | |
"linkReferences": {}, | |
"object": "608060405234801561001057600080fd5b506004361061002b5760003560e01c8063a019d71414610030575b600080fd5b61004a600480360381019061004591906113b7565b610060565b6040516100579190611406565b60405180910390f35b600060028360ff16036100ad57633b9aca0061009c838560ff16670de0b6b3a764000061008d9190611493565b67ffffffffffffffff1661013a565b6100a691906114c4565b9050610134565b60038360ff16036100f95764e8d4a510006100e8838560ff16670de0b6b3a76400006100d99190611493565b67ffffffffffffffff1661013a565b6100f291906114c4565b9050610134565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161012b90611578565b60405180910390fd5b92915050565b600080820361015357670de0b6b3a764000090506102fb565b6000830361016457600090506102fb565b610176600060ff85901c146006610301565b60008390506101bc68056bc75e2d631000007f40000000000000000000000000000000000000000000000000000000000000006101b391906114c4565b84106007610301565b600083905060008267016345785d8a0000670de0b6b3a76400006101e091906115a2565b128015610207575067016345785d8a0000670de0b6b3a764000061020491906115e5565b83125b1561027c57600061021784610314565b9050670de0b6b3a764000083670de0b6b3a7640000836102379190611629565b610241919061165a565b61024b91906116d2565b83670de0b6b3a76400008361026091906116d2565b61026a919061165a565b61027491906115e5565b915050610293565b8161028684610595565b610290919061165a565b90505b670de0b6b3a7640000816102a791906116d2565b90506102ec817ffffffffffffffffffffffffffffffffffffffffffffffffdc702bd3a30fc0000131580156102e5575068070c1cc73b00c800008213155b6008610301565b6102f581610be9565b93505050505b92915050565b816103105761030f816112b0565b5b5050565b6000670de0b6b3a76400008261032a919061165a565b915060006ec097ce7bc90715b34b9f10000000008361034991906115e5565b6ec097ce7bc90715b34b9f1000000000808561036591906115a2565b61036f919061165a565b61037991906116d2565b905060006ec097ce7bc90715b34b9f10000000008283610399919061165a565b6103a391906116d2565b9050600082905060008190506ec097ce7bc90715b34b9f100000000083836103cb919061165a565b6103d591906116d2565b91506003826103e491906116d2565b816103ef91906115e5565b90506ec097ce7bc90715b34b9f1000000000838361040d919061165a565b61041791906116d2565b915060058261042691906116d2565b8161043191906115e5565b90506ec097ce7bc90715b34b9f1000000000838361044f919061165a565b61045991906116d2565b915060078261046891906116d2565b8161047391906115e5565b90506ec097ce7bc90715b34b9f10000000008383610491919061165a565b61049b91906116d2565b91506009826104aa91906116d2565b816104b591906115e5565b90506ec097ce7bc90715b34b9f100000000083836104d3919061165a565b6104dd91906116d2565b9150600b826104ec91906116d2565b816104f791906115e5565b90506ec097ce7bc90715b34b9f10000000008383610515919061165a565b61051f91906116d2565b9150600d8261052e91906116d2565b8161053991906115e5565b90506ec097ce7bc90715b34b9f10000000008383610557919061165a565b61056191906116d2565b9150600f8261057091906116d2565b8161057b91906115e5565b905060028161058a919061165a565b945050505050919050565b6000670de0b6b3a76400008212156105de576105ce82670de0b6b3a7640000806105bf919061165a565b6105c991906116d2565b610595565b6105d79061173c565b9050610be4565b6000670de0b6b3a7640000770195e54c5dd42177f53a27172fa9ec63026282700000000061060c919061165a565b831261065057770195e54c5dd42177f53a27172fa9ec6302628270000000008361063691906116d2565b92506806f05b59d3b20000008161064d91906115e5565b90505b670de0b6b3a76400006b1425982cf597cd205cef7380610670919061165a565b83126106a8576b1425982cf597cd205cef73808361068e91906116d2565b92506803782dace9d9000000816106a591906115e5565b90505b6064816106b5919061165a565b90506064836106c4919061165a565b92506e01855144814a7ff805980ff00840008312610725576e01855144814a7ff805980ff008400068056bc75e2d6310000084610701919061165a565b61070b91906116d2565b925068ad78ebc5ac620000008161072291906115e5565b90505b6b02df0ab5a80a22c61ab5a700831261077e576b02df0ab5a80a22c61ab5a70068056bc75e2d631000008461075a919061165a565b61076491906116d2565b92506856bc75e2d6310000008161077b91906115e5565b90505b693f1fce3da636ea5cf85083126107d357693f1fce3da636ea5cf85068056bc75e2d63100000846107af919061165a565b6107b991906116d2565b9250682b5e3af16b18800000816107d091906115e5565b90505b690127fa27722cc06cc5e2831261082857690127fa27722cc06cc5e268056bc75e2d6310000084610804919061165a565b61080e91906116d2565b92506815af1d78b58c4000008161082591906115e5565b90505b68280e60114edb805d03831261087b5768280e60114edb805d0368056bc75e2d6310000084610857919061165a565b61086191906116d2565b9250680ad78ebc5ac62000008161087891906115e5565b90505b680ebc5fb4174612111083126108ce57680ebc5fb4174612111068056bc75e2d63100000846108aa919061165a565b6108b491906116d2565b925068056bc75e2d63100000816108cb91906115e5565b90505b6808f00f760a4b2db55d8312610921576808f00f760a4b2db55d68056bc75e2d63100000846108fd919061165a565b61090791906116d2565b92506802b5e3af16b18800008161091e91906115e5565b90505b6806f5f17757889379378312610974576806f5f177578893793768056bc75e2d6310000084610950919061165a565b61095a91906116d2565b925068015af1d78b58c400008161097191906115e5565b90505b6806248f33704b28660383126109c6576806248f33704b28660368056bc75e2d63100000846109a3919061165a565b6109ad91906116d2565b925067ad78ebc5ac620000816109c391906115e5565b90505b6805c548670b9510e7ac8312610a18576805c548670b9510e7ac68056bc75e2d63100000846109f5919061165a565b6109ff91906116d2565b92506756bc75e2d631000081610a1591906115e5565b90505b600068056bc75e2d6310000084610a2f91906115e5565b68056bc75e2d631000008086610a4591906115a2565b610a4f919061165a565b610a5991906116d2565b9050600068056bc75e2d631000008283610a73919061165a565b610a7d91906116d2565b90506000829050600081905068056bc75e2d631000008383610a9f919061165a565b610aa991906116d2565b9150600382610ab891906116d2565b81610ac391906115e5565b905068056bc75e2d631000008383610adb919061165a565b610ae591906116d2565b9150600582610af491906116d2565b81610aff91906115e5565b905068056bc75e2d631000008383610b17919061165a565b610b2191906116d2565b9150600782610b3091906116d2565b81610b3b91906115e5565b905068056bc75e2d631000008383610b53919061165a565b610b5d91906116d2565b9150600982610b6c91906116d2565b81610b7791906115e5565b905068056bc75e2d631000008383610b8f919061165a565b610b9991906116d2565b9150600b82610ba891906116d2565b81610bb391906115e5565b9050600281610bc2919061165a565b905060648186610bd291906115e5565b610bdc91906116d2565b955050505050505b919050565b6000610c2e7ffffffffffffffffffffffffffffffffffffffffffffffffdc702bd3a30fc00008312158015610c27575068070c1cc73b00c800008313155b6009610301565b6000821215610c6e57610c4982610c449061173c565b610be9565b670de0b6b3a764000080610c5d919061165a565b610c6791906116d2565b90506112ab565b60006806f05b59d3b20000008312610cb7576806f05b59d3b200000083610c9591906115a2565b9250770195e54c5dd42177f53a27172fa9ec6302628270000000009050610cf8565b6803782dace9d90000008312610cf2576803782dace9d900000083610cdc91906115a2565b92506b1425982cf597cd205cef73809050610cf7565b600190505b5b606483610d05919061165a565b9250600068056bc75e2d63100000905068ad78ebc5ac620000008412610d6e5768ad78ebc5ac6200000084610d3a91906115a2565b935068056bc75e2d631000006e01855144814a7ff805980ff008400082610d61919061165a565b610d6b91906116d2565b90505b6856bc75e2d6310000008412610dc4576856bc75e2d63100000084610d9391906115a2565b935068056bc75e2d631000006b02df0ab5a80a22c61ab5a70082610db7919061165a565b610dc191906116d2565b90505b682b5e3af16b188000008412610e1857682b5e3af16b1880000084610de991906115a2565b935068056bc75e2d63100000693f1fce3da636ea5cf85082610e0b919061165a565b610e1591906116d2565b90505b6815af1d78b58c4000008412610e6c576815af1d78b58c40000084610e3d91906115a2565b935068056bc75e2d63100000690127fa27722cc06cc5e282610e5f919061165a565b610e6991906116d2565b90505b680ad78ebc5ac62000008412610ebf57680ad78ebc5ac620000084610e9191906115a2565b935068056bc75e2d6310000068280e60114edb805d0382610eb2919061165a565b610ebc91906116d2565b90505b68056bc75e2d631000008412610f125768056bc75e2d6310000084610ee491906115a2565b935068056bc75e2d63100000680ebc5fb4174612111082610f05919061165a565b610f0f91906116d2565b90505b6802b5e3af16b18800008412610f65576802b5e3af16b188000084610f3791906115a2565b935068056bc75e2d631000006808f00f760a4b2db55d82610f58919061165a565b610f6291906116d2565b90505b68015af1d78b58c400008412610fb85768015af1d78b58c4000084610f8a91906115a2565b935068056bc75e2d631000006806f5f177578893793782610fab919061165a565b610fb591906116d2565b90505b600068056bc75e2d63100000905060008590508082610fd791906115e5565b9150600268056bc75e2d631000008783610ff1919061165a565b610ffb91906116d2565b61100591906116d2565b9050808261101391906115e5565b9150600368056bc75e2d63100000878361102d919061165a565b61103791906116d2565b61104191906116d2565b9050808261104f91906115e5565b9150600468056bc75e2d631000008783611069919061165a565b61107391906116d2565b61107d91906116d2565b9050808261108b91906115e5565b9150600568056bc75e2d6310000087836110a5919061165a565b6110af91906116d2565b6110b991906116d2565b905080826110c791906115e5565b9150600668056bc75e2d6310000087836110e1919061165a565b6110eb91906116d2565b6110f591906116d2565b9050808261110391906115e5565b9150600768056bc75e2d63100000878361111d919061165a565b61112791906116d2565b61113191906116d2565b9050808261113f91906115e5565b9150600868056bc75e2d631000008783611159919061165a565b61116391906116d2565b61116d91906116d2565b9050808261117b91906115e5565b9150600968056bc75e2d631000008783611195919061165a565b61119f91906116d2565b6111a991906116d2565b905080826111b791906115e5565b9150600a68056bc75e2d6310000087836111d1919061165a565b6111db91906116d2565b6111e591906116d2565b905080826111f391906115e5565b9150600b68056bc75e2d63100000878361120d919061165a565b61121791906116d2565b61122191906116d2565b9050808261122f91906115e5565b9150600c68056bc75e2d631000008783611249919061165a565b61125391906116d2565b61125d91906116d2565b9050808261126b91906115e5565b915060648468056bc75e2d631000008486611286919061165a565b61129091906116d2565b61129a919061165a565b6112a491906116d2565b9450505050505b919050565b6112c0816242414c60e81b6112c3565b50565b60008160e81c62ffffff1690506030600a840601600a840493506030600a850601600a850494506030600a8606018360081b60230160181b8160101b8360081b850101810160c81b7f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260076024528060445260646000fd5b600080fd5b600060ff82169050919050565b61135e81611348565b811461136957600080fd5b50565b60008135905061137b81611355565b92915050565b6000819050919050565b61139481611381565b811461139f57600080fd5b50565b6000813590506113b18161138b565b92915050565b600080604083850312156113ce576113cd611343565b5b60006113dc8582860161136c565b92505060206113ed858286016113a2565b9150509250929050565b61140081611381565b82525050565b600060208201905061141b60008301846113f7565b92915050565b600067ffffffffffffffff82169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061149e82611421565b91506114a983611421565b9250826114b9576114b8611435565b5b828204905092915050565b60006114cf82611381565b91506114da83611381565b9250826114ea576114e9611435565b5b828204905092915050565b600082825260208201905092915050565b7f42616c616e636572206d617468206f6e6c792063616e2068616e646c6520737160008201527f7561726520726f6f747320616e64206375626520726f6f747300000000000000602082015250565b60006115626039836114f5565b915061156d82611506565b604082019050919050565b6000602082019050818103600083015261159181611555565b9050919050565b6000819050919050565b60006115ad82611598565b91506115b883611598565b92508282039050818112600084121682821360008512151617156115df576115de611464565b5b92915050565b60006115f082611598565b91506115fb83611598565b92508282019050828112156000831216838212600084121516171561162357611622611464565b5b92915050565b600061163482611598565b915061163f83611598565b92508261164f5761164e611435565b5b828207905092915050565b600061166582611598565b915061167083611598565b925082820261167e81611598565b91507f800000000000000000000000000000000000000000000000000000000000000084146000841216156116b6576116b5611464565b5b82820584148315176116cb576116ca611464565b5b5092915050565b60006116dd82611598565b91506116e883611598565b9250826116f8576116f7611435565b5b600160000383147f80000000000000000000000000000000000000000000000000000000000000008314161561173157611730611464565b5b828205905092915050565b600061174782611598565b91507f8000000000000000000000000000000000000000000000000000000000000000820361177957611778611464565b5b81600003905091905056fea2646970667358221220c21604cb2d038a6ebbafceadb53bb68b996854188c1e556c697cb8f18f55e68964736f6c63430008120033", | |
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x2B JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0xA019D714 EQ PUSH2 0x30 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4A PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x45 SWAP2 SWAP1 PUSH2 0x13B7 JUMP JUMPDEST PUSH2 0x60 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x57 SWAP2 SWAP1 PUSH2 0x1406 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP4 PUSH1 0xFF AND SUB PUSH2 0xAD JUMPI PUSH4 0x3B9ACA00 PUSH2 0x9C DUP4 DUP6 PUSH1 0xFF AND PUSH8 0xDE0B6B3A7640000 PUSH2 0x8D SWAP2 SWAP1 PUSH2 0x1493 JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH2 0x13A JUMP JUMPDEST PUSH2 0xA6 SWAP2 SWAP1 PUSH2 0x14C4 JUMP JUMPDEST SWAP1 POP PUSH2 0x134 JUMP JUMPDEST PUSH1 0x3 DUP4 PUSH1 0xFF AND SUB PUSH2 0xF9 JUMPI PUSH5 0xE8D4A51000 PUSH2 0xE8 DUP4 DUP6 PUSH1 0xFF AND PUSH8 0xDE0B6B3A7640000 PUSH2 0xD9 SWAP2 SWAP1 PUSH2 0x1493 JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH2 0x13A JUMP JUMPDEST PUSH2 0xF2 SWAP2 SWAP1 PUSH2 0x14C4 JUMP JUMPDEST SWAP1 POP PUSH2 0x134 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x12B SWAP1 PUSH2 0x1578 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 SUB PUSH2 0x153 JUMPI PUSH8 0xDE0B6B3A7640000 SWAP1 POP PUSH2 0x2FB JUMP JUMPDEST PUSH1 0x0 DUP4 SUB PUSH2 0x164 JUMPI PUSH1 0x0 SWAP1 POP PUSH2 0x2FB JUMP JUMPDEST PUSH2 0x176 PUSH1 0x0 PUSH1 0xFF DUP6 SWAP1 SHR EQ PUSH1 0x6 PUSH2 0x301 JUMP JUMPDEST PUSH1 0x0 DUP4 SWAP1 POP PUSH2 0x1BC PUSH9 0x56BC75E2D63100000 PUSH32 0x4000000000000000000000000000000000000000000000000000000000000000 PUSH2 0x1B3 SWAP2 SWAP1 PUSH2 0x14C4 JUMP JUMPDEST DUP5 LT PUSH1 0x7 PUSH2 0x301 JUMP JUMPDEST PUSH1 0x0 DUP4 SWAP1 POP PUSH1 0x0 DUP3 PUSH8 0x16345785D8A0000 PUSH8 0xDE0B6B3A7640000 PUSH2 0x1E0 SWAP2 SWAP1 PUSH2 0x15A2 JUMP JUMPDEST SLT DUP1 ISZERO PUSH2 0x207 JUMPI POP PUSH8 0x16345785D8A0000 PUSH8 0xDE0B6B3A7640000 PUSH2 0x204 SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST DUP4 SLT JUMPDEST ISZERO PUSH2 0x27C JUMPI PUSH1 0x0 PUSH2 0x217 DUP5 PUSH2 0x314 JUMP JUMPDEST SWAP1 POP PUSH8 0xDE0B6B3A7640000 DUP4 PUSH8 0xDE0B6B3A7640000 DUP4 PUSH2 0x237 SWAP2 SWAP1 PUSH2 0x1629 JUMP JUMPDEST PUSH2 0x241 SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0x24B SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST DUP4 PUSH8 0xDE0B6B3A7640000 DUP4 PUSH2 0x260 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST PUSH2 0x26A SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0x274 SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x293 JUMP JUMPDEST DUP2 PUSH2 0x286 DUP5 PUSH2 0x595 JUMP JUMPDEST PUSH2 0x290 SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST SWAP1 POP JUMPDEST PUSH8 0xDE0B6B3A7640000 DUP2 PUSH2 0x2A7 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP1 POP PUSH2 0x2EC DUP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDC702BD3A30FC0000 SGT ISZERO DUP1 ISZERO PUSH2 0x2E5 JUMPI POP PUSH9 0x70C1CC73B00C80000 DUP3 SGT ISZERO JUMPDEST PUSH1 0x8 PUSH2 0x301 JUMP JUMPDEST PUSH2 0x2F5 DUP2 PUSH2 0xBE9 JUMP JUMPDEST SWAP4 POP POP POP POP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP2 PUSH2 0x310 JUMPI PUSH2 0x30F DUP2 PUSH2 0x12B0 JUMP JUMPDEST JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xDE0B6B3A7640000 DUP3 PUSH2 0x32A SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST SWAP2 POP PUSH1 0x0 PUSH15 0xC097CE7BC90715B34B9F1000000000 DUP4 PUSH2 0x349 SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST PUSH15 0xC097CE7BC90715B34B9F1000000000 DUP1 DUP6 PUSH2 0x365 SWAP2 SWAP1 PUSH2 0x15A2 JUMP JUMPDEST PUSH2 0x36F SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0x379 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH15 0xC097CE7BC90715B34B9F1000000000 DUP3 DUP4 PUSH2 0x399 SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0x3A3 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP3 SWAP1 POP PUSH1 0x0 DUP2 SWAP1 POP PUSH15 0xC097CE7BC90715B34B9F1000000000 DUP4 DUP4 PUSH2 0x3CB SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0x3D5 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP2 POP PUSH1 0x3 DUP3 PUSH2 0x3E4 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST DUP2 PUSH2 0x3EF SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP1 POP PUSH15 0xC097CE7BC90715B34B9F1000000000 DUP4 DUP4 PUSH2 0x40D SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0x417 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP2 POP PUSH1 0x5 DUP3 PUSH2 0x426 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST DUP2 PUSH2 0x431 SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP1 POP PUSH15 0xC097CE7BC90715B34B9F1000000000 DUP4 DUP4 PUSH2 0x44F SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0x459 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP2 POP PUSH1 0x7 DUP3 PUSH2 0x468 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST DUP2 PUSH2 0x473 SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP1 POP PUSH15 0xC097CE7BC90715B34B9F1000000000 DUP4 DUP4 PUSH2 0x491 SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0x49B SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP2 POP PUSH1 0x9 DUP3 PUSH2 0x4AA SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST DUP2 PUSH2 0x4B5 SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP1 POP PUSH15 0xC097CE7BC90715B34B9F1000000000 DUP4 DUP4 PUSH2 0x4D3 SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0x4DD SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP2 POP PUSH1 0xB DUP3 PUSH2 0x4EC SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST DUP2 PUSH2 0x4F7 SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP1 POP PUSH15 0xC097CE7BC90715B34B9F1000000000 DUP4 DUP4 PUSH2 0x515 SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0x51F SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP2 POP PUSH1 0xD DUP3 PUSH2 0x52E SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST DUP2 PUSH2 0x539 SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP1 POP PUSH15 0xC097CE7BC90715B34B9F1000000000 DUP4 DUP4 PUSH2 0x557 SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0x561 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP2 POP PUSH1 0xF DUP3 PUSH2 0x570 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST DUP2 PUSH2 0x57B SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP1 POP PUSH1 0x2 DUP2 PUSH2 0x58A SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST SWAP5 POP POP POP POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xDE0B6B3A7640000 DUP3 SLT ISZERO PUSH2 0x5DE JUMPI PUSH2 0x5CE DUP3 PUSH8 0xDE0B6B3A7640000 DUP1 PUSH2 0x5BF SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0x5C9 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST PUSH2 0x595 JUMP JUMPDEST PUSH2 0x5D7 SWAP1 PUSH2 0x173C JUMP JUMPDEST SWAP1 POP PUSH2 0xBE4 JUMP JUMPDEST PUSH1 0x0 PUSH8 0xDE0B6B3A7640000 PUSH24 0x195E54C5DD42177F53A27172FA9EC630262827000000000 PUSH2 0x60C SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST DUP4 SLT PUSH2 0x650 JUMPI PUSH24 0x195E54C5DD42177F53A27172FA9EC630262827000000000 DUP4 PUSH2 0x636 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP3 POP PUSH9 0x6F05B59D3B2000000 DUP2 PUSH2 0x64D SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP1 POP JUMPDEST PUSH8 0xDE0B6B3A7640000 PUSH12 0x1425982CF597CD205CEF7380 PUSH2 0x670 SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST DUP4 SLT PUSH2 0x6A8 JUMPI PUSH12 0x1425982CF597CD205CEF7380 DUP4 PUSH2 0x68E SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP3 POP PUSH9 0x3782DACE9D9000000 DUP2 PUSH2 0x6A5 SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP1 POP JUMPDEST PUSH1 0x64 DUP2 PUSH2 0x6B5 SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST SWAP1 POP PUSH1 0x64 DUP4 PUSH2 0x6C4 SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST SWAP3 POP PUSH15 0x1855144814A7FF805980FF0084000 DUP4 SLT PUSH2 0x725 JUMPI PUSH15 0x1855144814A7FF805980FF0084000 PUSH9 0x56BC75E2D63100000 DUP5 PUSH2 0x701 SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0x70B SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP3 POP PUSH9 0xAD78EBC5AC62000000 DUP2 PUSH2 0x722 SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP1 POP JUMPDEST PUSH12 0x2DF0AB5A80A22C61AB5A700 DUP4 SLT PUSH2 0x77E JUMPI PUSH12 0x2DF0AB5A80A22C61AB5A700 PUSH9 0x56BC75E2D63100000 DUP5 PUSH2 0x75A SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0x764 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP3 POP PUSH9 0x56BC75E2D631000000 DUP2 PUSH2 0x77B SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP1 POP JUMPDEST PUSH10 0x3F1FCE3DA636EA5CF850 DUP4 SLT PUSH2 0x7D3 JUMPI PUSH10 0x3F1FCE3DA636EA5CF850 PUSH9 0x56BC75E2D63100000 DUP5 PUSH2 0x7AF SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0x7B9 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP3 POP PUSH9 0x2B5E3AF16B18800000 DUP2 PUSH2 0x7D0 SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP1 POP JUMPDEST PUSH10 0x127FA27722CC06CC5E2 DUP4 SLT PUSH2 0x828 JUMPI PUSH10 0x127FA27722CC06CC5E2 PUSH9 0x56BC75E2D63100000 DUP5 PUSH2 0x804 SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0x80E SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP3 POP PUSH9 0x15AF1D78B58C400000 DUP2 PUSH2 0x825 SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP1 POP JUMPDEST PUSH9 0x280E60114EDB805D03 DUP4 SLT PUSH2 0x87B JUMPI PUSH9 0x280E60114EDB805D03 PUSH9 0x56BC75E2D63100000 DUP5 PUSH2 0x857 SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0x861 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP3 POP PUSH9 0xAD78EBC5AC6200000 DUP2 PUSH2 0x878 SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP1 POP JUMPDEST PUSH9 0xEBC5FB41746121110 DUP4 SLT PUSH2 0x8CE JUMPI PUSH9 0xEBC5FB41746121110 PUSH9 0x56BC75E2D63100000 DUP5 PUSH2 0x8AA SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0x8B4 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP3 POP PUSH9 0x56BC75E2D63100000 DUP2 PUSH2 0x8CB SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP1 POP JUMPDEST PUSH9 0x8F00F760A4B2DB55D DUP4 SLT PUSH2 0x921 JUMPI PUSH9 0x8F00F760A4B2DB55D PUSH9 0x56BC75E2D63100000 DUP5 PUSH2 0x8FD SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0x907 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP3 POP PUSH9 0x2B5E3AF16B1880000 DUP2 PUSH2 0x91E SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP1 POP JUMPDEST PUSH9 0x6F5F1775788937937 DUP4 SLT PUSH2 0x974 JUMPI PUSH9 0x6F5F1775788937937 PUSH9 0x56BC75E2D63100000 DUP5 PUSH2 0x950 SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0x95A SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP3 POP PUSH9 0x15AF1D78B58C40000 DUP2 PUSH2 0x971 SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP1 POP JUMPDEST PUSH9 0x6248F33704B286603 DUP4 SLT PUSH2 0x9C6 JUMPI PUSH9 0x6248F33704B286603 PUSH9 0x56BC75E2D63100000 DUP5 PUSH2 0x9A3 SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0x9AD SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP3 POP PUSH8 0xAD78EBC5AC620000 DUP2 PUSH2 0x9C3 SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP1 POP JUMPDEST PUSH9 0x5C548670B9510E7AC DUP4 SLT PUSH2 0xA18 JUMPI PUSH9 0x5C548670B9510E7AC PUSH9 0x56BC75E2D63100000 DUP5 PUSH2 0x9F5 SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0x9FF SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP3 POP PUSH8 0x56BC75E2D6310000 DUP2 PUSH2 0xA15 SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP1 POP JUMPDEST PUSH1 0x0 PUSH9 0x56BC75E2D63100000 DUP5 PUSH2 0xA2F SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST PUSH9 0x56BC75E2D63100000 DUP1 DUP7 PUSH2 0xA45 SWAP2 SWAP1 PUSH2 0x15A2 JUMP JUMPDEST PUSH2 0xA4F SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0xA59 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH9 0x56BC75E2D63100000 DUP3 DUP4 PUSH2 0xA73 SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0xA7D SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP3 SWAP1 POP PUSH1 0x0 DUP2 SWAP1 POP PUSH9 0x56BC75E2D63100000 DUP4 DUP4 PUSH2 0xA9F SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0xAA9 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP2 POP PUSH1 0x3 DUP3 PUSH2 0xAB8 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST DUP2 PUSH2 0xAC3 SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP1 POP PUSH9 0x56BC75E2D63100000 DUP4 DUP4 PUSH2 0xADB SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0xAE5 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP2 POP PUSH1 0x5 DUP3 PUSH2 0xAF4 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST DUP2 PUSH2 0xAFF SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP1 POP PUSH9 0x56BC75E2D63100000 DUP4 DUP4 PUSH2 0xB17 SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0xB21 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP2 POP PUSH1 0x7 DUP3 PUSH2 0xB30 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST DUP2 PUSH2 0xB3B SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP1 POP PUSH9 0x56BC75E2D63100000 DUP4 DUP4 PUSH2 0xB53 SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0xB5D SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP2 POP PUSH1 0x9 DUP3 PUSH2 0xB6C SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST DUP2 PUSH2 0xB77 SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP1 POP PUSH9 0x56BC75E2D63100000 DUP4 DUP4 PUSH2 0xB8F SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0xB99 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP2 POP PUSH1 0xB DUP3 PUSH2 0xBA8 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST DUP2 PUSH2 0xBB3 SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP1 POP PUSH1 0x2 DUP2 PUSH2 0xBC2 SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST SWAP1 POP PUSH1 0x64 DUP2 DUP7 PUSH2 0xBD2 SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST PUSH2 0xBDC SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP6 POP POP POP POP POP POP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xC2E PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDC702BD3A30FC0000 DUP4 SLT ISZERO DUP1 ISZERO PUSH2 0xC27 JUMPI POP PUSH9 0x70C1CC73B00C80000 DUP4 SGT ISZERO JUMPDEST PUSH1 0x9 PUSH2 0x301 JUMP JUMPDEST PUSH1 0x0 DUP3 SLT ISZERO PUSH2 0xC6E JUMPI PUSH2 0xC49 DUP3 PUSH2 0xC44 SWAP1 PUSH2 0x173C JUMP JUMPDEST PUSH2 0xBE9 JUMP JUMPDEST PUSH8 0xDE0B6B3A7640000 DUP1 PUSH2 0xC5D SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0xC67 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP1 POP PUSH2 0x12AB JUMP JUMPDEST PUSH1 0x0 PUSH9 0x6F05B59D3B2000000 DUP4 SLT PUSH2 0xCB7 JUMPI PUSH9 0x6F05B59D3B2000000 DUP4 PUSH2 0xC95 SWAP2 SWAP1 PUSH2 0x15A2 JUMP JUMPDEST SWAP3 POP PUSH24 0x195E54C5DD42177F53A27172FA9EC630262827000000000 SWAP1 POP PUSH2 0xCF8 JUMP JUMPDEST PUSH9 0x3782DACE9D9000000 DUP4 SLT PUSH2 0xCF2 JUMPI PUSH9 0x3782DACE9D9000000 DUP4 PUSH2 0xCDC SWAP2 SWAP1 PUSH2 0x15A2 JUMP JUMPDEST SWAP3 POP PUSH12 0x1425982CF597CD205CEF7380 SWAP1 POP PUSH2 0xCF7 JUMP JUMPDEST PUSH1 0x1 SWAP1 POP JUMPDEST JUMPDEST PUSH1 0x64 DUP4 PUSH2 0xD05 SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST SWAP3 POP PUSH1 0x0 PUSH9 0x56BC75E2D63100000 SWAP1 POP PUSH9 0xAD78EBC5AC62000000 DUP5 SLT PUSH2 0xD6E JUMPI PUSH9 0xAD78EBC5AC62000000 DUP5 PUSH2 0xD3A SWAP2 SWAP1 PUSH2 0x15A2 JUMP JUMPDEST SWAP4 POP PUSH9 0x56BC75E2D63100000 PUSH15 0x1855144814A7FF805980FF0084000 DUP3 PUSH2 0xD61 SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0xD6B SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP1 POP JUMPDEST PUSH9 0x56BC75E2D631000000 DUP5 SLT PUSH2 0xDC4 JUMPI PUSH9 0x56BC75E2D631000000 DUP5 PUSH2 0xD93 SWAP2 SWAP1 PUSH2 0x15A2 JUMP JUMPDEST SWAP4 POP PUSH9 0x56BC75E2D63100000 PUSH12 0x2DF0AB5A80A22C61AB5A700 DUP3 PUSH2 0xDB7 SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0xDC1 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP1 POP JUMPDEST PUSH9 0x2B5E3AF16B18800000 DUP5 SLT PUSH2 0xE18 JUMPI PUSH9 0x2B5E3AF16B18800000 DUP5 PUSH2 0xDE9 SWAP2 SWAP1 PUSH2 0x15A2 JUMP JUMPDEST SWAP4 POP PUSH9 0x56BC75E2D63100000 PUSH10 0x3F1FCE3DA636EA5CF850 DUP3 PUSH2 0xE0B SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0xE15 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP1 POP JUMPDEST PUSH9 0x15AF1D78B58C400000 DUP5 SLT PUSH2 0xE6C JUMPI PUSH9 0x15AF1D78B58C400000 DUP5 PUSH2 0xE3D SWAP2 SWAP1 PUSH2 0x15A2 JUMP JUMPDEST SWAP4 POP PUSH9 0x56BC75E2D63100000 PUSH10 0x127FA27722CC06CC5E2 DUP3 PUSH2 0xE5F SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0xE69 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP1 POP JUMPDEST PUSH9 0xAD78EBC5AC6200000 DUP5 SLT PUSH2 0xEBF JUMPI PUSH9 0xAD78EBC5AC6200000 DUP5 PUSH2 0xE91 SWAP2 SWAP1 PUSH2 0x15A2 JUMP JUMPDEST SWAP4 POP PUSH9 0x56BC75E2D63100000 PUSH9 0x280E60114EDB805D03 DUP3 PUSH2 0xEB2 SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0xEBC SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP1 POP JUMPDEST PUSH9 0x56BC75E2D63100000 DUP5 SLT PUSH2 0xF12 JUMPI PUSH9 0x56BC75E2D63100000 DUP5 PUSH2 0xEE4 SWAP2 SWAP1 PUSH2 0x15A2 JUMP JUMPDEST SWAP4 POP PUSH9 0x56BC75E2D63100000 PUSH9 0xEBC5FB41746121110 DUP3 PUSH2 0xF05 SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0xF0F SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP1 POP JUMPDEST PUSH9 0x2B5E3AF16B1880000 DUP5 SLT PUSH2 0xF65 JUMPI PUSH9 0x2B5E3AF16B1880000 DUP5 PUSH2 0xF37 SWAP2 SWAP1 PUSH2 0x15A2 JUMP JUMPDEST SWAP4 POP PUSH9 0x56BC75E2D63100000 PUSH9 0x8F00F760A4B2DB55D DUP3 PUSH2 0xF58 SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0xF62 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP1 POP JUMPDEST PUSH9 0x15AF1D78B58C40000 DUP5 SLT PUSH2 0xFB8 JUMPI PUSH9 0x15AF1D78B58C40000 DUP5 PUSH2 0xF8A SWAP2 SWAP1 PUSH2 0x15A2 JUMP JUMPDEST SWAP4 POP PUSH9 0x56BC75E2D63100000 PUSH9 0x6F5F1775788937937 DUP3 PUSH2 0xFAB SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0xFB5 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP1 POP JUMPDEST PUSH1 0x0 PUSH9 0x56BC75E2D63100000 SWAP1 POP PUSH1 0x0 DUP6 SWAP1 POP DUP1 DUP3 PUSH2 0xFD7 SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP2 POP PUSH1 0x2 PUSH9 0x56BC75E2D63100000 DUP8 DUP4 PUSH2 0xFF1 SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0xFFB SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST PUSH2 0x1005 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP1 POP DUP1 DUP3 PUSH2 0x1013 SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP2 POP PUSH1 0x3 PUSH9 0x56BC75E2D63100000 DUP8 DUP4 PUSH2 0x102D SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0x1037 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST PUSH2 0x1041 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP1 POP DUP1 DUP3 PUSH2 0x104F SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP2 POP PUSH1 0x4 PUSH9 0x56BC75E2D63100000 DUP8 DUP4 PUSH2 0x1069 SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0x1073 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST PUSH2 0x107D SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP1 POP DUP1 DUP3 PUSH2 0x108B SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP2 POP PUSH1 0x5 PUSH9 0x56BC75E2D63100000 DUP8 DUP4 PUSH2 0x10A5 SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0x10AF SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST PUSH2 0x10B9 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP1 POP DUP1 DUP3 PUSH2 0x10C7 SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP2 POP PUSH1 0x6 PUSH9 0x56BC75E2D63100000 DUP8 DUP4 PUSH2 0x10E1 SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0x10EB SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST PUSH2 0x10F5 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP1 POP DUP1 DUP3 PUSH2 0x1103 SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP2 POP PUSH1 0x7 PUSH9 0x56BC75E2D63100000 DUP8 DUP4 PUSH2 0x111D SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0x1127 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST PUSH2 0x1131 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP1 POP DUP1 DUP3 PUSH2 0x113F SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP2 POP PUSH1 0x8 PUSH9 0x56BC75E2D63100000 DUP8 DUP4 PUSH2 0x1159 SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0x1163 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST PUSH2 0x116D SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP1 POP DUP1 DUP3 PUSH2 0x117B SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP2 POP PUSH1 0x9 PUSH9 0x56BC75E2D63100000 DUP8 DUP4 PUSH2 0x1195 SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0x119F SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST PUSH2 0x11A9 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP1 POP DUP1 DUP3 PUSH2 0x11B7 SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP2 POP PUSH1 0xA PUSH9 0x56BC75E2D63100000 DUP8 DUP4 PUSH2 0x11D1 SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0x11DB SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST PUSH2 0x11E5 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP1 POP DUP1 DUP3 PUSH2 0x11F3 SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP2 POP PUSH1 0xB PUSH9 0x56BC75E2D63100000 DUP8 DUP4 PUSH2 0x120D SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0x1217 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST PUSH2 0x1221 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP1 POP DUP1 DUP3 PUSH2 0x122F SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP2 POP PUSH1 0xC PUSH9 0x56BC75E2D63100000 DUP8 DUP4 PUSH2 0x1249 SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0x1253 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST PUSH2 0x125D SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP1 POP DUP1 DUP3 PUSH2 0x126B SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST SWAP2 POP PUSH1 0x64 DUP5 PUSH9 0x56BC75E2D63100000 DUP5 DUP7 PUSH2 0x1286 SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0x1290 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST PUSH2 0x129A SWAP2 SWAP1 PUSH2 0x165A JUMP JUMPDEST PUSH2 0x12A4 SWAP2 SWAP1 PUSH2 0x16D2 JUMP JUMPDEST SWAP5 POP POP POP POP POP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x12C0 DUP2 PUSH3 0x42414C PUSH1 0xE8 SHL PUSH2 0x12C3 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0xE8 SHR PUSH3 0xFFFFFF AND SWAP1 POP PUSH1 0x30 PUSH1 0xA DUP5 MOD ADD PUSH1 0xA DUP5 DIV SWAP4 POP PUSH1 0x30 PUSH1 0xA DUP6 MOD ADD PUSH1 0xA DUP6 DIV SWAP5 POP PUSH1 0x30 PUSH1 0xA DUP7 MOD ADD DUP4 PUSH1 0x8 SHL PUSH1 0x23 ADD PUSH1 0x18 SHL DUP2 PUSH1 0x10 SHL DUP4 PUSH1 0x8 SHL DUP6 ADD ADD DUP2 ADD PUSH1 0xC8 SHL PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x4 MSTORE PUSH1 0x7 PUSH1 0x24 MSTORE DUP1 PUSH1 0x44 MSTORE PUSH1 0x64 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0xFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x135E DUP2 PUSH2 0x1348 JUMP JUMPDEST DUP2 EQ PUSH2 0x1369 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x137B DUP2 PUSH2 0x1355 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1394 DUP2 PUSH2 0x1381 JUMP JUMPDEST DUP2 EQ PUSH2 0x139F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x13B1 DUP2 PUSH2 0x138B JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x13CE JUMPI PUSH2 0x13CD PUSH2 0x1343 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x13DC DUP6 DUP3 DUP7 ADD PUSH2 0x136C JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x13ED DUP6 DUP3 DUP7 ADD PUSH2 0x13A2 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH2 0x1400 DUP2 PUSH2 0x1381 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x141B PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x13F7 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x149E DUP3 PUSH2 0x1421 JUMP JUMPDEST SWAP2 POP PUSH2 0x14A9 DUP4 PUSH2 0x1421 JUMP JUMPDEST SWAP3 POP DUP3 PUSH2 0x14B9 JUMPI PUSH2 0x14B8 PUSH2 0x1435 JUMP JUMPDEST JUMPDEST DUP3 DUP3 DIV SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x14CF DUP3 PUSH2 0x1381 JUMP JUMPDEST SWAP2 POP PUSH2 0x14DA DUP4 PUSH2 0x1381 JUMP JUMPDEST SWAP3 POP DUP3 PUSH2 0x14EA JUMPI PUSH2 0x14E9 PUSH2 0x1435 JUMP JUMPDEST JUMPDEST DUP3 DUP3 DIV SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x42616C616E636572206D617468206F6E6C792063616E2068616E646C65207371 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x7561726520726F6F747320616E64206375626520726F6F747300000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1562 PUSH1 0x39 DUP4 PUSH2 0x14F5 JUMP JUMPDEST SWAP2 POP PUSH2 0x156D DUP3 PUSH2 0x1506 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1591 DUP2 PUSH2 0x1555 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x15AD DUP3 PUSH2 0x1598 JUMP JUMPDEST SWAP2 POP PUSH2 0x15B8 DUP4 PUSH2 0x1598 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 SUB SWAP1 POP DUP2 DUP2 SLT PUSH1 0x0 DUP5 SLT AND DUP3 DUP3 SGT PUSH1 0x0 DUP6 SLT ISZERO AND OR ISZERO PUSH2 0x15DF JUMPI PUSH2 0x15DE PUSH2 0x1464 JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x15F0 DUP3 PUSH2 0x1598 JUMP JUMPDEST SWAP2 POP PUSH2 0x15FB DUP4 PUSH2 0x1598 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 ADD SWAP1 POP DUP3 DUP2 SLT ISZERO PUSH1 0x0 DUP4 SLT AND DUP4 DUP3 SLT PUSH1 0x0 DUP5 SLT ISZERO AND OR ISZERO PUSH2 0x1623 JUMPI PUSH2 0x1622 PUSH2 0x1464 JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1634 DUP3 PUSH2 0x1598 JUMP JUMPDEST SWAP2 POP PUSH2 0x163F DUP4 PUSH2 0x1598 JUMP JUMPDEST SWAP3 POP DUP3 PUSH2 0x164F JUMPI PUSH2 0x164E PUSH2 0x1435 JUMP JUMPDEST JUMPDEST DUP3 DUP3 SMOD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1665 DUP3 PUSH2 0x1598 JUMP JUMPDEST SWAP2 POP PUSH2 0x1670 DUP4 PUSH2 0x1598 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 MUL PUSH2 0x167E DUP2 PUSH2 0x1598 JUMP JUMPDEST SWAP2 POP PUSH32 0x8000000000000000000000000000000000000000000000000000000000000000 DUP5 EQ PUSH1 0x0 DUP5 SLT AND ISZERO PUSH2 0x16B6 JUMPI PUSH2 0x16B5 PUSH2 0x1464 JUMP JUMPDEST JUMPDEST DUP3 DUP3 SDIV DUP5 EQ DUP4 ISZERO OR PUSH2 0x16CB JUMPI PUSH2 0x16CA PUSH2 0x1464 JUMP JUMPDEST JUMPDEST POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x16DD DUP3 PUSH2 0x1598 JUMP JUMPDEST SWAP2 POP PUSH2 0x16E8 DUP4 PUSH2 0x1598 JUMP JUMPDEST SWAP3 POP DUP3 PUSH2 0x16F8 JUMPI PUSH2 0x16F7 PUSH2 0x1435 JUMP JUMPDEST JUMPDEST PUSH1 0x1 PUSH1 0x0 SUB DUP4 EQ PUSH32 0x8000000000000000000000000000000000000000000000000000000000000000 DUP4 EQ AND ISZERO PUSH2 0x1731 JUMPI PUSH2 0x1730 PUSH2 0x1464 JUMP JUMPDEST JUMPDEST DUP3 DUP3 SDIV SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1747 DUP3 PUSH2 0x1598 JUMP JUMPDEST SWAP2 POP PUSH32 0x8000000000000000000000000000000000000000000000000000000000000000 DUP3 SUB PUSH2 0x1779 JUMPI PUSH2 0x1778 PUSH2 0x1464 JUMP JUMPDEST JUMPDEST DUP2 PUSH1 0x0 SUB SWAP1 POP SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xC2 AND DIV 0xCB 0x2D SUB DUP11 PUSH15 0xBBAFCEADB53BB68B996854188C1E55 PUSH13 0x697CB8F18F55E68964736F6C63 NUMBER STOP ADDMOD SLT STOP CALLER ", | |
"sourceMap": "109:583:2:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;276:413;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;340:7;491:1;488;:4;;;485:63;;540:3;505:34;520:8;537:1;530:8;;:4;:8;;;;:::i;:::-;505:34;;:14;:34::i;:::-;:38;;;;:::i;:::-;498:45;;;;485:63;557:1;554;:4;;;551:64;;606:4;571:34;586:8;603:1;596:8;;:4;:8;;;;:::i;:::-;571:34;;:14;:34::i;:::-;:39;;;;:::i;:::-;564:46;;;;551:64;618:67;;;;;;;;;;:::i;:::-;;;;;;;;276:413;;;;;:::o;4856:2195:1:-;4914:7;4942:1;4937;:6;4933:131;;1926:4;5031:22;;;;4933:131;5083:1;5078;:6;5074:45;;5107:1;5100:8;;;;5074:45;5489:47;5510:1;5503:3;5498:1;:8;;:13;5392:1:0;5489:8:1;:47::i;:::-;5546:15;5571:1;5546:27;;5927:57;2116:4;3069:6;:24;;;;:::i;:::-;5936:1;:23;5443:1:0;5927:8:1;:57::i;:::-;5994:15;6019:1;5994:27;;6032:19;6085:8;2964:4;1926;2955:13;;;;:::i;:::-;6065:28;:60;;;;;3019:4;1926;3010:13;;;;:::i;:::-;6097:8;:28;6065:60;6061:684;;;6141:14;6158:16;6165:8;6158:6;:16::i;:::-;6141:33;;1926:4;6645:8;1926:4;6625:7;:16;;;;:::i;:::-;6624:29;;;;:::i;:::-;6623:40;;;;:::i;:::-;6612:8;1926:4;6592:7;:16;;;;:::i;:::-;6591:29;;;;:::i;:::-;:72;;;;:::i;:::-;6575:89;;6127:548;6061:684;;;6726:8;6710:13;6714:8;6710:3;:13::i;:::-;:24;;;;:::i;:::-;6695:39;;6061:684;1926:4;6754:22;;;;;:::i;:::-;;;6850:150;6896:12;2762:6;6872:36;;:76;;;;;2711:6;6912:12;:36;;6872:76;5500:1:0;6850:8:1;:150::i;:::-;7026:17;7030:12;7026:3;:17::i;:::-;7011:33;;;;;4856:2195;;;;;:::o;891:101:0:-;960:9;955:34;;971:18;979:9;971:7;:18::i;:::-;955:34;891:101;;:::o;19370:1714:1:-;19418:6;1926:4;19640:11;;;;;:::i;:::-;;;20012:8;2151:4;20050:1;:10;;;;:::i;:::-;2151:4;;20025:1;:10;;;;:::i;:::-;20024:21;;;;:::i;:::-;20023:38;;;;:::i;:::-;20012:49;;20071:16;2151:4;20095:1;20091;:5;;;;:::i;:::-;20090:16;;;;:::i;:::-;20071:35;;20187:10;20200:1;20187:14;;20315:16;20334:3;20315:22;;2151:4;20421:9;20415:3;:15;;;;:::i;:::-;20414:26;;;;:::i;:::-;20408:32;;20469:1;20463:3;:7;;;;:::i;:::-;20450:20;;;;;:::i;:::-;;;2151:4;20494:9;20488:3;:15;;;;:::i;:::-;20487:26;;;;:::i;:::-;20481:32;;20542:1;20536:3;:7;;;;:::i;:::-;20523:20;;;;;:::i;:::-;;;2151:4;20567:9;20561:3;:15;;;;:::i;:::-;20560:26;;;;:::i;:::-;20554:32;;20615:1;20609:3;:7;;;;:::i;:::-;20596:20;;;;;:::i;:::-;;;2151:4;20640:9;20634:3;:15;;;;:::i;:::-;20633:26;;;;:::i;:::-;20627:32;;20688:1;20682:3;:7;;;;:::i;:::-;20669:20;;;;;:::i;:::-;;;2151:4;20713:9;20707:3;:15;;;;:::i;:::-;20706:26;;;;:::i;:::-;20700:32;;20761:2;20755:3;:8;;;;:::i;:::-;20742:21;;;;;:::i;:::-;;;2151:4;20787:9;20781:3;:15;;;;:::i;:::-;20780:26;;;;:::i;:::-;20774:32;;20835:2;20829:3;:8;;;;:::i;:::-;20816:21;;;;;:::i;:::-;;;2151:4;20861:9;20855:3;:15;;;;:::i;:::-;20854:26;;;;:::i;:::-;20848:32;;20909:2;20903:3;:8;;;;:::i;:::-;20890:21;;;;;:::i;:::-;;;21076:1;21064:9;:13;;;;:::i;:::-;21057:20;;;;;;19370:1714;;;:::o;14145:4959::-;14190:6;1926:4;14212:1;:10;14208:382;;;14552:26;14576:1;1926:4;;14557:15;;;;:::i;:::-;14556:21;;;;:::i;:::-;14552:3;:26::i;:::-;14551:27;;;:::i;:::-;14543:36;;;;14208:382;15915:10;1926:4;3205:56;15948:11;;;;:::i;:::-;15943:1;:16;15939:114;;3205:56;15975:7;;;;;:::i;:::-;;;3149:21;16033:9;;;;;:::i;:::-;;;15939:114;1926:4;3368:28;16072:11;;;;:::i;:::-;16067:1;:16;16063:114;;3368:28;16099:7;;;;;:::i;:::-;;;3313:20;16157:9;;;;;:::i;:::-;;;16063:114;16315:3;16308:10;;;;;:::i;:::-;;;16333:3;16328:8;;;;;:::i;:::-;;;3534:34;16463:1;:7;16459:82;;3534:34;2116:4;16491:1;:10;;;;:::i;:::-;16490:17;;;;:::i;:::-;16486:21;;3477:22;16521:9;;;;;:::i;:::-;;;16459:82;3663:27;16555:1;:7;16551:82;;3663:27;2116:4;16583:1;:10;;;;:::i;:::-;16582:17;;;;:::i;:::-;16578:21;;3606:22;16613:9;;;;;:::i;:::-;;;16551:82;3784:24;16647:1;:7;16643:82;;3784:24;2116:4;16675:1;:10;;;;:::i;:::-;16674:17;;;;:::i;:::-;16670:21;;3728;16705:9;;;;;:::i;:::-;;;16643:82;3902:22;16739:1;:7;16735:82;;3902:22;2116:4;16767:1;:10;;;;:::i;:::-;16766:17;;;;:::i;:::-;16762:21;;3846;16797:9;;;;;:::i;:::-;;;16735:82;4018:21;16831:1;:7;16827:82;;4018:21;2116:4;16859:1;:10;;;;:::i;:::-;16858:17;;;;:::i;:::-;16854:21;;3962;16889:9;;;;;:::i;:::-;;;16827:82;4133:21;16923:1;:7;16919:82;;4133:21;2116:4;16951:1;:10;;;;:::i;:::-;16950:17;;;;:::i;:::-;16946:21;;4077;16981:9;;;;;:::i;:::-;;;16919:82;4248:21;17015:1;:7;17011:82;;4248:21;2116:4;17043:1;:10;;;;:::i;:::-;17042:17;;;;:::i;:::-;17038:21;;4192:20;17073:9;;;;;:::i;:::-;;;17011:82;4363:21;17107:1;:7;17103:82;;4363:21;2116:4;17135:1;:10;;;;:::i;:::-;17134:17;;;;:::i;:::-;17130:21;;4307:20;17165:9;;;;;:::i;:::-;;;17103:82;4480:21;17199:1;:8;17195:85;;4480:21;2116:4;17228:1;:10;;;;:::i;:::-;17227:18;;;;:::i;:::-;17223:22;;4423:20;17259:10;;;;;:::i;:::-;;;17195:85;4597:21;17294:1;:8;17290:85;;4597:21;2116:4;17323:1;:10;;;;:::i;:::-;17322:18;;;;:::i;:::-;17318:22;;4541:19;17354:10;;;;;:::i;:::-;;;17290:85;17877:8;2116:4;17915:1;:10;;;;:::i;:::-;2116:4;;17890:1;:10;;;;:::i;:::-;17889:21;;;;:::i;:::-;17888:38;;;;:::i;:::-;17877:49;;17936:16;2116:4;17960:1;17956;:5;;;;:::i;:::-;17955:16;;;;:::i;:::-;17936:35;;18052:10;18065:1;18052:14;;18180:16;18199:3;18180:22;;2116:4;18286:9;18280:3;:15;;;;:::i;:::-;18279:26;;;;:::i;:::-;18273:32;;18334:1;18328:3;:7;;;;:::i;:::-;18315:20;;;;;:::i;:::-;;;2116:4;18359:9;18353:3;:15;;;;:::i;:::-;18352:26;;;;:::i;:::-;18346:32;;18407:1;18401:3;:7;;;;:::i;:::-;18388:20;;;;;:::i;:::-;;;2116:4;18432:9;18426:3;:15;;;;:::i;:::-;18425:26;;;;:::i;:::-;18419:32;;18480:1;18474:3;:7;;;;:::i;:::-;18461:20;;;;;:::i;:::-;;;2116:4;18505:9;18499:3;:15;;;;:::i;:::-;18498:26;;;;:::i;:::-;18492:32;;18553:1;18547:3;:7;;;;:::i;:::-;18534:20;;;;;:::i;:::-;;;2116:4;18578:9;18572:3;:15;;;;:::i;:::-;18571:26;;;;:::i;:::-;18565:32;;18626:2;18620:3;:8;;;;:::i;:::-;18607:21;;;;;:::i;:::-;;;18800:1;18787:14;;;;;:::i;:::-;;;19094:3;19081:9;19075:3;:15;;;;:::i;:::-;19074:23;;;;:::i;:::-;19067:30;;;;;;;14145:4959;;;;:::o;7265:5379::-;7311:6;7329:89;2762:6;7338:1;:25;;:54;;;;;2711:6;7367:1;:25;;7338:54;5552:1:0;7329:8:1;:89::i;:::-;7437:1;7433;:5;7429:353;;;7763:7;7768:1;7767:2;;;:::i;:::-;7763:3;:7::i;:::-;1926:4;;7744:15;;;;:::i;:::-;7743:27;;;;:::i;:::-;7735:36;;;;7429:353;9083:14;3149:21;9111:1;:7;9107:220;;3149:21;9134:7;;;;;:::i;:::-;;;3205:56;9155:12;;9107:220;;;3313:20;9188:1;:7;9184:143;;3313:20;9211:7;;;;;:::i;:::-;;;3368:28;9232:12;;9184:143;;;9285:1;9275:11;;9184:143;9107:220;9482:3;9477:8;;;;;:::i;:::-;;;9698:14;2116:4;9698:23;;3477:22;9736:1;:7;9732:92;;3477:22;9759:7;;;;;:::i;:::-;;;2116:4;3534:34;9791:7;:12;;;;:::i;:::-;9790:23;;;;:::i;:::-;9780:33;;9732:92;3606:22;9837:1;:7;9833:92;;3606:22;9860:7;;;;;:::i;:::-;;;2116:4;3663:27;9892:7;:12;;;;:::i;:::-;9891:23;;;;:::i;:::-;9881:33;;9833:92;3728:21;9938:1;:7;9934:92;;3728:21;9961:7;;;;;:::i;:::-;;;2116:4;3784:24;9993:7;:12;;;;:::i;:::-;9992:23;;;;:::i;:::-;9982:33;;9934:92;3846:21;10039:1;:7;10035:92;;3846:21;10062:7;;;;;:::i;:::-;;;2116:4;3902:22;10094:7;:12;;;;:::i;:::-;10093:23;;;;:::i;:::-;10083:33;;10035:92;3962:21;10140:1;:7;10136:92;;3962:21;10163:7;;;;;:::i;:::-;;;2116:4;4018:21;10195:7;:12;;;;:::i;:::-;10194:23;;;;:::i;:::-;10184:33;;10136:92;4077:21;10241:1;:7;10237:92;;4077:21;10264:7;;;;;:::i;:::-;;;2116:4;4133:21;10296:7;:12;;;;:::i;:::-;10295:23;;;;:::i;:::-;10285:33;;10237:92;4192:20;10342:1;:7;10338:92;;4192:20;10365:7;;;;;:::i;:::-;;;2116:4;4248:21;10397:7;:12;;;;:::i;:::-;10396:23;;;;:::i;:::-;10386:33;;10338:92;4307:20;10443:1;:7;10439:92;;4307:20;10466:7;;;;;:::i;:::-;;;2116:4;4363:21;10498:7;:12;;;;:::i;:::-;10497:23;;;;:::i;:::-;10487:33;;10439:92;10835:16;2116:4;10835:25;;10925:11;11052:1;11045:8;;11076:4;11063:17;;;;;:::i;:::-;;;11348:1;2116:4;11333:1;11326:4;:8;;;;:::i;:::-;11325:19;;;;:::i;:::-;11324:25;;;;:::i;:::-;11317:32;;11372:4;11359:17;;;;;:::i;:::-;;;11418:1;2116:4;11403:1;11396:4;:8;;;;:::i;:::-;11395:19;;;;:::i;:::-;11394:25;;;;:::i;:::-;11387:32;;11442:4;11429:17;;;;;:::i;:::-;;;11488:1;2116:4;11473:1;11466:4;:8;;;;:::i;:::-;11465:19;;;;:::i;:::-;11464:25;;;;:::i;:::-;11457:32;;11512:4;11499:17;;;;;:::i;:::-;;;11558:1;2116:4;11543:1;11536:4;:8;;;;:::i;:::-;11535:19;;;;:::i;:::-;11534:25;;;;:::i;:::-;11527:32;;11582:4;11569:17;;;;;:::i;:::-;;;11628:1;2116:4;11613:1;11606:4;:8;;;;:::i;:::-;11605:19;;;;:::i;:::-;11604:25;;;;:::i;:::-;11597:32;;11652:4;11639:17;;;;;:::i;:::-;;;11698:1;2116:4;11683:1;11676:4;:8;;;;:::i;:::-;11675:19;;;;:::i;:::-;11674:25;;;;:::i;:::-;11667:32;;11722:4;11709:17;;;;;:::i;:::-;;;11768:1;2116:4;11753:1;11746:4;:8;;;;:::i;:::-;11745:19;;;;:::i;:::-;11744:25;;;;:::i;:::-;11737:32;;11792:4;11779:17;;;;;:::i;:::-;;;11838:1;2116:4;11823:1;11816:4;:8;;;;:::i;:::-;11815:19;;;;:::i;:::-;11814:25;;;;:::i;:::-;11807:32;;11862:4;11849:17;;;;;:::i;:::-;;;11908:2;2116:4;11893:1;11886:4;:8;;;;:::i;:::-;11885:19;;;;:::i;:::-;11884:26;;;;:::i;:::-;11877:33;;11933:4;11920:17;;;;;:::i;:::-;;;11979:2;2116:4;11964:1;11957:4;:8;;;;:::i;:::-;11956:19;;;;:::i;:::-;11955:26;;;;:::i;:::-;11948:33;;12004:4;11991:17;;;;;:::i;:::-;;;12050:2;2116:4;12035:1;12028:4;:8;;;;:::i;:::-;12027:19;;;;:::i;:::-;12026:26;;;;:::i;:::-;12019:33;;12075:4;12062:17;;;;;:::i;:::-;;;12634:3;12623:7;2116:4;12600:9;12590:7;:19;;;;:::i;:::-;12589:30;;;;:::i;:::-;12588:42;;;;:::i;:::-;12587:50;;;;:::i;:::-;12580:57;;;;;;7265:5379;;;;:::o;1422:126:0:-;1469:28;1477:9;1488:8;1469:28;;:7;:28::i;:::-;1422:126;:::o;1654:3370::-;1716:18;1752:6;1745:14;;1737:23;;1716:44;;2859:4;2854:2;2843:9;2839:18;2835:29;2901:2;2890:9;2886:18;2873:31;;2951:4;2946:2;2935:9;2931:18;2927:29;2993:2;2982:9;2978:18;2965:31;;3045:4;3040:2;3029:9;3025:18;3021:29;3730:10;3727:1;3723:18;3717:4;3713:29;3709:2;3705:38;3842:8;3838:2;3834:17;3824:6;3821:1;3817:14;3810:5;3806:26;3802:50;3785:15;3781:72;3776:3;3772:82;4372:66;4367:3;4360:79;4578:66;4572:4;4565:80;4720:1;4714:4;4707:15;4793:12;4787:4;4780:26;5012:3;5009:1;5002:14;88:117:3;197:1;194;187:12;334:86;369:7;409:4;402:5;398:16;387:27;;334:86;;;:::o;426:118::-;497:22;513:5;497:22;:::i;:::-;490:5;487:33;477:61;;534:1;531;524:12;477:61;426:118;:::o;550:135::-;594:5;632:6;619:20;610:29;;648:31;673:5;648:31;:::i;:::-;550:135;;;;:::o;691:77::-;728:7;757:5;746:16;;691:77;;;:::o;774:122::-;847:24;865:5;847:24;:::i;:::-;840:5;837:35;827:63;;886:1;883;876:12;827:63;774:122;:::o;902:139::-;948:5;986:6;973:20;964:29;;1002:33;1029:5;1002:33;:::i;:::-;902:139;;;;:::o;1047:470::-;1113:6;1121;1170:2;1158:9;1149:7;1145:23;1141:32;1138:119;;;1176:79;;:::i;:::-;1138:119;1296:1;1321:51;1364:7;1355:6;1344:9;1340:22;1321:51;:::i;:::-;1311:61;;1267:115;1421:2;1447:53;1492:7;1483:6;1472:9;1468:22;1447:53;:::i;:::-;1437:63;;1392:118;1047:470;;;;;:::o;1523:118::-;1610:24;1628:5;1610:24;:::i;:::-;1605:3;1598:37;1523:118;;:::o;1647:222::-;1740:4;1778:2;1767:9;1763:18;1755:26;;1791:71;1859:1;1848:9;1844:17;1835:6;1791:71;:::i;:::-;1647:222;;;;:::o;1875:101::-;1911:7;1951:18;1944:5;1940:30;1929:41;;1875:101;;;:::o;1982:180::-;2030:77;2027:1;2020:88;2127:4;2124:1;2117:15;2151:4;2148:1;2141:15;2168:180;2216:77;2213:1;2206:88;2313:4;2310:1;2303:15;2337:4;2334:1;2327:15;2354:182;2393:1;2410:19;2427:1;2410:19;:::i;:::-;2405:24;;2443:19;2460:1;2443:19;:::i;:::-;2438:24;;2481:1;2471:35;;2486:18;;:::i;:::-;2471:35;2528:1;2525;2521:9;2516:14;;2354:182;;;;:::o;2542:185::-;2582:1;2599:20;2617:1;2599:20;:::i;:::-;2594:25;;2633:20;2651:1;2633:20;:::i;:::-;2628:25;;2672:1;2662:35;;2677:18;;:::i;:::-;2662:35;2719:1;2716;2712:9;2707:14;;2542:185;;;;:::o;2733:169::-;2817:11;2851:6;2846:3;2839:19;2891:4;2886:3;2882:14;2867:29;;2733:169;;;;:::o;2908:244::-;3048:34;3044:1;3036:6;3032:14;3025:58;3117:27;3112:2;3104:6;3100:15;3093:52;2908:244;:::o;3158:366::-;3300:3;3321:67;3385:2;3380:3;3321:67;:::i;:::-;3314:74;;3397:93;3486:3;3397:93;:::i;:::-;3515:2;3510:3;3506:12;3499:19;;3158:366;;;:::o;3530:419::-;3696:4;3734:2;3723:9;3719:18;3711:26;;3783:9;3777:4;3773:20;3769:1;3758:9;3754:17;3747:47;3811:131;3937:4;3811:131;:::i;:::-;3803:139;;3530:419;;;:::o;3955:76::-;3991:7;4020:5;4009:16;;3955:76;;;:::o;4037:372::-;4076:4;4096:19;4113:1;4096:19;:::i;:::-;4091:24;;4129:19;4146:1;4129:19;:::i;:::-;4124:24;;4172:1;4169;4165:9;4157:17;;4366:1;4360:4;4356:12;4352:1;4349;4345:9;4341:28;4324:1;4318:4;4314:12;4309:1;4306;4302:9;4295:17;4291:36;4275:104;4272:130;;;4382:18;;:::i;:::-;4272:130;4037:372;;;;:::o;4415:375::-;4454:3;4473:19;4490:1;4473:19;:::i;:::-;4468:24;;4506:19;4523:1;4506:19;:::i;:::-;4501:24;;4548:1;4545;4541:9;4534:16;;4746:1;4741:3;4737:11;4730:19;4726:1;4723;4719:9;4715:35;4698:1;4693:3;4689:11;4684:1;4681;4677:9;4670:17;4666:35;4650:110;4647:136;;;4763:18;;:::i;:::-;4647:136;4415:375;;;;:::o;4796:174::-;4827:1;4844:19;4861:1;4844:19;:::i;:::-;4839:24;;4877:19;4894:1;4877:19;:::i;:::-;4872:24;;4915:1;4905:35;;4920:18;;:::i;:::-;4905:35;4962:1;4959;4954:10;4949:15;;4796:174;;;;:::o;4976:556::-;5015:7;5038:19;5055:1;5038:19;:::i;:::-;5033:24;;5071:19;5088:1;5071:19;:::i;:::-;5066:24;;5125:1;5122;5118:9;5147:29;5164:11;5147:29;:::i;:::-;5136:40;;5234:66;5231:1;5228:73;5224:1;5221;5217:9;5213:89;5210:115;;;5305:18;;:::i;:::-;5210:115;5475:1;5466:7;5461:16;5458:1;5455:23;5435:1;5428:9;5408:84;5385:140;;5505:18;;:::i;:::-;5385:140;5023:509;4976:556;;;;:::o;5538:385::-;5577:1;5594:19;5611:1;5594:19;:::i;:::-;5589:24;;5627:19;5644:1;5627:19;:::i;:::-;5622:24;;5665:1;5655:35;;5670:18;;:::i;:::-;5655:35;5856:1;5853;5849:9;5846:1;5843:16;5762:66;5759:1;5756:73;5739:130;5736:156;;;5872:18;;:::i;:::-;5736:156;5915:1;5912;5907:10;5902:15;;5538:385;;;;:::o;5929:228::-;5964:3;5987:23;6004:5;5987:23;:::i;:::-;5978:32;;6032:66;6025:5;6022:77;6019:103;;6102:18;;:::i;:::-;6019:103;6145:5;6142:1;6138:13;6131:20;;5929:228;;;:::o" | |
}, | |
"gasEstimates": { | |
"creation": { | |
"codeDepositCost": "1214800", | |
"executionCost": "1261", | |
"totalCost": "1216061" | |
}, | |
"external": { | |
"nthroot(uint8,uint256)": "infinite" | |
} | |
}, | |
"legacyAssembly": { | |
".code": [ | |
{ | |
"begin": 109, | |
"end": 692, | |
"name": "PUSH", | |
"source": 2, | |
"value": "80" | |
}, | |
{ | |
"begin": 109, | |
"end": 692, | |
"name": "PUSH", | |
"source": 2, | |
"value": "40" | |
}, | |
{ | |
"begin": 109, | |
"end": 692, | |
"name": "MSTORE", | |
"source": 2 | |
}, | |
{ | |
"begin": 109, | |
"end": 692, | |
"name": "CALLVALUE", | |
"source": 2 | |
}, | |
{ | |
"begin": 109, | |
"end": 692, | |
"name": "DUP1", | |
"source": 2 | |
}, | |
{ | |
"begin": 109, | |
"end": 692, | |
"name": "ISZERO", | |
"source": 2 | |
}, | |
{ | |
"begin": 109, | |
"end": 692, | |
"name": "PUSH [tag]", | |
"source": 2, | |
"value": "1" | |
}, | |
{ | |
"begin": 109, | |
"end": 692, | |
"name": "JUMPI", | |
"source": 2 | |
}, | |
{ | |
"begin": 109, | |
"end": 692, | |
"name": "PUSH", | |
"source": 2, | |
"value": "0" | |
}, | |
{ | |
"begin": 109, | |
"end": 692, | |
"name": "DUP1", | |
"source": 2 | |
}, | |
{ | |
"begin": 109, | |
"end": 692, | |
"name": "REVERT", | |
"source": 2 | |
}, | |
{ | |
"begin": 109, | |
"end": 692, | |
"name": "tag", | |
"source": 2, | |
"value": "1" | |
}, | |
{ | |
"begin": 109, | |
"end": 692, | |
"name": "JUMPDEST", | |
"source": 2 | |
}, | |
{ | |
"begin": 109, | |
"end": 692, | |
"name": "POP", | |
"source": 2 | |
}, | |
{ | |
"begin": 109, | |
"end": 692, | |
"name": "PUSH #[$]", | |
"source": 2, | |
"value": "0000000000000000000000000000000000000000000000000000000000000000" | |
}, | |
{ | |
"begin": 109, | |
"end": 692, | |
"name": "DUP1", | |
"source": 2 | |
}, | |
{ | |
"begin": 109, | |
"end": 692, | |
"name": "PUSH [$]", | |
"source": 2, | |
"value": "0000000000000000000000000000000000000000000000000000000000000000" | |
}, | |
{ | |
"begin": 109, | |
"end": 692, | |
"name": "PUSH", | |
"source": 2, | |
"value": "0" | |
}, | |
{ | |
"begin": 109, | |
"end": 692, | |
"name": "CODECOPY", | |
"source": 2 | |
}, | |
{ | |
"begin": 109, | |
"end": 692, | |
"name": "PUSH", | |
"source": 2, | |
"value": "0" | |
}, | |
{ | |
"begin": 109, | |
"end": 692, | |
"name": "RETURN", | |
"source": 2 | |
} | |
], | |
".data": { | |
View raw
(Sorry about that, but we can’t show files that are this big right now.)
View raw
(Sorry about that, but we can’t show files that are this big right now.)
View raw
(Sorry about that, but we can’t show files that are this big right now.)
View raw
(Sorry about that, but we can’t show files that are this big right now.)
View raw
(Sorry about that, but we can’t show files that are this big right now.)
View raw
(Sorry about that, but we can’t show files that are this big right now.)
View raw
(Sorry about that, but we can’t show files that are this big right now.)
View raw
(Sorry about that, but we can’t show files that are this big right now.)
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment