UNPKG

@bscswap/contracts

Version:

🎛 Core contracts for the BSCswap protocol

199 lines • 71.2 kB
{ "abi": [ { "inputs": [ { "internalType": "address", "name": "factory", "type": "address" }, { "internalType": "address", "name": "tokenA", "type": "address" }, { "internalType": "address", "name": "tokenB", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [], "name": "PERIOD", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "blockTimestampLast", "outputs": [ { "internalType": "uint32", "name": "", "type": "uint32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "token", "type": "address" }, { "internalType": "uint256", "name": "amountIn", "type": "uint256" } ], "name": "consult", "outputs": [ { "internalType": "uint256", "name": "amountOut", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "price0Average", "outputs": [ { "internalType": "uint224", "name": "_x", "type": "uint224" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "price0CumulativeLast", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "price1Average", "outputs": [ { "internalType": "uint224", "name": "_x", "type": "uint224" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "price1CumulativeLast", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "token0", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "token1", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "update", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ], "evm": { "bytecode": { "linkReferences": {}, "object": "60e06040523480156200001157600080fd5b5060405162000f8738038062000f87833981810160405260608110156200003757600080fd5b5080516020808301516040909301519192919060009062000067908590859085906200045a6200037d821b17901c565b9050806001600160a01b03166080816001600160a01b031660601b81525050806001600160a01b0316630dfe16816040518163ffffffff1660e01b815260040160206040518083038186803b158015620000c057600080fd5b505afa158015620000d5573d6000803e3d6000fd5b505050506040513d6020811015620000ec57600080fd5b505160601b6001600160601b03191660a0526040805163d21220a760e01b815290516001600160a01b0383169163d21220a7916004808301926020929190829003018186803b1580156200013f57600080fd5b505afa15801562000154573d6000803e3d6000fd5b505050506040513d60208110156200016b57600080fd5b505160601b6001600160601b03191660c05260408051635909c0d560e01b815290516001600160a01b03831691635909c0d5916004808301926020929190829003018186803b158015620001be57600080fd5b505afa158015620001d3573d6000803e3d6000fd5b505050506040513d6020811015620001ea57600080fd5b505160005560408051635a3d549360e01b815290516001600160a01b03831691635a3d5493916004808301926020929190829003018186803b1580156200023057600080fd5b505afa15801562000245573d6000803e3d6000fd5b505050506040513d60208110156200025c57600080fd5b505160015560408051630240bc6b60e21b8152905160009182916001600160a01b03851691630902f1ac916004808301926060929190829003018186803b158015620002a757600080fd5b505afa158015620002bc573d6000803e3d6000fd5b505050506040513d6060811015620002d357600080fd5b50805160208201516040909201516002805463ffffffff191663ffffffff909216919091179055925090506001600160701b038216158015906200031f57506001600160701b03811615155b62000371576040805162461bcd60e51b815260206004820181905260248201527f4578616d706c654f7261636c6553696d706c653a204e4f5f5245534552564553604482015290519081900360640190fd5b50505050505062000534565b600080806200038d858562000451565b604080516001600160601b0319606094851b811660208084019190915293851b81166034830152825160288184030181526048830184528051908501207fff0000000000000000000000000000000000000000000000000000000000000060688401529a90941b9093166069840152607d8301989098527facc1c81cc3e9fb496da555f6bd67c3a095e579b26c1b580070cc6afa8f0a94fa609d808401919091528851808403909101815260bd909201909752805196019590952095945050505050565b600080826001600160a01b0316846001600160a01b03161415620004a75760405162461bcd60e51b815260040180806020018281038252602381526020018062000f646023913960400191505060405180910390fd5b826001600160a01b0316846001600160a01b031610620004c9578284620004cc565b83835b90925090506001600160a01b0382166200052d576040805162461bcd60e51b815260206004820152601c60248201527f425343737761704c6962726172793a205a45524f5f4144445245535300000000604482015290519081900360640190fd5b9250929050565b60805160601c60a05160601c60c05160601c6109f0620005746000398061021a528061043852508061017e52806101a45250806102e652506109f06000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c8063a2e6204511610066578063a2e6204514610139578063a6bb453914610143578063b4d1d7951461014b578063c5700a0214610153578063d21220a7146101745761009e565b80630dfe1681146100a35780633ddac953146100c75780635909c0d5146101055780635a3d54931461010d5780635e6aaf2c14610115575b600080fd5b6100ab61017c565b604080516001600160a01b039092168252519081900360200190f35b6100f3600480360360408110156100dd57600080fd5b506001600160a01b0381351690602001356101a0565b60408051918252519081900360200190f35b6100f36102c1565b6100f36102c7565b61011d6102cd565b604080516001600160e01b039092168252519081900360200190f35b6101416102dc565b005b61011d610414565b6100f3610423565b61015b61042a565b6040805163ffffffff9092168252519081900360200190f35b6100ab610436565b7f000000000000000000000000000000000000000000000000000000000000000081565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b031614156102185760408051602081019091526003546001600160e01b0316815261020890610203908461051a565b610598565b6001600160901b031690506102bb565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b0316146102885760405162461bcd60e51b815260040180806020018281038252602281526020018061092c6022913960400191505060405180910390fd5b60408051602081019091526004546001600160e01b031681526102af90610203908461051a565b6001600160901b031690505b92915050565b60005481565b60015481565b6004546001600160e01b031681565b600080600061030a7f000000000000000000000000000000000000000000000000000000000000000061059f565b600254929550909350915063ffffffff9081168203906201518090821610156103645760405162461bcd60e51b815260040180806020018281038252602781526020018061094e6027913960400191505060405180910390fd5b60405180602001604052808263ffffffff1660005487038161038257fe5b046001600160e01b039081169091529051600380546001600160e01b031916919092161790556040805160208101909152600154819063ffffffff8416908603816103c957fe5b046001600160e01b039081169091529051600480546001600160e01b03191691909216179055506000929092556001556002805463ffffffff191663ffffffff909216919091179055565b6003546001600160e01b031681565b6201518081565b60025463ffffffff1681565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000806000610469858561076e565b604080516bffffffffffffffffffffffff19606094851b811660208084019190915293851b81166034830152825160288184030181526048830184528051908501206001600160f81b031960688401529a90941b9093166069840152607d8301989098527facc1c81cc3e9fb496da555f6bd67c3a095e579b26c1b580070cc6afa8f0a94fa609d808401919091528851808403909101815260bd909201909752805196019590952095945050505050565b610522610906565b600082158061054857505082516001600160e01b03168281029083828161054557fe5b04145b6105835760405162461bcd60e51b81526004018080602001828103825260238152602001806109756023913960400191505060405180910390fd5b60408051602081019091529081529392505050565b5160701c90565b60008060006105ac61084c565b9050836001600160a01b0316635909c0d56040518163ffffffff1660e01b815260040160206040518083038186803b1580156105e757600080fd5b505afa1580156105fb573d6000803e3d6000fd5b505050506040513d602081101561061157600080fd5b505160408051635a3d549360e01b815290519194506001600160a01b03861691635a3d549391600480820192602092909190829003018186803b15801561065757600080fd5b505afa15801561066b573d6000803e3d6000fd5b505050506040513d602081101561068157600080fd5b505160408051630240bc6b60e21b81529051919350600091829182916001600160a01b03891691630902f1ac916004808301926060929190829003018186803b1580156106cd57600080fd5b505afa1580156106e1573d6000803e3d6000fd5b505050506040513d60608110156106f757600080fd5b5080516020820151604090920151909450909250905063ffffffff808216908516146107645780840363ffffffff81166107318486610856565b516001600160e01b031602969096019563ffffffff81166107528585610856565b516001600160e01b0316029590950194505b5050509193909250565b600080826001600160a01b0316846001600160a01b031614156107c25760405162461bcd60e51b81526004018080602001828103825260238152602001806109986023913960400191505060405180910390fd5b826001600160a01b0316846001600160a01b0316106107e25782846107e5565b83835b90925090506001600160a01b038216610845576040805162461bcd60e51b815260206004820152601c60248201527f425343737761704c6962726172793a205a45524f5f4144445245535300000000604482015290519081900360640190fd5b9250929050565b63ffffffff421690565b61085e610919565b6000826001600160701b0316116108bc576040805162461bcd60e51b815260206004820152601760248201527f4669786564506f696e743a204449565f42595f5a45524f000000000000000000604482015290519081900360640190fd5b6040805160208101909152806001600160701b0384166dffffffffffffffffffffffffffff60701b607087901b16816108f157fe5b046001600160e01b0316815250905092915050565b6040518060200160405280600081525090565b6040805160208101909152600081529056fe4578616d706c654f7261636c6553696d706c653a20494e56414c49445f544f4b454e4578616d706c654f7261636c6553696d706c653a20504552494f445f4e4f545f454c41505345444669786564506f696e743a204d554c5449504c49434154494f4e5f4f564552464c4f57425343737761704c6962726172793a204944454e544943414c5f414444524553534553a2646970667358221220bbdaf7574ee99daf1bd8eba53a8304cb9372ba5657fdce34071455960a3e0c3364736f6c634300060c0033425343737761704c6962726172793a204944454e544943414c5f414444524553534553", "opcodes": "PUSH1 0xE0 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x11 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH3 0xF87 CODESIZE SUB DUP1 PUSH3 0xF87 DUP4 CODECOPY DUP2 DUP2 ADD PUSH1 0x40 MSTORE PUSH1 0x60 DUP2 LT ISZERO PUSH3 0x37 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP DUP1 MLOAD PUSH1 0x20 DUP1 DUP4 ADD MLOAD PUSH1 0x40 SWAP1 SWAP4 ADD MLOAD SWAP2 SWAP3 SWAP2 SWAP1 PUSH1 0x0 SWAP1 PUSH3 0x67 SWAP1 DUP6 SWAP1 DUP6 SWAP1 DUP6 SWAP1 PUSH3 0x45A PUSH3 0x37D DUP3 SHL OR SWAP1 SHR JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x80 DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x60 SHL DUP2 MSTORE POP POP DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xDFE1681 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH3 0xC0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH3 0xD5 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x20 DUP2 LT ISZERO PUSH3 0xEC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD PUSH1 0x60 SHL PUSH1 0x1 PUSH1 0x1 PUSH1 0x60 SHL SUB NOT AND PUSH1 0xA0 MSTORE PUSH1 0x40 DUP1 MLOAD PUSH4 0xD21220A7 PUSH1 0xE0 SHL DUP2 MSTORE SWAP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP2 PUSH4 0xD21220A7 SWAP2 PUSH1 0x4 DUP1 DUP4 ADD SWAP3 PUSH1 0x20 SWAP3 SWAP2 SWAP1 DUP3 SWAP1 SUB ADD DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH3 0x13F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH3 0x154 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x20 DUP2 LT ISZERO PUSH3 0x16B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD PUSH1 0x60 SHL PUSH1 0x1 PUSH1 0x1 PUSH1 0x60 SHL SUB NOT AND PUSH1 0xC0 MSTORE PUSH1 0x40 DUP1 MLOAD PUSH4 0x5909C0D5 PUSH1 0xE0 SHL DUP2 MSTORE SWAP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP2 PUSH4 0x5909C0D5 SWAP2 PUSH1 0x4 DUP1 DUP4 ADD SWAP3 PUSH1 0x20 SWAP3 SWAP2 SWAP1 DUP3 SWAP1 SUB ADD DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH3 0x1BE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH3 0x1D3 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x20 DUP2 LT ISZERO PUSH3 0x1EA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD PUSH1 0x0 SSTORE PUSH1 0x40 DUP1 MLOAD PUSH4 0x5A3D5493 PUSH1 0xE0 SHL DUP2 MSTORE SWAP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP2 PUSH4 0x5A3D5493 SWAP2 PUSH1 0x4 DUP1 DUP4 ADD SWAP3 PUSH1 0x20 SWAP3 SWAP2 SWAP1 DUP3 SWAP1 SUB ADD DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH3 0x230 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH3 0x245 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x20 DUP2 LT ISZERO PUSH3 0x25C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD PUSH1 0x1 SSTORE PUSH1 0x40 DUP1 MLOAD PUSH4 0x240BC6B PUSH1 0xE2 SHL DUP2 MSTORE SWAP1 MLOAD PUSH1 0x0 SWAP2 DUP3 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND SWAP2 PUSH4 0x902F1AC SWAP2 PUSH1 0x4 DUP1 DUP4 ADD SWAP3 PUSH1 0x60 SWAP3 SWAP2 SWAP1 DUP3 SWAP1 SUB ADD DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH3 0x2A7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH3 0x2BC JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x60 DUP2 LT ISZERO PUSH3 0x2D3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP DUP1 MLOAD PUSH1 0x20 DUP3 ADD MLOAD PUSH1 0x40 SWAP1 SWAP3 ADD MLOAD PUSH1 0x2 DUP1 SLOAD PUSH4 0xFFFFFFFF NOT AND PUSH4 0xFFFFFFFF SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE SWAP3 POP SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0x70 SHL SUB DUP3 AND ISZERO DUP1 ISZERO SWAP1 PUSH3 0x31F JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0x70 SHL SUB DUP2 AND ISZERO ISZERO JUMPDEST PUSH3 0x371 JUMPI PUSH1 0x40 DUP1 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4578616D706C654F7261636C6553696D706C653A204E4F5F5245534552564553 PUSH1 0x44 DUP3 ADD MSTORE SWAP1 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x64 ADD SWAP1 REVERT JUMPDEST POP POP POP POP POP POP PUSH3 0x534 JUMP JUMPDEST PUSH1 0x0 DUP1 DUP1 PUSH3 0x38D DUP6 DUP6 PUSH3 0x451 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x60 SHL SUB NOT PUSH1 0x60 SWAP5 DUP6 SHL DUP2 AND PUSH1 0x20 DUP1 DUP5 ADD SWAP2 SWAP1 SWAP2 MSTORE SWAP4 DUP6 SHL DUP2 AND PUSH1 0x34 DUP4 ADD MSTORE DUP3 MLOAD PUSH1 0x28 DUP2 DUP5 SUB ADD DUP2 MSTORE PUSH1 0x48 DUP4 ADD DUP5 MSTORE DUP1 MLOAD SWAP1 DUP6 ADD KECCAK256 PUSH32 0xFF00000000000000000000000000000000000000000000000000000000000000 PUSH1 0x68 DUP5 ADD MSTORE SWAP11 SWAP1 SWAP5 SHL SWAP1 SWAP4 AND PUSH1 0x69 DUP5 ADD MSTORE PUSH1 0x7D DUP4 ADD SWAP9 SWAP1 SWAP9 MSTORE PUSH32 0xACC1C81CC3E9FB496DA555F6BD67C3A095E579B26C1B580070CC6AFA8F0A94FA PUSH1 0x9D DUP1 DUP5 ADD SWAP2 SWAP1 SWAP2 MSTORE DUP9 MLOAD DUP1 DUP5 SUB SWAP1 SWAP2 ADD DUP2 MSTORE PUSH1 0xBD SWAP1 SWAP3 ADD SWAP1 SWAP8 MSTORE DUP1 MLOAD SWAP7 ADD SWAP6 SWAP1 SWAP6 KECCAK256 SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO PUSH3 0x4A7 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x23 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH3 0xF64 PUSH1 0x23 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND LT PUSH3 0x4C9 JUMPI DUP3 DUP5 PUSH3 0x4CC JUMP JUMPDEST DUP4 DUP4 JUMPDEST SWAP1 SWAP3 POP SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH3 0x52D JUMPI PUSH1 0x40 DUP1 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1C PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x425343737761704C6962726172793A205A45524F5F4144445245535300000000 PUSH1 0x44 DUP3 ADD MSTORE SWAP1 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x64 ADD SWAP1 REVERT JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x80 MLOAD PUSH1 0x60 SHR PUSH1 0xA0 MLOAD PUSH1 0x60 SHR PUSH1 0xC0 MLOAD PUSH1 0x60 SHR PUSH2 0x9F0 PUSH3 0x574 PUSH1 0x0 CODECOPY DUP1 PUSH2 0x21A MSTORE DUP1 PUSH2 0x438 MSTORE POP DUP1 PUSH2 0x17E MSTORE DUP1 PUSH2 0x1A4 MSTORE POP DUP1 PUSH2 0x2E6 MSTORE POP PUSH2 0x9F0 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 0x9E JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0xA2E62045 GT PUSH2 0x66 JUMPI DUP1 PUSH4 0xA2E62045 EQ PUSH2 0x139 JUMPI DUP1 PUSH4 0xA6BB4539 EQ PUSH2 0x143 JUMPI DUP1 PUSH4 0xB4D1D795 EQ PUSH2 0x14B JUMPI DUP1 PUSH4 0xC5700A02 EQ PUSH2 0x153 JUMPI DUP1 PUSH4 0xD21220A7 EQ PUSH2 0x174 JUMPI PUSH2 0x9E JUMP JUMPDEST DUP1 PUSH4 0xDFE1681 EQ PUSH2 0xA3 JUMPI DUP1 PUSH4 0x3DDAC953 EQ PUSH2 0xC7 JUMPI DUP1 PUSH4 0x5909C0D5 EQ PUSH2 0x105 JUMPI DUP1 PUSH4 0x5A3D5493 EQ PUSH2 0x10D JUMPI DUP1 PUSH4 0x5E6AAF2C EQ PUSH2 0x115 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xAB PUSH2 0x17C JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP3 AND DUP3 MSTORE MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 RETURN JUMPDEST PUSH2 0xF3 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x40 DUP2 LT ISZERO PUSH2 0xDD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 CALLDATALOAD AND SWAP1 PUSH1 0x20 ADD CALLDATALOAD PUSH2 0x1A0 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD SWAP2 DUP3 MSTORE MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 RETURN JUMPDEST PUSH2 0xF3 PUSH2 0x2C1 JUMP JUMPDEST PUSH2 0xF3 PUSH2 0x2C7 JUMP JUMPDEST PUSH2 0x11D PUSH2 0x2CD JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB SWAP1 SWAP3 AND DUP3 MSTORE MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 RETURN JUMPDEST PUSH2 0x141 PUSH2 0x2DC JUMP JUMPDEST STOP JUMPDEST PUSH2 0x11D PUSH2 0x414 JUMP JUMPDEST PUSH2 0xF3 PUSH2 0x423 JUMP JUMPDEST PUSH2 0x15B PUSH2 0x42A JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH4 0xFFFFFFFF SWAP1 SWAP3 AND DUP3 MSTORE MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 RETURN JUMPDEST PUSH2 0xAB PUSH2 0x436 JUMP JUMPDEST PUSH32 0x0 DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO PUSH2 0x218 JUMPI PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 DUP2 ADD SWAP1 SWAP2 MSTORE PUSH1 0x3 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB AND DUP2 MSTORE PUSH2 0x208 SWAP1 PUSH2 0x203 SWAP1 DUP5 PUSH2 0x51A JUMP JUMPDEST PUSH2 0x598 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0x90 SHL SUB AND SWAP1 POP PUSH2 0x2BB JUMP JUMPDEST PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x288 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x22 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x92C PUSH1 0x22 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 DUP2 ADD SWAP1 SWAP2 MSTORE PUSH1 0x4 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB AND DUP2 MSTORE PUSH2 0x2AF SWAP1 PUSH2 0x203 SWAP1 DUP5 PUSH2 0x51A JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0x90 SHL SUB AND SWAP1 POP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x1 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x4 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH2 0x30A PUSH32 0x0 PUSH2 0x59F JUMP JUMPDEST PUSH1 0x2 SLOAD SWAP3 SWAP6 POP SWAP1 SWAP4 POP SWAP2 POP PUSH4 0xFFFFFFFF SWAP1 DUP2 AND DUP3 SUB SWAP1 PUSH3 0x15180 SWAP1 DUP3 AND LT ISZERO PUSH2 0x364 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x27 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x94E PUSH1 0x27 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0x0 SLOAD DUP8 SUB DUP2 PUSH2 0x382 JUMPI INVALID JUMPDEST DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB SWAP1 DUP2 AND SWAP1 SWAP2 MSTORE SWAP1 MLOAD PUSH1 0x3 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT AND SWAP2 SWAP1 SWAP3 AND OR SWAP1 SSTORE PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 DUP2 ADD SWAP1 SWAP2 MSTORE PUSH1 0x1 SLOAD DUP2 SWAP1 PUSH4 0xFFFFFFFF DUP5 AND SWAP1 DUP7 SUB DUP2 PUSH2 0x3C9 JUMPI INVALID JUMPDEST DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB SWAP1 DUP2 AND SWAP1 SWAP2 MSTORE SWAP1 MLOAD PUSH1 0x4 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT AND SWAP2 SWAP1 SWAP3 AND OR SWAP1 SSTORE POP PUSH1 0x0 SWAP3 SWAP1 SWAP3 SSTORE PUSH1 0x1 SSTORE PUSH1 0x2 DUP1 SLOAD PUSH4 0xFFFFFFFF NOT AND PUSH4 0xFFFFFFFF SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x3 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH3 0x15180 DUP2 JUMP JUMPDEST PUSH1 0x2 SLOAD PUSH4 0xFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH32 0x0 DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH2 0x469 DUP6 DUP6 PUSH2 0x76E JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH12 0xFFFFFFFFFFFFFFFFFFFFFFFF NOT PUSH1 0x60 SWAP5 DUP6 SHL DUP2 AND PUSH1 0x20 DUP1 DUP5 ADD SWAP2 SWAP1 SWAP2 MSTORE SWAP4 DUP6 SHL DUP2 AND PUSH1 0x34 DUP4 ADD MSTORE DUP3 MLOAD PUSH1 0x28 DUP2 DUP5 SUB ADD DUP2 MSTORE PUSH1 0x48 DUP4 ADD DUP5 MSTORE DUP1 MLOAD SWAP1 DUP6 ADD KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xF8 SHL SUB NOT PUSH1 0x68 DUP5 ADD MSTORE SWAP11 SWAP1 SWAP5 SHL SWAP1 SWAP4 AND PUSH1 0x69 DUP5 ADD MSTORE PUSH1 0x7D DUP4 ADD SWAP9 SWAP1 SWAP9 MSTORE PUSH32 0xACC1C81CC3E9FB496DA555F6BD67C3A095E579B26C1B580070CC6AFA8F0A94FA PUSH1 0x9D DUP1 DUP5 ADD SWAP2 SWAP1 SWAP2 MSTORE DUP9 MLOAD DUP1 DUP5 SUB SWAP1 SWAP2 ADD DUP2 MSTORE PUSH1 0xBD SWAP1 SWAP3 ADD SWAP1 SWAP8 MSTORE DUP1 MLOAD SWAP7 ADD SWAP6 SWAP1 SWAP6 KECCAK256 SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH2 0x522 PUSH2 0x906 JUMP JUMPDEST PUSH1 0x0 DUP3 ISZERO DUP1 PUSH2 0x548 JUMPI POP POP DUP3 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB AND DUP3 DUP2 MUL SWAP1 DUP4 DUP3 DUP2 PUSH2 0x545 JUMPI INVALID JUMPDEST DIV EQ JUMPDEST PUSH2 0x583 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x23 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x975 PUSH1 0x23 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 DUP2 ADD SWAP1 SWAP2 MSTORE SWAP1 DUP2 MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST MLOAD PUSH1 0x70 SHR SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH2 0x5AC PUSH2 0x84C JUMP JUMPDEST SWAP1 POP DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x5909C0D5 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x5E7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x5FB JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x611 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD PUSH1 0x40 DUP1 MLOAD PUSH4 0x5A3D5493 PUSH1 0xE0 SHL DUP2 MSTORE SWAP1 MLOAD SWAP2 SWAP5 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND SWAP2 PUSH4 0x5A3D5493 SWAP2 PUSH1 0x4 DUP1 DUP3 ADD SWAP3 PUSH1 0x20 SWAP3 SWAP1 SWAP2 SWAP1 DUP3 SWAP1 SUB ADD DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x657 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x66B JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x681 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD PUSH1 0x40 DUP1 MLOAD PUSH4 0x240BC6B PUSH1 0xE2 SHL DUP2 MSTORE SWAP1 MLOAD SWAP2 SWAP4 POP PUSH1 0x0 SWAP2 DUP3 SWAP2 DUP3 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP10 AND SWAP2 PUSH4 0x902F1AC SWAP2 PUSH1 0x4 DUP1 DUP4 ADD SWAP3 PUSH1 0x60 SWAP3 SWAP2 SWAP1 DUP3 SWAP1 SUB ADD DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x6CD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x6E1 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x60 DUP2 LT ISZERO PUSH2 0x6F7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP DUP1 MLOAD PUSH1 0x20 DUP3 ADD MLOAD PUSH1 0x40 SWAP1 SWAP3 ADD MLOAD SWAP1 SWAP5 POP SWAP1 SWAP3 POP SWAP1 POP PUSH4 0xFFFFFFFF DUP1 DUP3 AND SWAP1 DUP6 AND EQ PUSH2 0x764 JUMPI DUP1 DUP5 SUB PUSH4 0xFFFFFFFF DUP2 AND PUSH2 0x731 DUP5 DUP7 PUSH2 0x856 JUMP JUMPDEST MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB AND MUL SWAP7 SWAP1 SWAP7 ADD SWAP6 PUSH4 0xFFFFFFFF DUP2 AND PUSH2 0x752 DUP6 DUP6 PUSH2 0x856 JUMP JUMPDEST MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB AND MUL SWAP6 SWAP1 SWAP6 ADD SWAP5 POP JUMPDEST POP POP POP SWAP2 SWAP4 SWAP1 SWAP3 POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO PUSH2 0x7C2 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x23 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x998 PUSH1 0x23 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND LT PUSH2 0x7E2 JUMPI DUP3 DUP5 PUSH2 0x7E5 JUMP JUMPDEST DUP4 DUP4 JUMPDEST SWAP1 SWAP3 POP SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x845 JUMPI PUSH1 0x40 DUP1 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1C PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x425343737761704C6962726172793A205A45524F5F4144445245535300000000 PUSH1 0x44 DUP3 ADD MSTORE SWAP1 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x64 ADD SWAP1 REVERT JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH4 0xFFFFFFFF TIMESTAMP AND SWAP1 JUMP JUMPDEST PUSH2 0x85E PUSH2 0x919 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0x70 SHL SUB AND GT PUSH2 0x8BC JUMPI PUSH1 0x40 DUP1 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x17 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4669786564506F696E743A204449565F42595F5A45524F000000000000000000 PUSH1 0x44 DUP3 ADD MSTORE SWAP1 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x64 ADD SWAP1 REVERT JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 DUP2 ADD SWAP1 SWAP2 MSTORE DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0x70 SHL SUB DUP5 AND PUSH14 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x70 SHL PUSH1 0x70 DUP8 SWAP1 SHL AND DUP2 PUSH2 0x8F1 JUMPI INVALID JUMPDEST DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB AND DUP2 MSTORE POP SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 DUP2 ADD SWAP1 SWAP2 MSTORE PUSH1 0x0 DUP2 MSTORE SWAP1 JUMP INVALID GASLIMIT PUSH25 0x616D706C654F7261636C6553696D706C653A20494E56414C49 DIFFICULTY 0x5F SLOAD 0x4F 0x4B GASLIMIT 0x4E GASLIMIT PUSH25 0x616D706C654F7261636C6553696D706C653A20504552494F44 0x5F 0x4E 0x4F SLOAD 0x5F GASLIMIT 0x4C COINBASE POP MSTORE8 GASLIMIT DIFFICULTY CHAINID PUSH10 0x786564506F696E743A20 0x4D SSTORE 0x4C SLOAD 0x49 POP 0x4C 0x49 NUMBER COINBASE SLOAD 0x49 0x4F 0x4E 0x5F 0x4F JUMP GASLIMIT MSTORE CHAINID 0x4C 0x4F JUMPI TIMESTAMP MSTORE8 NUMBER PUSH20 0x7761704C6962726172793A204944454E54494341 0x4C 0x5F COINBASE DIFFICULTY DIFFICULTY MSTORE GASLIMIT MSTORE8 MSTORE8 GASLIMIT MSTORE8 LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xBB 0xDA 0xF7 JUMPI 0x4E 0xE9 SWAP14 0xAF SHL 0xD8 0xEB 0xA5 GASPRICE DUP4 DIV 0xCB SWAP4 PUSH19 0xBA5657FDCE34071455960A3E0C3364736F6C63 NUMBER STOP MOD 0xC STOP CALLER TIMESTAMP MSTORE8 NUMBER PUSH20 0x7761704C6962726172793A204944454E54494341 0x4C 0x5F COINBASE DIFFICULTY DIFFICULTY MSTORE GASLIMIT MSTORE8 MSTORE8 GASLIMIT MSTORE8 ", "sourceMap": "509:2683:4:-:0;;;957:748;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;957:748:4;;;;;;;;;;;;;;;;1036:18;;1070:47;;957:748;;;;;;1070:22;;;;;:47;;:::i;:::-;1036:82;;1136:5;-1:-1:-1;;;;;1129:12:4;;;-1:-1:-1;;;;;1129:12:4;;;;;;;1161:5;-1:-1:-1;;;;;1161:12:4;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1161:14:4;1152:23;;-1:-1:-1;;;;;;1152:23:4;;;1195:14;;;-1:-1:-1;;;1195:14:4;;;;-1:-1:-1;;;;;1195:12:4;;;;;:14;;;;;1161;;1195;;;;;;;:12;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1195:14:4;1186:23;;-1:-1:-1;;;;;;1186:23:4;;;1243:28;;;-1:-1:-1;;;1243:28:4;;;;-1:-1:-1;;;;;1243:26:4;;;;;:28;;;;;1195:14;;1243:28;;;;;;;:26;:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1243:28:4;1220:20;:51;1358:28;;;-1:-1:-1;;;1358:28:4;;;;-1:-1:-1;;;;;1358:26:4;;;;;:28;;;;;1243;;1358;;;;;;;:26;:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1358:28:4;1335:20;:51;1547:19;;;-1:-1:-1;;;1547:19:4;;;;1450:16;;;;-1:-1:-1;;;;;1547:17:4;;;;;:19;;;;;;;;;;;;;;:17;:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1547:19:4;;;;;;;;;;;1525:18;1504:62;;-1:-1:-1;;1504:62:4;;;;;;;;;;;1547:19;-1:-1:-1;1547:19:4;-1:-1:-1;;;;;;1585:13:4;;;;;;:30;;-1:-1:-1;;;;;;1602:13:4;;;;1585:30;1577:75;;;;;-1:-1:-1;;;1577:75:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;957:748;;;;;;509:2683;;755:478:13;844:12;;;904:26;915:6;923;904:10;:26::i;:::-;1068:32;;;-1:-1:-1;;;;;;1068:32:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1058:43;;;;;;971:251;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;961:262;;;;;;;;;755:478;-1:-1:-1;;;;;755:478:13:o;318:345::-;393:14;409;454:6;-1:-1:-1;;;;;444:16:13;:6;-1:-1:-1;;;;;444:16:13;;;436:64;;;;-1:-1:-1;;;436:64:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;539:6;-1:-1:-1;;;;;530:15:13;:6;-1:-1:-1;;;;;530:15:13;;:53;;568:6;576;530:53;;;549:6;557;530:53;511:72;;-1:-1:-1;511:72:13;-1:-1:-1;;;;;;602:20:13;;594:61;;;;;-1:-1:-1;;;594:61:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;318:345;;;;;:::o;509:2683:4:-;;;;;;;;;;;;;;;;;;;;;;" }, "deployedBytecode": { "immutableReferences": { "3713": [ { "length": 32, "start": 742 } ], "3715": [ { "length": 32, "start": 382 }, { "length": 32, "start": 420 } ], "3717": [ { "length": 32, "start": 538 }, { "length": 32, "start": 1080 } ] }, "linkReferences": {}, "object": "608060405234801561001057600080fd5b506004361061009e5760003560e01c8063a2e6204511610066578063a2e6204514610139578063a6bb453914610143578063b4d1d7951461014b578063c5700a0214610153578063d21220a7146101745761009e565b80630dfe1681146100a35780633ddac953146100c75780635909c0d5146101055780635a3d54931461010d5780635e6aaf2c14610115575b600080fd5b6100ab61017c565b604080516001600160a01b039092168252519081900360200190f35b6100f3600480360360408110156100dd57600080fd5b506001600160a01b0381351690602001356101a0565b60408051918252519081900360200190f35b6100f36102c1565b6100f36102c7565b61011d6102cd565b604080516001600160e01b039092168252519081900360200190f35b6101416102dc565b005b61011d610414565b6100f3610423565b61015b61042a565b6040805163ffffffff9092168252519081900360200190f35b6100ab610436565b7f000000000000000000000000000000000000000000000000000000000000000081565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b031614156102185760408051602081019091526003546001600160e01b0316815261020890610203908461051a565b610598565b6001600160901b031690506102bb565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b0316146102885760405162461bcd60e51b815260040180806020018281038252602281526020018061092c6022913960400191505060405180910390fd5b60408051602081019091526004546001600160e01b031681526102af90610203908461051a565b6001600160901b031690505b92915050565b60005481565b60015481565b6004546001600160e01b031681565b600080600061030a7f000000000000000000000000000000000000000000000000000000000000000061059f565b600254929550909350915063ffffffff9081168203906201518090821610156103645760405162461bcd60e51b815260040180806020018281038252602781526020018061094e6027913960400191505060405180910390fd5b60405180602001604052808263ffffffff1660005487038161038257fe5b046001600160e01b039081169091529051600380546001600160e01b031916919092161790556040805160208101909152600154819063ffffffff8416908603816103c957fe5b046001600160e01b039081169091529051600480546001600160e01b03191691909216179055506000929092556001556002805463ffffffff191663ffffffff909216919091179055565b6003546001600160e01b031681565b6201518081565b60025463ffffffff1681565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000806000610469858561076e565b604080516bffffffffffffffffffffffff19606094851b811660208084019190915293851b81166034830152825160288184030181526048830184528051908501206001600160f81b031960688401529a90941b9093166069840152607d8301989098527facc1c81cc3e9fb496da555f6bd67c3a095e579b26c1b580070cc6afa8f0a94fa609d808401919091528851808403909101815260bd909201909752805196019590952095945050505050565b610522610906565b600082158061054857505082516001600160e01b03168281029083828161054557fe5b04145b6105835760405162461bcd60e51b81526004018080602001828103825260238152602001806109756023913960400191505060405180910390fd5b60408051602081019091529081529392505050565b5160701c90565b60008060006105ac61084c565b9050836001600160a01b0316635909c0d56040518163ffffffff1660e01b815260040160206040518083038186803b1580156105e757600080fd5b505afa1580156105fb573d6000803e3d6000fd5b505050506040513d602081101561061157600080fd5b505160408051635a3d549360e01b815290519194506001600160a01b03861691635a3d549391600480820192602092909190829003018186803b15801561065757600080fd5b505afa15801561066b573d6000803e3d6000fd5b505050506040513d602081101561068157600080fd5b505160408051630240bc6b60e21b81529051919350600091829182916001600160a01b03891691630902f1ac916004808301926060929190829003018186803b1580156106cd57600080fd5b505afa1580156106e1573d6000803e3d6000fd5b505050506040513d60608110156106f757600080fd5b5080516020820151604090920151909450909250905063ffffffff808216908516146107645780840363ffffffff81166107318486610856565b516001600160e01b031602969096019563ffffffff81166107528585610856565b516001600160e01b0316029590950194505b5050509193909250565b600080826001600160a01b0316846001600160a01b031614156107c25760405162461bcd60e51b81526004018080602001828103825260238152602001806109986023913960400191505060405180910390fd5b826001600160a01b0316846001600160a01b0316106107e25782846107e5565b83835b90925090506001600160a01b038216610845576040805162461bcd60e51b815260206004820152601c60248201527f425343737761704c6962726172793a205a45524f5f4144445245535300000000604482015290519081900360640190fd5b9250929050565b63ffffffff421690565b61085e610919565b6000826001600160701b0316116108bc576040805162461bcd60e51b815260206004820152601760248201527f4669786564506f696e743a204449565f42595f5a45524f000000000000000000604482015290519081900360640190fd5b6040805160208101909152806001600160701b0384166dffffffffffffffffffffffffffff60701b607087901b16816108f157fe5b046001600160e01b0316815250905092915050565b6040518060200160405280600081525090565b6040805160208101909152600081529056fe4578616d706c654f7261636c6553696d706c653a20494e56414c49445f544f4b454e4578616d706c654f7261636c6553696d706c653a20504552494f445f4e4f545f454c41505345444669786564506f696e743a204d554c5449504c49434154494f4e5f4f564552464c4f57425343737761704c6962726172793a204944454e544943414c5f414444524553534553a2646970667358221220bbdaf7574ee99daf1bd8eba53a8304cb9372ba5657fdce34071455960a3e0c3364736f6c634300060c0033", "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x9E JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0xA2E62045 GT PUSH2 0x66 JUMPI DUP1 PUSH4 0xA2E62045 EQ PUSH2 0x139 JUMPI DUP1 PUSH4 0xA6BB4539 EQ PUSH2 0x143 JUMPI DUP1 PUSH4 0xB4D1D795 EQ PUSH2 0x14B JUMPI DUP1 PUSH4 0xC5700A02 EQ PUSH2 0x153 JUMPI DUP1 PUSH4 0xD21220A7 EQ PUSH2 0x174 JUMPI PUSH2 0x9E JUMP JUMPDEST DUP1 PUSH4 0xDFE1681 EQ PUSH2 0xA3 JUMPI DUP1 PUSH4 0x3DDAC953 EQ PUSH2 0xC7 JUMPI DUP1 PUSH4 0x5909C0D5 EQ PUSH2 0x105 JUMPI DUP1 PUSH4 0x5A3D5493 EQ PUSH2 0x10D JUMPI DUP1 PUSH4 0x5E6AAF2C EQ PUSH2 0x115 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xAB PUSH2 0x17C JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP3 AND DUP3 MSTORE MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 RETURN JUMPDEST PUSH2 0xF3 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x40 DUP2 LT ISZERO PUSH2 0xDD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 CALLDATALOAD AND SWAP1 PUSH1 0x20 ADD CALLDATALOAD PUSH2 0x1A0 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD SWAP2 DUP3 MSTORE MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 RETURN JUMPDEST PUSH2 0xF3 PUSH2 0x2C1 JUMP JUMPDEST PUSH2 0xF3 PUSH2 0x2C7 JUMP JUMPDEST PUSH2 0x11D PUSH2 0x2CD JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB SWAP1 SWAP3 AND DUP3 MSTORE MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 RETURN JUMPDEST PUSH2 0x141 PUSH2 0x2DC JUMP JUMPDEST STOP JUMPDEST PUSH2 0x11D PUSH2 0x414 JUMP JUMPDEST PUSH2 0xF3 PUSH2 0x423 JUMP JUMPDEST PUSH2 0x15B PUSH2 0x42A JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH4 0xFFFFFFFF SWAP1 SWAP3 AND DUP3 MSTORE MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 RETURN JUMPDEST PUSH2 0xAB PUSH2 0x436 JUMP JUMPDEST PUSH32 0x0 DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO PUSH2 0x218 JUMPI PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 DUP2 ADD SWAP1 SWAP2 MSTORE PUSH1 0x3 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB AND DUP2 MSTORE PUSH2 0x208 SWAP1 PUSH2 0x203 SWAP1 DUP5 PUSH2 0x51A JUMP JUMPDEST PUSH2 0x598 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0x90 SHL SUB AND SWAP1 POP PUSH2 0x2BB JUMP JUMPDEST PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x288 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x22 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x92C PUSH1 0x22 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 DUP2 ADD SWAP1 SWAP2 MSTORE PUSH1 0x4 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB AND DUP2 MSTORE PUSH2 0x2AF SWAP1 PUSH2 0x203 SWAP1 DUP5 PUSH2 0x51A JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0x90 SHL SUB AND SWAP1 POP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x1 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x4 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH2 0x30A PUSH32 0x0 PUSH2 0x59F JUMP JUMPDEST PUSH1 0x2 SLOAD SWAP3 SWAP6 POP SWAP1 SWAP4 POP SWAP2 POP PUSH4 0xFFFFFFFF SWAP1 DUP2 AND DUP3 SUB SWAP1 PUSH3 0x15180 SWAP1 DUP3 AND LT ISZERO PUSH2 0x364 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x27 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x94E PUSH1 0x27 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0x0 SLOAD DUP8 SUB DUP2 PUSH2 0x382 JUMPI INVALID JUMPDEST DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB SWAP1 DUP2 AND SWAP1 SWAP2 MSTORE SWAP1 MLOAD PUSH1 0x3 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT AND SWAP2 SWAP1 SWAP3 AND OR SWAP1 SSTORE PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 DUP2 ADD SWAP1 SWAP2 MSTORE PUSH1 0x1 SLOAD DUP2 SWAP1 PUSH4 0xFFFFFFFF DUP5 AND SWAP1 DUP7 SUB DUP2 PUSH2 0x3C9 JUMPI INVALID JUMPDEST DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB SWAP1 DUP2 AND SWAP1 SWAP2 MSTORE SWAP1 MLOAD PUSH1 0x4 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT AND SWAP2 SWAP1 SWAP3 AND OR SWAP1 SSTORE POP PUSH1 0x0 SWAP3 SWAP1 SWAP3 SSTORE PUSH1 0x1 SSTORE PUSH1 0x2 DUP1 SLOAD PUSH4 0xFFFFFFFF NOT AND PUSH4 0xFFFFFFFF SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x3 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH3 0x15180 DUP2 JUMP JUMPDEST PUSH1 0x2 SLOAD PUSH4 0xFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH32 0x0 DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH2 0x469 DUP6 DUP6 PUSH2 0x76E JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH12 0xFFFFFFFFFFFFFFFFFFFFFFFF NOT PUSH1 0x60 SWAP5 DUP6 SHL DUP2 AND PUSH1 0x20 DUP1 DUP5 ADD SWAP2 SWAP1 SWAP2 MSTORE SWAP4 DUP6 SHL DUP2 AND PUSH1 0x34 DUP4 ADD MSTORE DUP3 MLOAD PUSH1 0x28 DUP2 DUP5 SUB ADD DUP2 MSTORE PUSH1 0x48 DUP4 ADD DUP5 MSTORE DUP1 MLOAD SWAP1 DUP6 ADD KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xF8 SHL SUB NOT PUSH1 0x68 DUP5 ADD MSTORE SWAP11 SWAP1 SWAP5 SHL SWAP1 SWAP4 AND PUSH1 0x69 DUP5 ADD MSTORE PUSH1 0x7D DUP4 ADD SWAP9 SWAP1 SWAP9 MSTORE PUSH32 0xACC1C81CC3E9FB496DA555F6BD67C3A095E579B26C1B580070CC6AFA8F0A94FA PUSH1 0x9D DUP1 DUP5 ADD SWAP2 SWAP1 SWAP2 MSTORE DUP9 MLOAD DUP1 DUP5 SUB SWAP1 SWAP2 ADD DUP2 MSTORE PUSH1 0xBD SWAP1 SWAP3 ADD SWAP1 SWAP8 MSTORE DUP1 MLOAD SWAP7 ADD SWAP6 SWAP1 SWAP6 KECCAK256 SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH2 0x522 PUSH2 0x906 JUMP JUMPDEST PUSH1 0x0 DUP3 ISZERO DUP1 PUSH2 0x548 JUMPI POP POP DUP3 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB AND DUP3 DUP2 MUL SWAP1 DUP4 DUP3 DUP2 PUSH2 0x545 JUMPI INVALID JUMPDEST DIV EQ JUMPDEST PUSH2 0x583 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x23 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x975 PUSH1 0x23 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 DUP2 ADD SWAP1 SWAP2 MSTORE SWAP1 DUP2 MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST MLOAD PUSH1 0x70 SHR SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH2 0x5AC PUSH2 0x84C JUMP JUMPDEST SWAP1 POP DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x5909C0D5 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x5E7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x5FB JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x611 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD PUSH1 0x40 DUP1 MLOAD PUSH4 0x5A3D5493 PUSH1 0xE0 SHL DUP2 MSTORE SWAP1 MLOAD SWAP2 SWAP5 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND SWAP2 PUSH4 0x5A3D5493 SWAP2 PUSH1 0x4 DUP1 DUP3 ADD SWAP3 PUSH1 0x20 SWAP3 SWAP1 SWAP2 SWAP1 DUP3 SWAP1 SUB ADD DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x657 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x66B JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x681 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD PUSH1 0x40 DUP1 MLOAD PUSH4 0x240BC6B PUSH1 0xE2 SHL DUP2 MSTORE SWAP1 MLOAD SWAP2 SWAP4 POP PUSH1 0x0 SWAP2 DUP3 SWAP2 DUP3 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP10 AND SWAP2 PUSH4 0x902F1AC SWAP2 PUSH1 0x4 DUP1 DUP4 ADD SWAP3 PUSH1 0x60 SWAP3 SWAP2 SWAP1 DUP3 SWAP1 SUB ADD DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x6CD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x6E1 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x60 DUP2 LT ISZERO PUSH2 0x6F7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP DUP1 MLOAD PUSH1 0x20 DUP3 ADD MLOAD PUSH1 0x40 SWAP1 SWAP3 ADD MLOAD SWAP1 SWAP5 POP SWAP1 SWAP3 POP SWAP1 POP PUSH4 0xFFFFFFFF DUP1 DUP3 AND SWAP1 DUP6 AND EQ PUSH2 0x764 JUMPI DUP1 DUP5 SUB PUSH4 0xFFFFFFFF DUP2 AND PUSH2 0x731 DUP5 DUP7 PUSH2 0x856 JUMP JUMPDEST MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB AND MUL SWAP7 SWAP1 SWAP7 ADD SWAP6 PUSH4 0xFFFFFFFF DUP2 AND PUSH2 0x752 DUP6 DUP6 PUSH2 0x856 JUMP JUMPDEST MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB AND MUL SWAP6 SWAP1 SWAP6 ADD SWAP5 POP JUMPDEST POP POP POP SWAP2 SWAP4 SWAP1 SWAP3 POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO PUSH2 0x7C2 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x23 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x998 PUSH1 0x23 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND LT PUSH2 0x7E2 JUMPI DUP3 DUP5 PUSH2 0x7E5 JUMP JUMPDEST DUP4 DUP4 JUMPDEST SWAP1 SWAP3 POP SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x845 JUMPI PUSH1 0x40 DUP1 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1C PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x425343737761704C6962726172793A205A45524F5F4144445245535300000000 PUSH1 0x44 DUP3 ADD MSTORE SWAP1 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x64 ADD SWAP1 REVERT JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH4 0xFFFFFFFF TIMESTAMP AND SWAP1 JUMP JUMPDEST PUSH2 0x85E PUSH2 0x919 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0x70 SHL SUB AND GT PUSH2 0x8BC JUMPI PUSH1 0x40 DUP1 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x17 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4669786564506F696E743A204449565F42595F5A45524F000000000000000000 PUSH1 0x44 DUP3 ADD MSTORE SWAP1 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x64 ADD SWAP1 REVERT JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 DUP2 ADD SWAP1 SWAP2 MSTORE DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0x70 SHL SUB DUP5 AND PUSH14 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x70 SHL PUSH1 0x70 DUP8 SWAP1 SHL AND DUP2 PUSH2 0x8F1 JUMPI INVALID JUMPDEST DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB AND DUP2 MSTORE POP SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 DUP2 ADD SWAP1 SWAP2 MSTORE PUSH1 0x0 DUP2 MSTORE SWAP1 JUMP INVALID GASLIMIT PUSH25 0x616D706C654F7261636C6553696D706C653A20494E56414C49 DIFFICULTY 0x5F SLOAD 0x4F 0x4B GASLIMIT 0x4E GASLIMIT PUSH25 0x616D706C654F7261636C6553696D706C653A20504552494F44 0x5F 0x4E 0x4F SLOAD 0x5F GASLIMIT 0x4C COINBASE POP MSTORE8 GASLIMIT DIFFICULTY CHAINID PUSH10 0x786564506F696E743A20 0x4D SSTORE 0x4C SLOAD 0x49 POP 0x4C 0x49 NUMBER COINBASE SLOAD 0x49 0x4F 0x4E 0x5F 0x4F JUMP GASLIMIT MSTORE CHAINID 0x4C 0x4F JUMPI TIMESTAMP MSTORE8 NUMBER PUSH20 0x7761704C6962726172793A204944454E54494341 0x4C 0x5F COINBASE DIFFICULTY DIFFICULTY MSTORE GASLIMIT MSTORE8 MSTORE8 GASLIMIT MSTORE8 LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xBB 0xDA 0xF7 JUMPI 0x4E 0xE9 SWAP14 0xAF SHL 0xD8 0xEB 0xA5 GASPRICE DUP4 DIV 0xCB SWAP4 PUSH19 0xBA5657FDCE34071455960A3E0C3364736F6C63 NUMBER STOP MOD 0xC STOP CALLER ", "sourceMap": "509:2683:4:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;657:31;;;:::i;:::-;;;;-1:-1:-1;;;;;657:31:4;;;;;;;;;;;;;;2825:364;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;2825:364:4;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;735:35;;;:::i;777:::-;;;:::i;907:41::-;;;:::i;:::-;;;;-1:-1:-1;;;;;907:41:4;;;;;;;;;;;;;;1713:1002;;;:::i;:::-;;859:41;;;:::i;576:38::-;;;:::i;819:33::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;695:31;;;:::i;657:::-;;;:::o;2825:364::-;2895:14;2935:6;-1:-1:-1;;;;;2926:15:4;:5;-1:-1:-1;;;;;2926:15:4;;2922:260;;;2970:17;;;;;;;;;:13;:17;-1:-1:-1;;;;;2970:17:4;;;:39;;:27;;2