{
  "abi": [
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "factory_",
          "type": "address"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "inputs": [],
      "name": "factory",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "tokenA",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "tokenB",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "truePriceTokenA",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "truePriceTokenB",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "liquidityAmount",
          "type": "uint256"
        }
      ],
      "name": "getGasCostOfGetLiquidityValueAfterArbitrageToPrice",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "tokenA",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "tokenB",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "liquidityAmount",
          "type": "uint256"
        }
      ],
      "name": "getLiquidityValue",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "tokenAAmount",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "tokenBAmount",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "tokenA",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "tokenB",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "truePriceTokenA",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "truePriceTokenB",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "liquidityAmount",
          "type": "uint256"
        }
      ],
      "name": "getLiquidityValueAfterArbitrageToPrice",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "tokenAAmount",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "tokenBAmount",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "tokenA",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "tokenB",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "truePriceTokenA",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "truePriceTokenB",
          "type": "uint256"
        }
      ],
      "name": "getReservesAfterArbitrage",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "reserveA",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "reserveB",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    }
  ],
  "evm": {
    "bytecode": {
      "linkReferences": {},
      "object": "60a060405234801561001057600080fd5b506040516115613803806115618339818101604052602081101561003357600080fd5b5051606081901b6001600160601b0319166080526001600160a01b03166114e661007b600039806101fa5280610237528061027a52806102b852806102e252506114e66000f3fe608060405234801561001057600080fd5b50600436106100675760003560e01c806380caa3531161005057806380caa3531461011d578063c45a01551461017e578063d9b7a6e7146101af57610067565b80633558e94c1461006c57806369a2fcbd146100ce575b600080fd5b6100b56004803603608081101561008257600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135811691602081013590911690604081013590606001356101f2565b6040805192835260208301919091528051918290030190f35b6100b5600480360360a08110156100e457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020810135909116906040810135906060810135906080013561022f565b61016c600480360360a081101561013357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020810135909116906040810135906060810135906080013561026f565b60408051918252519081900360200190f35b6101866102b6565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b6100b5600480360360608110156101c557600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135811691602081013590911690604001356102da565b6000806102227f000000000000000000000000000000000000000000000000000000000000000087878787610315565b9150915094509492505050565b6000806102607f00000000000000000000000000000000000000000000000000000000000000008888888888610408565b915091505b9550959350505050565b6000805a90506102a37f00000000000000000000000000000000000000000000000000000000000000008888888888610408565b505060005a909103979650505050505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000806103097f00000000000000000000000000000000000000000000000000000000000000008686866106ee565b91509150935093915050565b60008061032387878761096b565b90925090506000610335888888610a53565b90506000831180156103475750600082115b61039c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d815260200180611417602d913960400191505060405180910390fd5b6000806103ac8787878787610ad9565b9150915080600014156103c157505050610265565b81156103e35760006103d582878787610ba4565b9582019590940393506103fb565b60006103f182868887610ba4565b9095039450928301925b5050509550959350505050565b60008060008073ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff1663017e7e586040518163ffffffff1660e01b815260040160206040518083038186803b15801561046a57600080fd5b505afa15801561047e573d6000803e3d6000fd5b505050506040513d602081101561049457600080fd5b505173ffffffffffffffffffffffffffffffffffffffff161415905060006104bd8a8a8a610cb4565b90506000826104cd576000610540565b8173ffffffffffffffffffffffffffffffffffffffff16637464fc3d6040518163ffffffff1660e01b815260040160206040518083038186803b15801561051357600080fd5b505afa158015610527573d6000803e3d6000fd5b505050506040513d602081101561053d57600080fd5b50515b905060008273ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561058a57600080fd5b505afa15801561059e573d6000803e3d6000fd5b505050506040513d60208110156105b457600080fd5b5051604080517f2594ac01000000000000000000000000000000000000000000000000000000008152905191925060009173ffffffffffffffffffffffffffffffffffffffff861691632594ac01916004808301926020929190829003018186803b15801561062257600080fd5b505afa158015610636573d6000803e3d6000fd5b505050506040513d602081101561064c57600080fd5b505190508782108015906106605750600088115b6106b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260278152602001806114b36027913960400191505060405180910390fd5b6000806106c58f8f8f8f8f610315565b915091506106d88282868d8b8a89610d9f565b9850985050505050505050965096945050505050565b6000806000806106ff88888861096b565b915091506000610710898989610cb4565b905060008073ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff1663017e7e586040518163ffffffff1660e01b815260040160206040518083038186803b15801561077157600080fd5b505afa158015610785573d6000803e3d6000fd5b505050506040513d602081101561079b57600080fd5b505173ffffffffffffffffffffffffffffffffffffffff16141590506000816107c5576000610838565b8273ffffffffffffffffffffffffffffffffffffffff16637464fc3d6040518163ffffffff1660e01b815260040160206040518083038186803b15801561080b57600080fd5b505afa15801561081f573d6000803e3d6000fd5b505050506040513d602081101561083557600080fd5b50515b905060008373ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561088257600080fd5b505afa158015610896573d6000803e3d6000fd5b505050506040513d60208110156108ac57600080fd5b5051604080517f2594ac01000000000000000000000000000000000000000000000000000000008152905191925060009173ffffffffffffffffffffffffffffffffffffffff871691632594ac01916004808301926020929190829003018186803b15801561091a57600080fd5b505afa15801561092e573d6000803e3d6000fd5b505050506040513d602081101561094457600080fd5b505190506109578787848d888887610d9f565b985098505050505050505094509492505050565b600080600061097a8585610e6e565b50905060008061098b888888610cb4565b73ffffffffffffffffffffffffffffffffffffffff16630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b1580156109d057600080fd5b505afa1580156109e4573d6000803e3d6000fd5b505050506040513d60608110156109fa57600080fd5b5080516020909101516dffffffffffffffffffffffffffff918216935016905073ffffffffffffffffffffffffffffffffffffffff87811690841614610a41578082610a44565b81815b90999098509650505050505050565b6000610a60848484610cb4565b73ffffffffffffffffffffffffffffffffffffffff1663fef462246040518163ffffffff1660e01b815260040160206040518083038186803b158015610aa557600080fd5b505afa158015610ab9573d6000803e3d6000fd5b505050506040513d6020811015610acf57600080fd5b5051949350505050565b60008086610ae8868887610fc1565b1091506000610af78686611096565b90506000610b3f610b3a610b0d84612710611096565b86610b18578a610b1a565b8b5b610b35896127100389610b2d578e610b2f565b8d5b90611096565b610fc1565b611122565b90506000856127100385610b5e57610b5988612710611096565b610b6a565b610b6a89612710611096565b81610b7157fe5b04905080821015610b8b5760008094509450505050610265565b610b958282611277565b93505050509550959350505050565b6000808511610bfe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260288152602001806114446028913960400191505060405180910390fd5b600084118015610c0e5750600083115b610c63576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602581526020018061148e6025913960400191505060405180910390fd5b6000610c7486612710859003611096565b90506000610c828286611096565b90506000610c9c83610c9689612710611096565b906112e9565b9050808281610ca757fe5b0498975050505050505050565b6000806000610cc38585610e6e565b604080517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606094851b811660208084019190915293851b81166034830152825160288184030181526048830184528051908501207fff0000000000000000000000000000000000000000000000000000000000000060688401529a90941b9093166069840152607d8301989098527febf11a5ce1738ddf1086e3c0584aa70565e589adcd3ad02c105d575dcbe2ca37609d808401919091528851808403909101815260bd909201909752805196019590952095945050505050565b600080848015610daf5750600084115b15610e38576000610dc3610b3a8b8b611096565b90506000610dd086611122565b905080821115610e3557886000610dec6002610b2f8686611277565b90506000610e13610dfe856002611096565b610c96610e0c8b6002611277565b8890611096565b90506000610e22848484610fc1565b9050610e2e8d826112e9565b9c50505050505b50505b86610e438a88611096565b81610e4a57fe5b0487610e568a89611096565b81610e5d57fe5b049150915097509795505050505050565b6000808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415610ef6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602281526020018061146c6022913960400191505060405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1610610f30578284610f33565b83835b909250905073ffffffffffffffffffffffffffffffffffffffff8216610fba57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f4d6f6a69746f4c6962726172793a205a45524f5f414444524553530000000000604482015290519081900360640190fd5b9250929050565b6000806000610fd0868661135b565b9150915060008480610fde57fe5b868809905082811115610ff2576001820391505b9182900391816110105784838161100557fe5b04935050505061108f565b84821061107e57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f46756c6c4d6174683a2046554c4c4449565f4f564552464c4f57000000000000604482015290519081900360640190fd5b6110898383876113a6565b93505050505b9392505050565b60008115806110b1575050808202828282816110ae57fe5b04145b61111c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6d756c2d6f766572666c6f77000000000000000000000000604482015290519081900360640190fd5b92915050565b60008161113157506000611272565b81600170010000000000000000000000000000000082106111575760809190911c9060401b5b6801000000000000000082106111725760409190911c9060201b5b64010000000082106111895760209190911c9060101b5b62010000821061119e5760109190911c9060081b5b61010082106111b25760089190911c9060041b5b601082106111c55760049190911c9060021b5b600882106111d15760011b5b60018185816111dc57fe5b048201901c905060018185816111ee57fe5b048201901c9050600181858161120057fe5b048201901c9050600181858161121257fe5b048201901c9050600181858161122457fe5b048201901c9050600181858161123657fe5b048201901c9050600181858161124857fe5b048201901c9050600081858161125a57fe5b04905080821061126a578061126c565b815b93505050505b919050565b8082038281111561111c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f64732d6d6174682d7375622d756e646572666c6f770000000000000000000000604482015290519081900360640190fd5b8082018281101561111c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6164642d6f766572666c6f77000000000000000000000000604482015290519081900360640190fd5b600080807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8486099050838502925082810391508281101561139e576001820391505b509250929050565b600081810382168083816113b657fe5b0492508085816113c257fe5b0494508081600003816113d157fe5b6002858103808702820302808702820302808702820302808702820302808702820302808702820302958602900390940293046001019390930293909301029291505056fe556e697377617056324172626974726167654c6962726172793a205a45524f5f504149525f52455345525645534d6f6a69746f4c6962726172793a20494e53554646494349454e545f494e5055545f414d4f554e544d6f6a69746f4c6962726172793a204944454e544943414c5f4144445245535345534d6f6a69746f4c6962726172793a20494e53554646494349454e545f4c4951554944495459436f6d707574654c697175696469747956616c75653a204c49515549444954595f414d4f554e54a164736f6c634300060c000a",
      "opcodes": "PUSH1 0xA0 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH2 0x1561 CODESIZE SUB DUP1 PUSH2 0x1561 DUP4 CODECOPY DUP2 DUP2 ADD PUSH1 0x40 MSTORE PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x33 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD PUSH1 0x60 DUP2 SWAP1 SHL PUSH1 0x1 PUSH1 0x1 PUSH1 0x60 SHL SUB NOT AND PUSH1 0x80 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x14E6 PUSH2 0x7B PUSH1 0x0 CODECOPY DUP1 PUSH2 0x1FA MSTORE DUP1 PUSH2 0x237 MSTORE DUP1 PUSH2 0x27A MSTORE DUP1 PUSH2 0x2B8 MSTORE DUP1 PUSH2 0x2E2 MSTORE POP PUSH2 0x14E6 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 0x67 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x80CAA353 GT PUSH2 0x50 JUMPI DUP1 PUSH4 0x80CAA353 EQ PUSH2 0x11D JUMPI DUP1 PUSH4 0xC45A0155 EQ PUSH2 0x17E JUMPI DUP1 PUSH4 0xD9B7A6E7 EQ PUSH2 0x1AF JUMPI PUSH2 0x67 JUMP JUMPDEST DUP1 PUSH4 0x3558E94C EQ PUSH2 0x6C JUMPI DUP1 PUSH4 0x69A2FCBD EQ PUSH2 0xCE JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xB5 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x80 DUP2 LT ISZERO PUSH2 0x82 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 CALLDATALOAD DUP2 AND SWAP2 PUSH1 0x20 DUP2 ADD CALLDATALOAD SWAP1 SWAP2 AND SWAP1 PUSH1 0x40 DUP2 ADD CALLDATALOAD SWAP1 PUSH1 0x60 ADD CALLDATALOAD PUSH2 0x1F2 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD SWAP3 DUP4 MSTORE PUSH1 0x20 DUP4 ADD SWAP2 SWAP1 SWAP2 MSTORE DUP1 MLOAD SWAP2 DUP3 SWAP1 SUB ADD SWAP1 RETURN JUMPDEST PUSH2 0xB5 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0xA0 DUP2 LT ISZERO PUSH2 0xE4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 CALLDATALOAD DUP2 AND SWAP2 PUSH1 0x20 DUP2 ADD CALLDATALOAD SWAP1 SWAP2 AND SWAP1 PUSH1 0x40 DUP2 ADD CALLDATALOAD SWAP1 PUSH1 0x60 DUP2 ADD CALLDATALOAD SWAP1 PUSH1 0x80 ADD CALLDATALOAD PUSH2 0x22F JUMP JUMPDEST PUSH2 0x16C PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0xA0 DUP2 LT ISZERO PUSH2 0x133 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 CALLDATALOAD DUP2 AND SWAP2 PUSH1 0x20 DUP2 ADD CALLDATALOAD SWAP1 SWAP2 AND SWAP1 PUSH1 0x40 DUP2 ADD CALLDATALOAD SWAP1 PUSH1 0x60 DUP2 ADD CALLDATALOAD SWAP1 PUSH1 0x80 ADD CALLDATALOAD PUSH2 0x26F JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD SWAP2 DUP3 MSTORE MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 RETURN JUMPDEST PUSH2 0x186 PUSH2 0x2B6 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP1 SWAP3 AND DUP3 MSTORE MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 RETURN JUMPDEST PUSH2 0xB5 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x60 DUP2 LT ISZERO PUSH2 0x1C5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 CALLDATALOAD DUP2 AND SWAP2 PUSH1 0x20 DUP2 ADD CALLDATALOAD SWAP1 SWAP2 AND SWAP1 PUSH1 0x40 ADD CALLDATALOAD PUSH2 0x2DA JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x222 PUSH32 0x0 DUP8 DUP8 DUP8 DUP8 PUSH2 0x315 JUMP JUMPDEST SWAP2 POP SWAP2 POP SWAP5 POP SWAP5 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x260 PUSH32 0x0 DUP9 DUP9 DUP9 DUP9 DUP9 PUSH2 0x408 JUMP JUMPDEST SWAP2 POP SWAP2 POP JUMPDEST SWAP6 POP SWAP6 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 GAS SWAP1 POP PUSH2 0x2A3 PUSH32 0x0 DUP9 DUP9 DUP9 DUP9 DUP9 PUSH2 0x408 JUMP JUMPDEST POP POP PUSH1 0x0 GAS SWAP1 SWAP2 SUB SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH32 0x0 DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x309 PUSH32 0x0 DUP7 DUP7 DUP7 PUSH2 0x6EE JUMP JUMPDEST SWAP2 POP SWAP2 POP SWAP4 POP SWAP4 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x323 DUP8 DUP8 DUP8 PUSH2 0x96B JUMP JUMPDEST SWAP1 SWAP3 POP SWAP1 POP PUSH1 0x0 PUSH2 0x335 DUP9 DUP9 DUP9 PUSH2 0xA53 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP4 GT DUP1 ISZERO PUSH2 0x347 JUMPI POP PUSH1 0x0 DUP3 GT JUMPDEST PUSH2 0x39C JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x2D DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x1417 PUSH1 0x2D SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x3AC DUP8 DUP8 DUP8 DUP8 DUP8 PUSH2 0xAD9 JUMP JUMPDEST SWAP2 POP SWAP2 POP DUP1 PUSH1 0x0 EQ ISZERO PUSH2 0x3C1 JUMPI POP POP POP PUSH2 0x265 JUMP JUMPDEST DUP2 ISZERO PUSH2 0x3E3 JUMPI PUSH1 0x0 PUSH2 0x3D5 DUP3 DUP8 DUP8 DUP8 PUSH2 0xBA4 JUMP JUMPDEST SWAP6 DUP3 ADD SWAP6 SWAP1 SWAP5 SUB SWAP4 POP PUSH2 0x3FB JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3F1 DUP3 DUP7 DUP9 DUP8 PUSH2 0xBA4 JUMP JUMPDEST SWAP1 SWAP6 SUB SWAP5 POP SWAP3 DUP4 ADD SWAP3 JUMPDEST POP POP POP SWAP6 POP SWAP6 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP10 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x17E7E58 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 0x46A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x47E 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 0x494 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO SWAP1 POP PUSH1 0x0 PUSH2 0x4BD DUP11 DUP11 DUP11 PUSH2 0xCB4 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP3 PUSH2 0x4CD JUMPI PUSH1 0x0 PUSH2 0x540 JUMP JUMPDEST DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x7464FC3D 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 0x513 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x527 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 0x53D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD JUMPDEST SWAP1 POP PUSH1 0x0 DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x18160DDD 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 0x58A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x59E 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 0x5B4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD PUSH1 0x40 DUP1 MLOAD PUSH32 0x2594AC0100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE SWAP1 MLOAD SWAP2 SWAP3 POP PUSH1 0x0 SWAP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP7 AND SWAP2 PUSH4 0x2594AC01 SWAP2 PUSH1 0x4 DUP1 DUP4 ADD SWAP3 PUSH1 0x20 SWAP3 SWAP2 SWAP1 DUP3 SWAP1 SUB ADD DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x622 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x636 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 0x64C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP1 POP DUP8 DUP3 LT DUP1 ISZERO SWAP1 PUSH2 0x660 JUMPI POP PUSH1 0x0 DUP9 GT JUMPDEST PUSH2 0x6B5 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x27 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x14B3 PUSH1 0x27 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x6C5 DUP16 DUP16 DUP16 DUP16 DUP16 PUSH2 0x315 JUMP JUMPDEST SWAP2 POP SWAP2 POP PUSH2 0x6D8 DUP3 DUP3 DUP7 DUP14 DUP12 DUP11 DUP10 PUSH2 0xD9F JUMP JUMPDEST SWAP9 POP SWAP9 POP POP POP POP POP POP POP POP SWAP7 POP SWAP7 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH2 0x6FF DUP9 DUP9 DUP9 PUSH2 0x96B JUMP JUMPDEST SWAP2 POP SWAP2 POP PUSH1 0x0 PUSH2 0x710 DUP10 DUP10 DUP10 PUSH2 0xCB4 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP11 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x17E7E58 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 0x771 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x785 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 0x79B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO SWAP1 POP PUSH1 0x0 DUP2 PUSH2 0x7C5 JUMPI PUSH1 0x0 PUSH2 0x838 JUMP JUMPDEST DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x7464FC3D 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 0x80B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x81F 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 0x835 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD JUMPDEST SWAP1 POP PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x18160DDD 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 0x882 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x896 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 0x8AC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD PUSH1 0x40 DUP1 MLOAD PUSH32 0x2594AC0100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE SWAP1 MLOAD SWAP2 SWAP3 POP PUSH1 0x0 SWAP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP8 AND SWAP2 PUSH4 0x2594AC01 SWAP2 PUSH1 0x4 DUP1 DUP4 ADD SWAP3 PUSH1 0x20 SWAP3 SWAP2 SWAP1 DUP3 SWAP1 SUB ADD DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x91A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x92E 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 0x944 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP1 POP PUSH2 0x957 DUP8 DUP8 DUP5 DUP14 DUP9 DUP9 DUP8 PUSH2 0xD9F JUMP JUMPDEST SWAP9 POP SWAP9 POP POP POP POP POP POP POP POP SWAP5 POP SWAP5 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH2 0x97A DUP6 DUP6 PUSH2 0xE6E JUMP JUMPDEST POP SWAP1 POP PUSH1 0x0 DUP1 PUSH2 0x98B DUP9 DUP9 DUP9 PUSH2 0xCB4 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x902F1AC PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x60 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x9D0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x9E4 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 0x9FA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP DUP1 MLOAD PUSH1 0x20 SWAP1 SWAP2 ADD MLOAD PUSH14 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP2 DUP3 AND SWAP4 POP AND SWAP1 POP PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP8 DUP2 AND SWAP1 DUP5 AND EQ PUSH2 0xA41 JUMPI DUP1 DUP3 PUSH2 0xA44 JUMP JUMPDEST DUP2 DUP2 JUMPDEST SWAP1 SWAP10 SWAP1 SWAP9 POP SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xA60 DUP5 DUP5 DUP5 PUSH2 0xCB4 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xFEF46224 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 0xAA5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xAB9 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 0xACF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP7 PUSH2 0xAE8 DUP7 DUP9 DUP8 PUSH2 0xFC1 JUMP JUMPDEST LT SWAP2 POP PUSH1 0x0 PUSH2 0xAF7 DUP7 DUP7 PUSH2 0x1096 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0xB3F PUSH2 0xB3A PUSH2 0xB0D DUP5 PUSH2 0x2710 PUSH2 0x1096 JUMP JUMPDEST DUP7 PUSH2 0xB18 JUMPI DUP11 PUSH2 0xB1A JUMP JUMPDEST DUP12 JUMPDEST PUSH2 0xB35 DUP10 PUSH2 0x2710 SUB DUP10 PUSH2 0xB2D JUMPI DUP15 PUSH2 0xB2F JUMP JUMPDEST DUP14 JUMPDEST SWAP1 PUSH2 0x1096 JUMP JUMPDEST PUSH2 0xFC1 JUMP JUMPDEST PUSH2 0x1122 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP6 PUSH2 0x2710 SUB DUP6 PUSH2 0xB5E JUMPI PUSH2 0xB59 DUP9 PUSH2 0x2710 PUSH2 0x1096 JUMP JUMPDEST PUSH2 0xB6A JUMP JUMPDEST PUSH2 0xB6A DUP10 PUSH2 0x2710 PUSH2 0x1096 JUMP JUMPDEST DUP2 PUSH2 0xB71 JUMPI INVALID JUMPDEST DIV SWAP1 POP DUP1 DUP3 LT ISZERO PUSH2 0xB8B JUMPI PUSH1 0x0 DUP1 SWAP5 POP SWAP5 POP POP POP POP PUSH2 0x265 JUMP JUMPDEST PUSH2 0xB95 DUP3 DUP3 PUSH2 0x1277 JUMP JUMPDEST SWAP4 POP POP POP POP SWAP6 POP SWAP6 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP6 GT PUSH2 0xBFE JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x28 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x1444 PUSH1 0x28 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP5 GT DUP1 ISZERO PUSH2 0xC0E JUMPI POP PUSH1 0x0 DUP4 GT JUMPDEST PUSH2 0xC63 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x25 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x148E PUSH1 0x25 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0xC74 DUP7 PUSH2 0x2710 DUP6 SWAP1 SUB PUSH2 0x1096 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0xC82 DUP3 DUP7 PUSH2 0x1096 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0xC9C DUP4 PUSH2 0xC96 DUP10 PUSH2 0x2710 PUSH2 0x1096 JUMP JUMPDEST SWAP1 PUSH2 0x12E9 JUMP JUMPDEST SWAP1 POP DUP1 DUP3 DUP2 PUSH2 0xCA7 JUMPI INVALID JUMPDEST DIV SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH2 0xCC3 DUP6 DUP6 PUSH2 0xE6E JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000 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 0xEBF11A5CE1738DDF1086E3C0584AA70565E589ADCD3AD02C105D575DCBE2CA37 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 DUP5 DUP1 ISZERO PUSH2 0xDAF JUMPI POP PUSH1 0x0 DUP5 GT JUMPDEST ISZERO PUSH2 0xE38 JUMPI PUSH1 0x0 PUSH2 0xDC3 PUSH2 0xB3A DUP12 DUP12 PUSH2 0x1096 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0xDD0 DUP7 PUSH2 0x1122 JUMP JUMPDEST SWAP1 POP DUP1 DUP3 GT ISZERO PUSH2 0xE35 JUMPI DUP9 PUSH1 0x0 PUSH2 0xDEC PUSH1 0x2 PUSH2 0xB2F DUP7 DUP7 PUSH2 0x1277 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0xE13 PUSH2 0xDFE DUP6 PUSH1 0x2 PUSH2 0x1096 JUMP JUMPDEST PUSH2 0xC96 PUSH2 0xE0C DUP12 PUSH1 0x2 PUSH2 0x1277 JUMP JUMPDEST DUP9 SWAP1 PUSH2 0x1096 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0xE22 DUP5 DUP5 DUP5 PUSH2 0xFC1 JUMP JUMPDEST SWAP1 POP PUSH2 0xE2E DUP14 DUP3 PUSH2 0x12E9 JUMP JUMPDEST SWAP13 POP POP POP POP POP JUMPDEST POP POP JUMPDEST DUP7 PUSH2 0xE43 DUP11 DUP9 PUSH2 0x1096 JUMP JUMPDEST DUP2 PUSH2 0xE4A JUMPI INVALID JUMPDEST DIV DUP8 PUSH2 0xE56 DUP11 DUP10 PUSH2 0x1096 JUMP JUMPDEST DUP2 PUSH2 0xE5D JUMPI INVALID JUMPDEST DIV SWAP2 POP SWAP2 POP SWAP8 POP SWAP8 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO PUSH2 0xEF6 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x22 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x146C PUSH1 0x22 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND LT PUSH2 0xF30 JUMPI DUP3 DUP5 PUSH2 0xF33 JUMP JUMPDEST DUP4 DUP4 JUMPDEST SWAP1 SWAP3 POP SWAP1 POP PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND PUSH2 0xFBA JUMPI PUSH1 0x40 DUP1 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1B PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4D6F6A69746F4C6962726172793A205A45524F5F414444524553530000000000 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 0x0 DUP1 PUSH1 0x0 PUSH2 0xFD0 DUP7 DUP7 PUSH2 0x135B JUMP JUMPDEST SWAP2 POP SWAP2 POP PUSH1 0x0 DUP5 DUP1 PUSH2 0xFDE JUMPI INVALID JUMPDEST DUP7 DUP9 MULMOD SWAP1 POP DUP3 DUP2 GT ISZERO PUSH2 0xFF2 JUMPI PUSH1 0x1 DUP3 SUB SWAP2 POP JUMPDEST SWAP2 DUP3 SWAP1 SUB SWAP2 DUP2 PUSH2 0x1010 JUMPI DUP5 DUP4 DUP2 PUSH2 0x1005 JUMPI INVALID JUMPDEST DIV SWAP4 POP POP POP POP PUSH2 0x108F JUMP JUMPDEST DUP5 DUP3 LT PUSH2 0x107E JUMPI PUSH1 0x40 DUP1 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1A PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x46756C6C4D6174683A2046554C4C4449565F4F564552464C4F57000000000000 PUSH1 0x44 DUP3 ADD MSTORE SWAP1 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x64 ADD SWAP1 REVERT JUMPDEST PUSH2 0x1089 DUP4 DUP4 DUP8 PUSH2 0x13A6 JUMP JUMPDEST SWAP4 POP POP POP POP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO DUP1 PUSH2 0x10B1 JUMPI POP POP DUP1 DUP3 MUL DUP3 DUP3 DUP3 DUP2 PUSH2 0x10AE JUMPI INVALID JUMPDEST DIV EQ JUMPDEST PUSH2 0x111C JUMPI PUSH1 0x40 DUP1 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x14 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x64732D6D6174682D6D756C2D6F766572666C6F77000000000000000000000000 PUSH1 0x44 DUP3 ADD MSTORE SWAP1 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x64 ADD SWAP1 REVERT JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH2 0x1131 JUMPI POP PUSH1 0x0 PUSH2 0x1272 JUMP JUMPDEST DUP2 PUSH1 0x1 PUSH17 0x100000000000000000000000000000000 DUP3 LT PUSH2 0x1157 JUMPI PUSH1 0x80 SWAP2 SWAP1 SWAP2 SHR SWAP1 PUSH1 0x40 SHL JUMPDEST PUSH9 0x10000000000000000 DUP3 LT PUSH2 0x1172 JUMPI PUSH1 0x40 SWAP2 SWAP1 SWAP2 SHR SWAP1 PUSH1 0x20 SHL JUMPDEST PUSH5 0x100000000 DUP3 LT PUSH2 0x1189 JUMPI PUSH1 0x20 SWAP2 SWAP1 SWAP2 SHR SWAP1 PUSH1 0x10 SHL JUMPDEST PUSH3 0x10000 DUP3 LT PUSH2 0x119E JUMPI PUSH1 0x10 SWAP2 SWAP1 SWAP2 SHR SWAP1 PUSH1 0x8 SHL JUMPDEST PUSH2 0x100 DUP3 LT PUSH2 0x11B2 JUMPI PUSH1 0x8 SWAP2 SWAP1 SWAP2 SHR SWAP1 PUSH1 0x4 SHL JUMPDEST PUSH1 0x10 DUP3 LT PUSH2 0x11C5 JUMPI PUSH1 0x4 SWAP2 SWAP1 SWAP2 SHR SWAP1 PUSH1 0x2 SHL JUMPDEST PUSH1 0x8 DUP3 LT PUSH2 0x11D1 JUMPI PUSH1 0x1 SHL JUMPDEST PUSH1 0x1 DUP2 DUP6 DUP2 PUSH2 0x11DC JUMPI INVALID JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP6 DUP2 PUSH2 0x11EE JUMPI INVALID JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP6 DUP2 PUSH2 0x1200 JUMPI INVALID JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP6 DUP2 PUSH2 0x1212 JUMPI INVALID JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP6 DUP2 PUSH2 0x1224 JUMPI INVALID JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP6 DUP2 PUSH2 0x1236 JUMPI INVALID JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP6 DUP2 PUSH2 0x1248 JUMPI INVALID JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x0 DUP2 DUP6 DUP2 PUSH2 0x125A JUMPI INVALID JUMPDEST DIV SWAP1 POP DUP1 DUP3 LT PUSH2 0x126A JUMPI DUP1 PUSH2 0x126C JUMP JUMPDEST DUP2 JUMPDEST SWAP4 POP POP POP POP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST DUP1 DUP3 SUB DUP3 DUP2 GT ISZERO PUSH2 0x111C JUMPI PUSH1 0x40 DUP1 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x15 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x64732D6D6174682D7375622D756E646572666C6F770000000000000000000000 PUSH1 0x44 DUP3 ADD MSTORE SWAP1 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x64 ADD SWAP1 REVERT JUMPDEST DUP1 DUP3 ADD DUP3 DUP2 LT ISZERO PUSH2 0x111C JUMPI PUSH1 0x40 DUP1 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x14 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x64732D6D6174682D6164642D6F766572666C6F77000000000000000000000000 PUSH1 0x44 DUP3 ADD MSTORE SWAP1 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x64 ADD SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP1 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP5 DUP7 MULMOD SWAP1 POP DUP4 DUP6 MUL SWAP3 POP DUP3 DUP2 SUB SWAP2 POP DUP3 DUP2 LT ISZERO PUSH2 0x139E JUMPI PUSH1 0x1 DUP3 SUB SWAP2 POP JUMPDEST POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 SUB DUP3 AND DUP1 DUP4 DUP2 PUSH2 0x13B6 JUMPI INVALID JUMPDEST DIV SWAP3 POP DUP1 DUP6 DUP2 PUSH2 0x13C2 JUMPI INVALID JUMPDEST DIV SWAP5 POP DUP1 DUP2 PUSH1 0x0 SUB DUP2 PUSH2 0x13D1 JUMPI INVALID JUMPDEST PUSH1 0x2 DUP6 DUP2 SUB DUP1 DUP8 MUL DUP3 SUB MUL DUP1 DUP8 MUL DUP3 SUB MUL DUP1 DUP8 MUL DUP3 SUB MUL DUP1 DUP8 MUL DUP3 SUB MUL DUP1 DUP8 MUL DUP3 SUB MUL DUP1 DUP8 MUL DUP3 SUB MUL SWAP6 DUP7 MUL SWAP1 SUB SWAP1 SWAP5 MUL SWAP4 DIV PUSH1 0x1 ADD SWAP4 SWAP1 SWAP4 MUL SWAP4 SWAP1 SWAP4 ADD MUL SWAP3 SWAP2 POP POP JUMP INVALID SSTORE PUSH15 0x697377617056324172626974726167 PUSH6 0x4C6962726172 PUSH26 0x3A205A45524F5F504149525F52455345525645534D6F6A69746F 0x4C PUSH10 0x62726172793A20494E53 SSTORE CHAINID CHAINID 0x49 NUMBER 0x49 GASLIMIT 0x4E SLOAD 0x5F 0x49 0x4E POP SSTORE SLOAD 0x5F COINBASE 0x4D 0x4F SSTORE 0x4E SLOAD 0x4D PUSH16 0x6A69746F4C6962726172793A20494445 0x4E SLOAD 0x49 NUMBER COINBASE 0x4C 0x5F COINBASE DIFFICULTY DIFFICULTY MSTORE GASLIMIT MSTORE8 MSTORE8 GASLIMIT MSTORE8 0x4D PUSH16 0x6A69746F4C6962726172793A20494E53 SSTORE CHAINID CHAINID 0x49 NUMBER 0x49 GASLIMIT 0x4E SLOAD 0x5F 0x4C 0x49 MLOAD SSTORE 0x49 DIFFICULTY 0x49 SLOAD MSIZE NUMBER PUSH16 0x6D707574654C69717569646974795661 PUSH13 0x75653A204C4951554944495459 0x5F COINBASE 0x4D 0x4F SSTORE 0x4E SLOAD LOG1 PUSH5 0x736F6C6343 STOP MOD 0xC STOP EXP ",
      "sourceMap": "81:2412:13:-:0;;;197:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;197:72:13;244:18;;;;-1:-1:-1;;;;;;244:18:13;;;-1:-1:-1;;;;;81:2412:13;;;;;;;;"
    },
    "deployedBytecode": {
      "immutableReferences": {
        "5725": [
          {
            "length": 32,
            "start": 506
          },
          {
            "length": 32,
            "start": 567
          },
          {
            "length": 32,
            "start": 634
          },
          {
            "length": 32,
            "start": 696
          },
          {
            "length": 32,
            "start": 738
          }
        ]
      },
      "linkReferences": {},
      "object": "608060405234801561001057600080fd5b50600436106100675760003560e01c806380caa3531161005057806380caa3531461011d578063c45a01551461017e578063d9b7a6e7146101af57610067565b80633558e94c1461006c57806369a2fcbd146100ce575b600080fd5b6100b56004803603608081101561008257600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135811691602081013590911690604081013590606001356101f2565b6040805192835260208301919091528051918290030190f35b6100b5600480360360a08110156100e457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020810135909116906040810135906060810135906080013561022f565b61016c600480360360a081101561013357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020810135909116906040810135906060810135906080013561026f565b60408051918252519081900360200190f35b6101866102b6565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b6100b5600480360360608110156101c557600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135811691602081013590911690604001356102da565b6000806102227f000000000000000000000000000000000000000000000000000000000000000087878787610315565b9150915094509492505050565b6000806102607f00000000000000000000000000000000000000000000000000000000000000008888888888610408565b915091505b9550959350505050565b6000805a90506102a37f00000000000000000000000000000000000000000000000000000000000000008888888888610408565b505060005a909103979650505050505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000806103097f00000000000000000000000000000000000000000000000000000000000000008686866106ee565b91509150935093915050565b60008061032387878761096b565b90925090506000610335888888610a53565b90506000831180156103475750600082115b61039c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d815260200180611417602d913960400191505060405180910390fd5b6000806103ac8787878787610ad9565b9150915080600014156103c157505050610265565b81156103e35760006103d582878787610ba4565b9582019590940393506103fb565b60006103f182868887610ba4565b9095039450928301925b5050509550959350505050565b60008060008073ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff1663017e7e586040518163ffffffff1660e01b815260040160206040518083038186803b15801561046a57600080fd5b505afa15801561047e573d6000803e3d6000fd5b505050506040513d602081101561049457600080fd5b505173ffffffffffffffffffffffffffffffffffffffff161415905060006104bd8a8a8a610cb4565b90506000826104cd576000610540565b8173ffffffffffffffffffffffffffffffffffffffff16637464fc3d6040518163ffffffff1660e01b815260040160206040518083038186803b15801561051357600080fd5b505afa158015610527573d6000803e3d6000fd5b505050506040513d602081101561053d57600080fd5b50515b905060008273ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561058a57600080fd5b505afa15801561059e573d6000803e3d6000fd5b505050506040513d60208110156105b457600080fd5b5051604080517f2594ac01000000000000000000000000000000000000000000000000000000008152905191925060009173ffffffffffffffffffffffffffffffffffffffff861691632594ac01916004808301926020929190829003018186803b15801561062257600080fd5b505afa158015610636573d6000803e3d6000fd5b505050506040513d602081101561064c57600080fd5b505190508782108015906106605750600088115b6106b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260278152602001806114b36027913960400191505060405180910390fd5b6000806106c58f8f8f8f8f610315565b915091506106d88282868d8b8a89610d9f565b9850985050505050505050965096945050505050565b6000806000806106ff88888861096b565b915091506000610710898989610cb4565b905060008073ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff1663017e7e586040518163ffffffff1660e01b815260040160206040518083038186803b15801561077157600080fd5b505afa158015610785573d6000803e3d6000fd5b505050506040513d602081101561079b57600080fd5b505173ffffffffffffffffffffffffffffffffffffffff16141590506000816107c5576000610838565b8273ffffffffffffffffffffffffffffffffffffffff16637464fc3d6040518163ffffffff1660e01b815260040160206040518083038186803b15801561080b57600080fd5b505afa15801561081f573d6000803e3d6000fd5b505050506040513d602081101561083557600080fd5b50515b905060008373ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561088257600080fd5b505afa158015610896573d6000803e3d6000fd5b505050506040513d60208110156108ac57600080fd5b5051604080517f2594ac01000000000000000000000000000000000000000000000000000000008152905191925060009173ffffffffffffffffffffffffffffffffffffffff871691632594ac01916004808301926020929190829003018186803b15801561091a57600080fd5b505afa15801561092e573d6000803e3d6000fd5b505050506040513d602081101561094457600080fd5b505190506109578787848d888887610d9f565b985098505050505050505094509492505050565b600080600061097a8585610e6e565b50905060008061098b888888610cb4565b73ffffffffffffffffffffffffffffffffffffffff16630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b1580156109d057600080fd5b505afa1580156109e4573d6000803e3d6000fd5b505050506040513d60608110156109fa57600080fd5b5080516020909101516dffffffffffffffffffffffffffff918216935016905073ffffffffffffffffffffffffffffffffffffffff87811690841614610a41578082610a44565b81815b90999098509650505050505050565b6000610a60848484610cb4565b73ffffffffffffffffffffffffffffffffffffffff1663fef462246040518163ffffffff1660e01b815260040160206040518083038186803b158015610aa557600080fd5b505afa158015610ab9573d6000803e3d6000fd5b505050506040513d6020811015610acf57600080fd5b5051949350505050565b60008086610ae8868887610fc1565b1091506000610af78686611096565b90506000610b3f610b3a610b0d84612710611096565b86610b18578a610b1a565b8b5b610b35896127100389610b2d578e610b2f565b8d5b90611096565b610fc1565b611122565b90506000856127100385610b5e57610b5988612710611096565b610b6a565b610b6a89612710611096565b81610b7157fe5b04905080821015610b8b5760008094509450505050610265565b610b958282611277565b93505050509550959350505050565b6000808511610bfe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260288152602001806114446028913960400191505060405180910390fd5b600084118015610c0e5750600083115b610c63576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602581526020018061148e6025913960400191505060405180910390fd5b6000610c7486612710859003611096565b90506000610c828286611096565b90506000610c9c83610c9689612710611096565b906112e9565b9050808281610ca757fe5b0498975050505050505050565b6000806000610cc38585610e6e565b604080517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606094851b811660208084019190915293851b81166034830152825160288184030181526048830184528051908501207fff0000000000000000000000000000000000000000000000000000000000000060688401529a90941b9093166069840152607d8301989098527febf11a5ce1738ddf1086e3c0584aa70565e589adcd3ad02c105d575dcbe2ca37609d808401919091528851808403909101815260bd909201909752805196019590952095945050505050565b600080848015610daf5750600084115b15610e38576000610dc3610b3a8b8b611096565b90506000610dd086611122565b905080821115610e3557886000610dec6002610b2f8686611277565b90506000610e13610dfe856002611096565b610c96610e0c8b6002611277565b8890611096565b90506000610e22848484610fc1565b9050610e2e8d826112e9565b9c50505050505b50505b86610e438a88611096565b81610e4a57fe5b0487610e568a89611096565b81610e5d57fe5b049150915097509795505050505050565b6000808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415610ef6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602281526020018061146c6022913960400191505060405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1610610f30578284610f33565b83835b909250905073ffffffffffffffffffffffffffffffffffffffff8216610fba57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f4d6f6a69746f4c6962726172793a205a45524f5f414444524553530000000000604482015290519081900360640190fd5b9250929050565b6000806000610fd0868661135b565b9150915060008480610fde57fe5b868809905082811115610ff2576001820391505b9182900391816110105784838161100557fe5b04935050505061108f565b84821061107e57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f46756c6c4d6174683a2046554c4c4449565f4f564552464c4f57000000000000604482015290519081900360640190fd5b6110898383876113a6565b93505050505b9392505050565b60008115806110b1575050808202828282816110ae57fe5b04145b61111c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6d756c2d6f766572666c6f77000000000000000000000000604482015290519081900360640190fd5b92915050565b60008161113157506000611272565b81600170010000000000000000000000000000000082106111575760809190911c9060401b5b6801000000000000000082106111725760409190911c9060201b5b64010000000082106111895760209190911c9060101b5b62010000821061119e5760109190911c9060081b5b61010082106111b25760089190911c9060041b5b601082106111c55760049190911c9060021b5b600882106111d15760011b5b60018185816111dc57fe5b048201901c905060018185816111ee57fe5b048201901c9050600181858161120057fe5b048201901c9050600181858161121257fe5b048201901c9050600181858161122457fe5b048201901c9050600181858161123657fe5b048201901c9050600181858161124857fe5b048201901c9050600081858161125a57fe5b04905080821061126a578061126c565b815b93505050505b919050565b8082038281111561111c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f64732d6d6174682d7375622d756e646572666c6f770000000000000000000000604482015290519081900360640190fd5b8082018281101561111c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6164642d6f766572666c6f77000000000000000000000000604482015290519081900360640190fd5b600080807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8486099050838502925082810391508281101561139e576001820391505b509250929050565b600081810382168083816113b657fe5b0492508085816113c257fe5b0494508081600003816113d157fe5b6002858103808702820302808702820302808702820302808702820302808702820302808702820302958602900390940293046001019390930293909301029291505056fe556e697377617056324172626974726167654c6962726172793a205a45524f5f504149525f52455345525645534d6f6a69746f4c6962726172793a20494e53554646494349454e545f494e5055545f414d4f554e544d6f6a69746f4c6962726172793a204944454e544943414c5f4144445245535345534d6f6a69746f4c6962726172793a20494e53554646494349454e545f4c4951554944495459436f6d707574654c697175696469747956616c75653a204c49515549444954595f414d4f554e54a164736f6c634300060c000a",
      "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x67 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x80CAA353 GT PUSH2 0x50 JUMPI DUP1 PUSH4 0x80CAA353 EQ PUSH2 0x11D JUMPI DUP1 PUSH4 0xC45A0155 EQ PUSH2 0x17E JUMPI DUP1 PUSH4 0xD9B7A6E7 EQ PUSH2 0x1AF JUMPI PUSH2 0x67 JUMP JUMPDEST DUP1 PUSH4 0x3558E94C EQ PUSH2 0x6C JUMPI DUP1 PUSH4 0x69A2FCBD EQ PUSH2 0xCE JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xB5 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x80 DUP2 LT ISZERO PUSH2 0x82 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 CALLDATALOAD DUP2 AND SWAP2 PUSH1 0x20 DUP2 ADD CALLDATALOAD SWAP1 SWAP2 AND SWAP1 PUSH1 0x40 DUP2 ADD CALLDATALOAD SWAP1 PUSH1 0x60 ADD CALLDATALOAD PUSH2 0x1F2 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD SWAP3 DUP4 MSTORE PUSH1 0x20 DUP4 ADD SWAP2 SWAP1 SWAP2 MSTORE DUP1 MLOAD SWAP2 DUP3 SWAP1 SUB ADD SWAP1 RETURN JUMPDEST PUSH2 0xB5 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0xA0 DUP2 LT ISZERO PUSH2 0xE4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 CALLDATALOAD DUP2 AND SWAP2 PUSH1 0x20 DUP2 ADD CALLDATALOAD SWAP1 SWAP2 AND SWAP1 PUSH1 0x40 DUP2 ADD CALLDATALOAD SWAP1 PUSH1 0x60 DUP2 ADD CALLDATALOAD SWAP1 PUSH1 0x80 ADD CALLDATALOAD PUSH2 0x22F JUMP JUMPDEST PUSH2 0x16C PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0xA0 DUP2 LT ISZERO PUSH2 0x133 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 CALLDATALOAD DUP2 AND SWAP2 PUSH1 0x20 DUP2 ADD CALLDATALOAD SWAP1 SWAP2 AND SWAP1 PUSH1 0x40 DUP2 ADD CALLDATALOAD SWAP1 PUSH1 0x60 DUP2 ADD CALLDATALOAD SWAP1 PUSH1 0x80 ADD CALLDATALOAD PUSH2 0x26F JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD SWAP2 DUP3 MSTORE MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 RETURN JUMPDEST PUSH2 0x186 PUSH2 0x2B6 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP1 SWAP3 AND DUP3 MSTORE MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 RETURN JUMPDEST PUSH2 0xB5 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x60 DUP2 LT ISZERO PUSH2 0x1C5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 CALLDATALOAD DUP2 AND SWAP2 PUSH1 0x20 DUP2 ADD CALLDATALOAD SWAP1 SWAP2 AND SWAP1 PUSH1 0x40 ADD CALLDATALOAD PUSH2 0x2DA JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x222 PUSH32 0x0 DUP8 DUP8 DUP8 DUP8 PUSH2 0x315 JUMP JUMPDEST SWAP2 POP SWAP2 POP SWAP5 POP SWAP5 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x260 PUSH32 0x0 DUP9 DUP9 DUP9 DUP9 DUP9 PUSH2 0x408 JUMP JUMPDEST SWAP2 POP SWAP2 POP JUMPDEST SWAP6 POP SWAP6 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 GAS SWAP1 POP PUSH2 0x2A3 PUSH32 0x0 DUP9 DUP9 DUP9 DUP9 DUP9 PUSH2 0x408 JUMP JUMPDEST POP POP PUSH1 0x0 GAS SWAP1 SWAP2 SUB SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH32 0x0 DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x309 PUSH32 0x0 DUP7 DUP7 DUP7 PUSH2 0x6EE JUMP JUMPDEST SWAP2 POP SWAP2 POP SWAP4 POP SWAP4 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x323 DUP8 DUP8 DUP8 PUSH2 0x96B JUMP JUMPDEST SWAP1 SWAP3 POP SWAP1 POP PUSH1 0x0 PUSH2 0x335 DUP9 DUP9 DUP9 PUSH2 0xA53 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP4 GT DUP1 ISZERO PUSH2 0x347 JUMPI POP PUSH1 0x0 DUP3 GT JUMPDEST PUSH2 0x39C JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x2D DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x1417 PUSH1 0x2D SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x3AC DUP8 DUP8 DUP8 DUP8 DUP8 PUSH2 0xAD9 JUMP JUMPDEST SWAP2 POP SWAP2 POP DUP1 PUSH1 0x0 EQ ISZERO PUSH2 0x3C1 JUMPI POP POP POP PUSH2 0x265 JUMP JUMPDEST DUP2 ISZERO PUSH2 0x3E3 JUMPI PUSH1 0x0 PUSH2 0x3D5 DUP3 DUP8 DUP8 DUP8 PUSH2 0xBA4 JUMP JUMPDEST SWAP6 DUP3 ADD SWAP6 SWAP1 SWAP5 SUB SWAP4 POP PUSH2 0x3FB JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3F1 DUP3 DUP7 DUP9 DUP8 PUSH2 0xBA4 JUMP JUMPDEST SWAP1 SWAP6 SUB SWAP5 POP SWAP3 DUP4 ADD SWAP3 JUMPDEST POP POP POP SWAP6 POP SWAP6 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP10 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x17E7E58 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 0x46A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x47E 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 0x494 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO SWAP1 POP PUSH1 0x0 PUSH2 0x4BD DUP11 DUP11 DUP11 PUSH2 0xCB4 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP3 PUSH2 0x4CD JUMPI PUSH1 0x0 PUSH2 0x540 JUMP JUMPDEST DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x7464FC3D 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 0x513 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x527 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 0x53D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD JUMPDEST SWAP1 POP PUSH1 0x0 DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x18160DDD 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 0x58A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x59E 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 0x5B4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD PUSH1 0x40 DUP1 MLOAD PUSH32 0x2594AC0100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE SWAP1 MLOAD SWAP2 SWAP3 POP PUSH1 0x0 SWAP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP7 AND SWAP2 PUSH4 0x2594AC01 SWAP2 PUSH1 0x4 DUP1 DUP4 ADD SWAP3 PUSH1 0x20 SWAP3 SWAP2 SWAP1 DUP3 SWAP1 SUB ADD DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x622 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x636 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 0x64C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP1 POP DUP8 DUP3 LT DUP1 ISZERO SWAP1 PUSH2 0x660 JUMPI POP PUSH1 0x0 DUP9 GT JUMPDEST PUSH2 0x6B5 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x27 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x14B3 PUSH1 0x27 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x6C5 DUP16 DUP16 DUP16 DUP16 DUP16 PUSH2 0x315 JUMP JUMPDEST SWAP2 POP SWAP2 POP PUSH2 0x6D8 DUP3 DUP3 DUP7 DUP14 DUP12 DUP11 DUP10 PUSH2 0xD9F JUMP JUMPDEST SWAP9 POP SWAP9 POP POP POP POP POP POP POP POP SWAP7 POP SWAP7 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH2 0x6FF DUP9 DUP9 DUP9 PUSH2 0x96B JUMP JUMPDEST SWAP2 POP SWAP2 POP PUSH1 0x0 PUSH2 0x710 DUP10 DUP10 DUP10 PUSH2 0xCB4 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP11 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x17E7E58 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 0x771 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x785 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 0x79B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO SWAP1 POP PUSH1 0x0 DUP2 PUSH2 0x7C5 JUMPI PUSH1 0x0 PUSH2 0x838 JUMP JUMPDEST DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x7464FC3D 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 0x80B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x81F 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 0x835 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD JUMPDEST SWAP1 POP PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x18160DDD 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 0x882 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x896 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 0x8AC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD PUSH1 0x40 DUP1 MLOAD PUSH32 0x2594AC0100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE SWAP1 MLOAD SWAP2 SWAP3 POP PUSH1 0x0 SWAP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP8 AND SWAP2 PUSH4 0x2594AC01 SWAP2 PUSH1 0x4 DUP1 DUP4 ADD SWAP3 PUSH1 0x20 SWAP3 SWAP2 SWAP1 DUP3 SWAP1 SUB ADD DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x91A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x92E 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 0x944 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP1 POP PUSH2 0x957 DUP8 DUP8 DUP5 DUP14 DUP9 DUP9 DUP8 PUSH2 0xD9F JUMP JUMPDEST SWAP9 POP SWAP9 POP POP POP POP POP POP POP POP SWAP5 POP SWAP5 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH2 0x97A DUP6 DUP6 PUSH2 0xE6E JUMP JUMPDEST POP SWAP1 POP PUSH1 0x0 DUP1 PUSH2 0x98B DUP9 DUP9 DUP9 PUSH2 0xCB4 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x902F1AC PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x60 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x9D0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x9E4 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 0x9FA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP DUP1 MLOAD PUSH1 0x20 SWAP1 SWAP2 ADD MLOAD PUSH14 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP2 DUP3 AND SWAP4 POP AND SWAP1 POP PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP8 DUP2 AND SWAP1 DUP5 AND EQ PUSH2 0xA41 JUMPI DUP1 DUP3 PUSH2 0xA44 JUMP JUMPDEST DUP2 DUP2 JUMPDEST SWAP1 SWAP10 SWAP1 SWAP9 POP SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xA60 DUP5 DUP5 DUP5 PUSH2 0xCB4 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xFEF46224 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 0xAA5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xAB9 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 0xACF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP7 PUSH2 0xAE8 DUP7 DUP9 DUP8 PUSH2 0xFC1 JUMP JUMPDEST LT SWAP2 POP PUSH1 0x0 PUSH2 0xAF7 DUP7 DUP7 PUSH2 0x1096 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0xB3F PUSH2 0xB3A PUSH2 0xB0D DUP5 PUSH2 0x2710 PUSH2 0x1096 JUMP JUMPDEST DUP7 PUSH2 0xB18 JUMPI DUP11 PUSH2 0xB1A JUMP JUMPDEST DUP12 JUMPDEST PUSH2 0xB35 DUP10 PUSH2 0x2710 SUB DUP10 PUSH2 0xB2D JUMPI DUP15 PUSH2 0xB2F JUMP JUMPDEST DUP14 JUMPDEST SWAP1 PUSH2 0x1096 JUMP JUMPDEST PUSH2 0xFC1 JUMP JUMPDEST PUSH2 0x1122 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP6 PUSH2 0x2710 SUB DUP6 PUSH2 0xB5E JUMPI PUSH2 0xB59 DUP9 PUSH2 0x2710 PUSH2 0x1096 JUMP JUMPDEST PUSH2 0xB6A JUMP JUMPDEST PUSH2 0xB6A DUP10 PUSH2 0x2710 PUSH2 0x1096 JUMP JUMPDEST DUP2 PUSH2 0xB71 JUMPI INVALID JUMPDEST DIV SWAP1 POP DUP1 DUP3 LT ISZERO PUSH2 0xB8B JUMPI PUSH1 0x0 DUP1 SWAP5 POP SWAP5 POP POP POP POP PUSH2 0x265 JUMP JUMPDEST PUSH2 0xB95 DUP3 DUP3 PUSH2 0x1277 JUMP JUMPDEST SWAP4 POP POP POP POP SWAP6 POP SWAP6 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP6 GT PUSH2 0xBFE JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x28 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x1444 PUSH1 0x28 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP5 GT DUP1 ISZERO PUSH2 0xC0E JUMPI POP PUSH1 0x0 DUP4 GT JUMPDEST PUSH2 0xC63 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x25 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x148E PUSH1 0x25 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0xC74 DUP7 PUSH2 0x2710 DUP6 SWAP1 SUB PUSH2 0x1096 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0xC82 DUP3 DUP7 PUSH2 0x1096 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0xC9C DUP4 PUSH2 0xC96 DUP10 PUSH2 0x2710 PUSH2 0x1096 JUMP JUMPDEST SWAP1 PUSH2 0x12E9 JUMP JUMPDEST SWAP1 POP DUP1 DUP3 DUP2 PUSH2 0xCA7 JUMPI INVALID JUMPDEST DIV SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH2 0xCC3 DUP6 DUP6 PUSH2 0xE6E JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000 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 0xEBF11A5CE1738DDF1086E3C0584AA70565E589ADCD3AD02C105D575DCBE2CA37 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 DUP5 DUP1 ISZERO PUSH2 0xDAF JUMPI POP PUSH1 0x0 DUP5 GT JUMPDEST ISZERO PUSH2 0xE38 JUMPI PUSH1 0x0 PUSH2 0xDC3 PUSH2 0xB3A DUP12 DUP12 PUSH2 0x1096 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0xDD0 DUP7 PUSH2 0x1122 JUMP JUMPDEST SWAP1 POP DUP1 DUP3 GT ISZERO PUSH2 0xE35 JUMPI DUP9 PUSH1 0x0 PUSH2 0xDEC PUSH1 0x2 PUSH2 0xB2F DUP7 DUP7 PUSH2 0x1277 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0xE13 PUSH2 0xDFE DUP6 PUSH1 0x2 PUSH2 0x1096 JUMP JUMPDEST PUSH2 0xC96 PUSH2 0xE0C DUP12 PUSH1 0x2 PUSH2 0x1277 JUMP JUMPDEST DUP9 SWAP1 PUSH2 0x1096 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0xE22 DUP5 DUP5 DUP5 PUSH2 0xFC1 JUMP JUMPDEST SWAP1 POP PUSH2 0xE2E DUP14 DUP3 PUSH2 0x12E9 JUMP JUMPDEST SWAP13 POP POP POP POP POP JUMPDEST POP POP JUMPDEST DUP7 PUSH2 0xE43 DUP11 DUP9 PUSH2 0x1096 JUMP JUMPDEST DUP2 PUSH2 0xE4A JUMPI INVALID JUMPDEST DIV DUP8 PUSH2 0xE56 DUP11 DUP10 PUSH2 0x1096 JUMP JUMPDEST DUP2 PUSH2 0xE5D JUMPI INVALID JUMPDEST DIV SWAP2 POP SWAP2 POP SWAP8 POP SWAP8 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO PUSH2 0xEF6 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x22 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x146C PUSH1 0x22 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND LT PUSH2 0xF30 JUMPI DUP3 DUP5 PUSH2 0xF33 JUMP JUMPDEST DUP4 DUP4 JUMPDEST SWAP1 SWAP3 POP SWAP1 POP PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND PUSH2 0xFBA JUMPI PUSH1 0x40 DUP1 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1B PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4D6F6A69746F4C6962726172793A205A45524F5F414444524553530000000000 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 0x0 DUP1 PUSH1 0x0 PUSH2 0xFD0 DUP7 DUP7 PUSH2 0x135B JUMP JUMPDEST SWAP2 POP SWAP2 POP PUSH1 0x0 DUP5 DUP1 PUSH2 0xFDE JUMPI INVALID JUMPDEST DUP7 DUP9 MULMOD SWAP1 POP DUP3 DUP2 GT ISZERO PUSH2 0xFF2 JUMPI PUSH1 0x1 DUP3 SUB SWAP2 POP JUMPDEST SWAP2 DUP3 SWAP1 SUB SWAP2 DUP2 PUSH2 0x1010 JUMPI DUP5 DUP4 DUP2 PUSH2 0x1005 JUMPI INVALID JUMPDEST DIV SWAP4 POP POP POP POP PUSH2 0x108F JUMP JUMPDEST DUP5 DUP3 LT PUSH2 0x107E JUMPI PUSH1 0x40 DUP1 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1A PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x46756C6C4D6174683A2046554C4C4449565F4F564552464C4F57000000000000 PUSH1 0x44 DUP3 ADD MSTORE SWAP1 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x64 ADD SWAP1 REVERT JUMPDEST PUSH2 0x1089 DUP4 DUP4 DUP8 PUSH2 0x13A6 JUMP JUMPDEST SWAP4 POP POP POP POP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO DUP1 PUSH2 0x10B1 JUMPI POP POP DUP1 DUP3 MUL DUP3 DUP3 DUP3 DUP2 PUSH2 0x10AE JUMPI INVALID JUMPDEST DIV EQ JUMPDEST PUSH2 0x111C JUMPI PUSH1 0x40 DUP1 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x14 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x64732D6D6174682D6D756C2D6F766572666C6F77000000000000000000000000 PUSH1 0x44 DUP3 ADD MSTORE SWAP1 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x64 ADD SWAP1 REVERT JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH2 0x1131 JUMPI POP PUSH1 0x0 PUSH2 0x1272 JUMP JUMPDEST DUP2 PUSH1 0x1 PUSH17 0x100000000000000000000000000000000 DUP3 LT PUSH2 0x1157 JUMPI PUSH1 0x80 SWAP2 SWAP1 SWAP2 SHR SWAP1 PUSH1 0x40 SHL JUMPDEST PUSH9 0x10000000000000000 DUP3 LT PUSH2 0x1172 JUMPI PUSH1 0x40 SWAP2 SWAP1 SWAP2 SHR SWAP1 PUSH1 0x20 SHL JUMPDEST PUSH5 0x100000000 DUP3 LT PUSH2 0x1189 JUMPI PUSH1 0x20 SWAP2 SWAP1 SWAP2 SHR SWAP1 PUSH1 0x10 SHL JUMPDEST PUSH3 0x10000 DUP3 LT PUSH2 0x119E JUMPI PUSH1 0x10 SWAP2 SWAP1 SWAP2 SHR SWAP1 PUSH1 0x8 SHL JUMPDEST PUSH2 0x100 DUP3 LT PUSH2 0x11B2 JUMPI PUSH1 0x8 SWAP2 SWAP1 SWAP2 SHR SWAP1 PUSH1 0x4 SHL JUMPDEST PUSH1 0x10 DUP3 LT PUSH2 0x11C5 JUMPI PUSH1 0x4 SWAP2 SWAP1 SWAP2 SHR SWAP1 PUSH1 0x2 SHL JUMPDEST PUSH1 0x8 DUP3 LT PUSH2 0x11D1 JUMPI PUSH1 0x1 SHL JUMPDEST PUSH1 0x1 DUP2 DUP6 DUP2 PUSH2 0x11DC JUMPI INVALID JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP6 DUP2 PUSH2 0x11EE JUMPI INVALID JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP6 DUP2 PUSH2 0x1200 JUMPI INVALID JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP6 DUP2 PUSH2 0x1212 JUMPI INVALID JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP6 DUP2 PUSH2 0x1224 JUMPI INVALID JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP6 DUP2 PUSH2 0x1236 JUMPI INVALID JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP6 DUP2 PUSH2 0x1248 JUMPI INVALID JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x0 DUP2 DUP6 DUP2 PUSH2 0x125A JUMPI INVALID JUMPDEST DIV SWAP1 POP DUP1 DUP3 LT PUSH2 0x126A JUMPI DUP1 PUSH2 0x126C JUMP JUMPDEST DUP2 JUMPDEST SWAP4 POP POP POP POP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST DUP1 DUP3 SUB DUP3 DUP2 GT ISZERO PUSH2 0x111C JUMPI PUSH1 0x40 DUP1 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x15 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x64732D6D6174682D7375622D756E646572666C6F770000000000000000000000 PUSH1 0x44 DUP3 ADD MSTORE SWAP1 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x64 ADD SWAP1 REVERT JUMPDEST DUP1 DUP3 ADD DUP3 DUP2 LT ISZERO PUSH2 0x111C JUMPI PUSH1 0x40 DUP1 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x14 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x64732D6D6174682D6164642D6F766572666C6F77000000000000000000000000 PUSH1 0x44 DUP3 ADD MSTORE SWAP1 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x64 ADD SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP1 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP5 DUP7 MULMOD SWAP1 POP DUP4 DUP6 MUL SWAP3 POP DUP3 DUP2 SUB SWAP2 POP DUP3 DUP2 LT ISZERO PUSH2 0x139E JUMPI PUSH1 0x1 DUP3 SUB SWAP2 POP JUMPDEST POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 SUB DUP3 AND DUP1 DUP4 DUP2 PUSH2 0x13B6 JUMPI INVALID JUMPDEST DIV SWAP3 POP DUP1 DUP6 DUP2 PUSH2 0x13C2 JUMPI INVALID JUMPDEST DIV SWAP5 POP DUP1 DUP2 PUSH1 0x0 SUB DUP2 PUSH2 0x13D1 JUMPI INVALID JUMPDEST PUSH1 0x2 DUP6 DUP2 SUB DUP1 DUP8 MUL DUP3 SUB MUL DUP1 DUP8 MUL DUP3 SUB MUL DUP1 DUP8 MUL DUP3 SUB MUL DUP1 DUP8 MUL DUP3 SUB MUL DUP1 DUP8 MUL DUP3 SUB MUL DUP1 DUP8 MUL DUP3 SUB MUL SWAP6 DUP7 MUL SWAP1 SUB SWAP1 SWAP5 MUL SWAP4 DIV PUSH1 0x1 ADD SWAP4 SWAP1 SWAP4 MUL SWAP4 SWAP1 SWAP4 ADD MUL SWAP3 SWAP2 POP POP JUMP INVALID SSTORE PUSH15 0x697377617056324172626974726167 PUSH6 0x4C6962726172 PUSH26 0x3A205A45524F5F504149525F52455345525645534D6F6A69746F 0x4C PUSH10 0x62726172793A20494E53 SSTORE CHAINID CHAINID 0x49 NUMBER 0x49 GASLIMIT 0x4E SLOAD 0x5F 0x49 0x4E POP SSTORE SLOAD 0x5F COINBASE 0x4D 0x4F SSTORE 0x4E SLOAD 0x4D PUSH16 0x6A69746F4C6962726172793A20494445 0x4E SLOAD 0x49 NUMBER COINBASE 0x4C 0x5F COINBASE DIFFICULTY DIFFICULTY MSTORE GASLIMIT MSTORE8 MSTORE8 GASLIMIT MSTORE8 0x4D PUSH16 0x6A69746F4C6962726172793A20494E53 SSTORE CHAINID CHAINID 0x49 NUMBER 0x49 GASLIMIT 0x4E SLOAD 0x5F 0x4C 0x49 MLOAD SSTORE 0x49 DIFFICULTY 0x49 SLOAD MSIZE NUMBER PUSH16 0x6D707574654C69717569646974795661 PUSH13 0x75653A204C4951554944495459 0x5F COINBASE 0x4D 0x4F SSTORE 0x4E SLOAD LOG1 PUSH5 0x736F6C6343 STOP MOD 0xC STOP EXP ",
      "sourceMap": "81:2412:13:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;339:419;;;;;;;;;;;;;;;;-1:-1:-1;339:419:13;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1274:537;;;;;;;;;;;;;;;;-1:-1:-1;1274:537:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;1884:607::-;;;;;;;;;;;;;;;;-1:-1:-1;1884:607:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;158:32;;;:::i;:::-;;;;;;;;;;;;;;;;;;;820:371;;;;;;;;;;;;;;;;-1:-1:-1;820:371:13;;;;;;;;;;;;;;;;;;:::i;339:419::-;517:16;535;570:181;636:7;657:6;677;697:15;726;570:52;:181::i;:::-;563:188;;;;339:419;;;;;;;:::o;1274:537::-;1507:20;1537;1581:223;1660:7;1681:6;1701;1721:15;1750;1779;1581:65;:223::i;:::-;1574:230;;;;1274:537;;;;;;;;;:::o;1884:607::-;2129:7;2153:14;2170:9;2153:26;;2189:223;2268:7;2289:6;2309;2329:15;2358;2387;2189:65;:223::i;:::-;;;2422:13;2438:9;2464:20;;;;1884:607;-1:-1:-1;;;;;;;1884:607:13:o;158:32::-;;;:::o;820:371::-;966:20;996;1040:144;1098:7;1119:6;1139;1159:15;1040:44;:144::i;:::-;1033:151;;;;820:371;;;;;;:::o;1763:1298:28:-;1966:16;1984;2081:50;2107:7;2116:6;2124;2081:25;:50::i;:::-;2058:73;;-1:-1:-1;2058:73:28;-1:-1:-1;2141:21:28;2165:58;2199:7;2208:6;2216;2165:33;:58::i;:::-;2141:82;;2253:1;2242:8;:12;:28;;;;;2269:1;2258:8;:12;2242:28;2234:86;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2398:9;2409:16;2429:100;2458:15;2475;2492:8;2502;2512:16;2429:28;:100::i;:::-;2397:132;;;;2544:8;2556:1;2544:13;2540:71;;;2573:27;;;;;2540:71;2673:4;2669:386;;;2693:14;2710:74;2737:8;2747;2757;2767:16;2710:26;:74::i;:::-;2798:20;;;;2832:21;;;;-1:-1:-1;2669:386:28;;;2884:14;2901:74;2928:8;2938;2948;2958:16;2901:26;:74::i;:::-;3023:21;;;;-1:-1:-1;2989:20:28;;;;2669:386;1763:1298;;;;;;;;;;;:::o;5344:1047::-;5602:20;5632;5669:10;5725:1;5682:45;;5697:7;5682:29;;;:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5682:31:28;:45;;;;;-1:-1:-1;5737:16:28;5768:46;5790:7;5799:6;5807;5768:21;:46::i;:::-;5737:78;;5825:10;5838:5;:24;;5861:1;5838:24;;;5846:4;:10;;;:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5846:12:28;5838:24;5825:37;;5872:16;5891:4;:16;;;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5891:18:28;5943:23;;;;;;;;5891:18;;-1:-1:-1;5919:21:28;;5943;;;;;;:23;;;;;5891:18;;5943:23;;;;;;;:21;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5943:23:28;;-1:-1:-1;6034:30:28;;;;;;:53;;;6086:1;6068:15;:19;6034:53;6026:105;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6143:14;6159;6177:84;6203:7;6212:6;6220;6228:15;6245;6177:25;:84::i;:::-;6142:119;;;;6279:105;6301:9;6312;6323:11;6336:15;6353:5;6360;6367:16;6279:21;:105::i;:::-;6272:112;;;;;;;;;;;5344:1047;;;;;;;;;:::o;4375:743::-;4537:20;4559;4592:17;4611;4632:50;4658:7;4667:6;4675;4632:25;:50::i;:::-;4591:91;;;;4692:16;4723:46;4745:7;4754:6;4762;4723:21;:46::i;:::-;4692:78;;4780:10;4836:1;4793:45;;4808:7;4793:29;;;:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4793:31:28;:45;;;;;-1:-1:-1;4848:10:28;4793:45;4861:24;;4884:1;4861:24;;;4869:4;:10;;;:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4869:12:28;4861:24;4848:37;;4895:16;4914:4;:16;;;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4914:18:28;4966:23;;;;;;;;4914:18;;-1:-1:-1;4942:21:28;;4966;;;;;;:23;;;;;4914:18;;4966:23;;;;;;;:21;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4966:23:28;;-1:-1:-1;5006:105:28;5028:9;5039;5050:11;5063:15;5080:5;5087;4966:23;5006:21;:105::i;:::-;4999:112;;;;;;;;;;;4375:743;;;;;;;:::o;1230:384:27:-;1323:13;1338;1364:14;1383:26;1394:6;1402;1383:10;:26::i;:::-;1363:46;;;1420:13;1435;1465:32;1473:7;1482:6;1490;1465:7;:32::i;:::-;1453:57;;;:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1453:59:27;;;;;;;1419:93;;;;;-1:-1:-1;1419:93:27;;-1:-1:-1;1545:16:27;;;;;;;;:62;;1588:8;1598;1545:62;;;1565:8;1575;1545:62;1522:85;;;;-1:-1:-1;1230:384:27;-1:-1:-1;;;;;;;1230:384:27:o;1669:224::-;1770:21;1834:32;1842:7;1851:6;1859;1834:7;:32::i;:::-;1822:62;;;:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1822:64:27;;1669:224;-1:-1:-1;;;;1669:224:27:o;642:984:28:-;861:9;872:16;962:15;907:52;923:8;933:15;950:8;907:15;:52::i;:::-;:70;;-1:-1:-1;988:17:28;1008:22;:8;1021;1008:12;:22::i;:::-;988:42;-1:-1:-1;1041:16:28;1060:254;1089:215;1122:20;988:42;1136:5;1122:13;:20::i;:::-;1160:4;:40;;1185:15;1160:40;;;1167:15;1160:40;1218:72;1273:16;1265:5;:24;1219:4;:40;;1244:15;1219:40;;;1226:15;1219:40;1218:46;;:72::i;:::-;1089:15;:215::i;:::-;1060:15;:254::i;:::-;1041:273;;1324:17;1406:16;1398:5;:24;1345:4;:48;;1374:19;:8;1387:5;1374:12;:19::i;:::-;1345:48;;;1352:19;:8;1365:5;1352:12;:19::i;:::-;1344:79;;;;;;1324:99;;1449:9;1438:8;:20;1434:43;;;1468:5;1475:1;1460:17;;;;;;;;;1434:43;1596:23;:8;1609:9;1596:12;:23::i;:::-;1585:34;;642:984;;;;;;;;;;;:::o;2433:549:27:-;2549:14;2594:1;2583:8;:12;2575:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2670:1;2658:9;:13;:31;;;;;2688:1;2675:10;:14;2658:31;2650:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2741:20;2764:38;:8;2777:5;:24;;;2764:12;:38::i;:::-;2741:61;-1:-1:-1;2812:14:27;2829:31;2741:61;2849:10;2829:19;:31::i;:::-;2812:48;-1:-1:-1;2870:16:27;2889:41;2914:15;2889:20;:9;2903:5;2889:13;:20::i;:::-;:24;;:41::i;:::-;2870:60;;2964:11;2952:9;:23;;;;;;;2433:549;-1:-1:-1;;;;;;;;2433:549:27:o;705:470::-;794:12;819:14;835;853:26;864:6;872;853:10;:26::i;:::-;1013:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1003:43;;;;;;919:246;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;909:257;;;;;;;;;705:470;-1:-1:-1;;;;;705:470:27:o;3136:977:28:-;3383:20;3405;3441:5;:18;;;;;3458:1;3450:5;:9;3441:18;3437:561;;;3475:10;3488:41;3504:24;:9;3518;3504:13;:24::i;3488:41::-;3475:54;;3543:14;3560:22;3576:5;3560:15;:22::i;:::-;3543:39;;3608:9;3600:5;:17;3596:392;;;3655:11;3637:15;3702:27;3727:1;3702:20;:5;3712:9;3702;:20::i;:27::-;3684:45;-1:-1:-1;3747:16:28;3766:56;3805:16;:9;3819:1;3805:13;:16::i;:::-;3766:34;3776:23;:16;3797:1;3776:20;:23::i;:::-;3766:5;;:9;:34::i;:56::-;3747:75;;3840:17;3860:52;3876:10;3888;3900:11;3860:15;:52::i;:::-;3840:72;-1:-1:-1;3944:29:28;:11;3840:72;3944:15;:29::i;:::-;3930:43;;3596:392;;;;;3437:561;;;4048:11;4015:30;:9;4029:15;4015:13;:30::i;:::-;:44;;;;;;4094:11;4061:30;:9;4075:15;4061:13;:30::i;:::-;:44;;;;;;4007:99;;;;3136:977;;;;;;;;;;:::o;277:339:27:-;352:14;368;412:6;402:16;;:6;:16;;;;394:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;495:6;486:15;;:6;:15;;;:53;;524:6;532;486:53;;;505:6;513;486:53;467:72;;-1:-1:-1;467:72:27;-1:-1:-1;557:20:27;;;549:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;277:339;;;;;:::o;897:373:8:-;999:7;1019:9;1030;1043:13;1051:1;1054;1043:7;:13::i;:::-;1018:38;;;;1067:10;1093:1;1080:15;;;;;1090:1;1087;1080:15;1067:28;;1114:1;1109:2;:6;1105:18;;;1122:1;1117:6;;;;1105:18;1133:7;;;;;1155:6;1151:24;;1174:1;1170;:5;;;;;;1163:12;;;;;;;1151:24;1198:1;1194;:5;1186:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1247:16;1255:1;1258;1261;1247:7;:16::i;:::-;1240:23;;;;;897:373;;;;;;:::o;420:140:30:-;472:6;498;;;:30;;-1:-1:-1;;513:5:30;;;527:1;522;513:5;522:1;508:15;;;;;:20;498:30;490:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;420:140;;;;:::o;382:1197:5:-;430:7;453:6;449:20;;-1:-1:-1;468:1:5;461:8;;449:20;644:1;667;688:35;682:41;;678:104;;746:3;739:10;;;;;769:2;763:8;678:104;801:19;795:2;:25;791:87;;843:2;836:9;;;;;865:2;859:8;791:87;897:11;891:2;:17;887:79;;931:2;924:9;;;;;953:2;947:8;887:79;985:7;979:2;:13;975:74;;1015:2;1008:9;;;;;1037:1;1031:7;975:74;1068:5;1062:2;:11;1058:71;;1096:1;1089:8;;;;;1117:1;1111:7;1058:71;1148:4;1142:2;:10;1138:70;;1175:1;1168:8;;;;;1196:1;1190:7;1138:70;1227:3;1221:2;:9;1217:47;;1252:1;1246:7;1217:47;1292:1;1286;1282;:5;;;;;;1278:1;:9;1277:16;;1273:20;;1322:1;1316;1312;:5;;;;;;1308:1;:9;1307:16;;1303:20;;1352:1;1346;1342;:5;;;;;;1338:1;:9;1337:16;;1333:20;;1382:1;1376;1372;:5;;;;;;1368:1;:9;1367:16;;1363:20;;1412:1;1406;1402;:5;;;;;;1398:1;:9;1397:16;;1393:20;;1442:1;1436;1432;:5;;;;;;1428:1;:9;1427:16;;1423:20;;1472:1;1466;1462;:5;;;;;;1458:1;:9;1457:16;;1453:20;;1520:10;1537:1;1533;:5;;;;;;1520:18;;1560:2;1556:1;:6;:15;;1569:2;1556:15;;;1565:1;1556:15;1548:24;;;;;382:1197;;;;:::o;287:127:30:-;370:5;;;365:16;;;;357:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;155:126;238:5;;;233:16;;;;225:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;216:206:8;278:9;;;344:2;333:1;330;323:25;310:38;;366:1;362;:5;358:9;;386:1;381:2;:6;377:10;;406:1;401:2;:6;397:18;;;414:1;409:6;;;;397:18;216:206;;;;;;:::o;428:463::-;530:7;568:2;;;564:6;;;569:1;564:6;580:9;;;;;;;604:4;599:9;;;;;;;;;638:4;630;629:5;;628:14;;;;;685:1;:9;;;713:5;;;709:9;;704:14;737:5;;;733:9;;728:14;761:5;;;757:9;;752:14;785:5;;;781:9;;776:14;809:5;;;805:9;;800:14;833:5;;;829:9;;824:14;857:5;;;853:9;;848:14;;;628;;645:1;628:18;623:24;;;;618:29;;;;879:5;;428:463;-1:-1:-1;;428:463:8:o"
    }
  },
  "interface": [
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "factory_",
          "type": "address"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "inputs": [],
      "name": "factory",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "tokenA",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "tokenB",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "truePriceTokenA",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "truePriceTokenB",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "liquidityAmount",
          "type": "uint256"
        }
      ],
      "name": "getGasCostOfGetLiquidityValueAfterArbitrageToPrice",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "tokenA",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "tokenB",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "liquidityAmount",
          "type": "uint256"
        }
      ],
      "name": "getLiquidityValue",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "tokenAAmount",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "tokenBAmount",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "tokenA",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "tokenB",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "truePriceTokenA",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "truePriceTokenB",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "liquidityAmount",
          "type": "uint256"
        }
      ],
      "name": "getLiquidityValueAfterArbitrageToPrice",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "tokenAAmount",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "tokenBAmount",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "tokenA",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "tokenB",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "truePriceTokenA",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "truePriceTokenB",
          "type": "uint256"
        }
      ],
      "name": "getReservesAfterArbitrage",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "reserveA",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "reserveB",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    }
  ],
  "bytecode": "60a060405234801561001057600080fd5b506040516115613803806115618339818101604052602081101561003357600080fd5b5051606081901b6001600160601b0319166080526001600160a01b03166114e661007b600039806101fa5280610237528061027a52806102b852806102e252506114e66000f3fe608060405234801561001057600080fd5b50600436106100675760003560e01c806380caa3531161005057806380caa3531461011d578063c45a01551461017e578063d9b7a6e7146101af57610067565b80633558e94c1461006c57806369a2fcbd146100ce575b600080fd5b6100b56004803603608081101561008257600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135811691602081013590911690604081013590606001356101f2565b6040805192835260208301919091528051918290030190f35b6100b5600480360360a08110156100e457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020810135909116906040810135906060810135906080013561022f565b61016c600480360360a081101561013357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020810135909116906040810135906060810135906080013561026f565b60408051918252519081900360200190f35b6101866102b6565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b6100b5600480360360608110156101c557600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135811691602081013590911690604001356102da565b6000806102227f000000000000000000000000000000000000000000000000000000000000000087878787610315565b9150915094509492505050565b6000806102607f00000000000000000000000000000000000000000000000000000000000000008888888888610408565b915091505b9550959350505050565b6000805a90506102a37f00000000000000000000000000000000000000000000000000000000000000008888888888610408565b505060005a909103979650505050505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000806103097f00000000000000000000000000000000000000000000000000000000000000008686866106ee565b91509150935093915050565b60008061032387878761096b565b90925090506000610335888888610a53565b90506000831180156103475750600082115b61039c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d815260200180611417602d913960400191505060405180910390fd5b6000806103ac8787878787610ad9565b9150915080600014156103c157505050610265565b81156103e35760006103d582878787610ba4565b9582019590940393506103fb565b60006103f182868887610ba4565b9095039450928301925b5050509550959350505050565b60008060008073ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff1663017e7e586040518163ffffffff1660e01b815260040160206040518083038186803b15801561046a57600080fd5b505afa15801561047e573d6000803e3d6000fd5b505050506040513d602081101561049457600080fd5b505173ffffffffffffffffffffffffffffffffffffffff161415905060006104bd8a8a8a610cb4565b90506000826104cd576000610540565b8173ffffffffffffffffffffffffffffffffffffffff16637464fc3d6040518163ffffffff1660e01b815260040160206040518083038186803b15801561051357600080fd5b505afa158015610527573d6000803e3d6000fd5b505050506040513d602081101561053d57600080fd5b50515b905060008273ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561058a57600080fd5b505afa15801561059e573d6000803e3d6000fd5b505050506040513d60208110156105b457600080fd5b5051604080517f2594ac01000000000000000000000000000000000000000000000000000000008152905191925060009173ffffffffffffffffffffffffffffffffffffffff861691632594ac01916004808301926020929190829003018186803b15801561062257600080fd5b505afa158015610636573d6000803e3d6000fd5b505050506040513d602081101561064c57600080fd5b505190508782108015906106605750600088115b6106b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260278152602001806114b36027913960400191505060405180910390fd5b6000806106c58f8f8f8f8f610315565b915091506106d88282868d8b8a89610d9f565b9850985050505050505050965096945050505050565b6000806000806106ff88888861096b565b915091506000610710898989610cb4565b905060008073ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff1663017e7e586040518163ffffffff1660e01b815260040160206040518083038186803b15801561077157600080fd5b505afa158015610785573d6000803e3d6000fd5b505050506040513d602081101561079b57600080fd5b505173ffffffffffffffffffffffffffffffffffffffff16141590506000816107c5576000610838565b8273ffffffffffffffffffffffffffffffffffffffff16637464fc3d6040518163ffffffff1660e01b815260040160206040518083038186803b15801561080b57600080fd5b505afa15801561081f573d6000803e3d6000fd5b505050506040513d602081101561083557600080fd5b50515b905060008373ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561088257600080fd5b505afa158015610896573d6000803e3d6000fd5b505050506040513d60208110156108ac57600080fd5b5051604080517f2594ac01000000000000000000000000000000000000000000000000000000008152905191925060009173ffffffffffffffffffffffffffffffffffffffff871691632594ac01916004808301926020929190829003018186803b15801561091a57600080fd5b505afa15801561092e573d6000803e3d6000fd5b505050506040513d602081101561094457600080fd5b505190506109578787848d888887610d9f565b985098505050505050505094509492505050565b600080600061097a8585610e6e565b50905060008061098b888888610cb4565b73ffffffffffffffffffffffffffffffffffffffff16630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b1580156109d057600080fd5b505afa1580156109e4573d6000803e3d6000fd5b505050506040513d60608110156109fa57600080fd5b5080516020909101516dffffffffffffffffffffffffffff918216935016905073ffffffffffffffffffffffffffffffffffffffff87811690841614610a41578082610a44565b81815b90999098509650505050505050565b6000610a60848484610cb4565b73ffffffffffffffffffffffffffffffffffffffff1663fef462246040518163ffffffff1660e01b815260040160206040518083038186803b158015610aa557600080fd5b505afa158015610ab9573d6000803e3d6000fd5b505050506040513d6020811015610acf57600080fd5b5051949350505050565b60008086610ae8868887610fc1565b1091506000610af78686611096565b90506000610b3f610b3a610b0d84612710611096565b86610b18578a610b1a565b8b5b610b35896127100389610b2d578e610b2f565b8d5b90611096565b610fc1565b611122565b90506000856127100385610b5e57610b5988612710611096565b610b6a565b610b6a89612710611096565b81610b7157fe5b04905080821015610b8b5760008094509450505050610265565b610b958282611277565b93505050509550959350505050565b6000808511610bfe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260288152602001806114446028913960400191505060405180910390fd5b600084118015610c0e5750600083115b610c63576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602581526020018061148e6025913960400191505060405180910390fd5b6000610c7486612710859003611096565b90506000610c828286611096565b90506000610c9c83610c9689612710611096565b906112e9565b9050808281610ca757fe5b0498975050505050505050565b6000806000610cc38585610e6e565b604080517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606094851b811660208084019190915293851b81166034830152825160288184030181526048830184528051908501207fff0000000000000000000000000000000000000000000000000000000000000060688401529a90941b9093166069840152607d8301989098527febf11a5ce1738ddf1086e3c0584aa70565e589adcd3ad02c105d575dcbe2ca37609d808401919091528851808403909101815260bd909201909752805196019590952095945050505050565b600080848015610daf5750600084115b15610e38576000610dc3610b3a8b8b611096565b90506000610dd086611122565b905080821115610e3557886000610dec6002610b2f8686611277565b90506000610e13610dfe856002611096565b610c96610e0c8b6002611277565b8890611096565b90506000610e22848484610fc1565b9050610e2e8d826112e9565b9c50505050505b50505b86610e438a88611096565b81610e4a57fe5b0487610e568a89611096565b81610e5d57fe5b049150915097509795505050505050565b6000808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415610ef6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602281526020018061146c6022913960400191505060405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1610610f30578284610f33565b83835b909250905073ffffffffffffffffffffffffffffffffffffffff8216610fba57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f4d6f6a69746f4c6962726172793a205a45524f5f414444524553530000000000604482015290519081900360640190fd5b9250929050565b6000806000610fd0868661135b565b9150915060008480610fde57fe5b868809905082811115610ff2576001820391505b9182900391816110105784838161100557fe5b04935050505061108f565b84821061107e57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f46756c6c4d6174683a2046554c4c4449565f4f564552464c4f57000000000000604482015290519081900360640190fd5b6110898383876113a6565b93505050505b9392505050565b60008115806110b1575050808202828282816110ae57fe5b04145b61111c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6d756c2d6f766572666c6f77000000000000000000000000604482015290519081900360640190fd5b92915050565b60008161113157506000611272565b81600170010000000000000000000000000000000082106111575760809190911c9060401b5b6801000000000000000082106111725760409190911c9060201b5b64010000000082106111895760209190911c9060101b5b62010000821061119e5760109190911c9060081b5b61010082106111b25760089190911c9060041b5b601082106111c55760049190911c9060021b5b600882106111d15760011b5b60018185816111dc57fe5b048201901c905060018185816111ee57fe5b048201901c9050600181858161120057fe5b048201901c9050600181858161121257fe5b048201901c9050600181858161122457fe5b048201901c9050600181858161123657fe5b048201901c9050600181858161124857fe5b048201901c9050600081858161125a57fe5b04905080821061126a578061126c565b815b93505050505b919050565b8082038281111561111c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f64732d6d6174682d7375622d756e646572666c6f770000000000000000000000604482015290519081900360640190fd5b8082018281101561111c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6164642d6f766572666c6f77000000000000000000000000604482015290519081900360640190fd5b600080807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8486099050838502925082810391508281101561139e576001820391505b509250929050565b600081810382168083816113b657fe5b0492508085816113c257fe5b0494508081600003816113d157fe5b6002858103808702820302808702820302808702820302808702820302808702820302808702820302958602900390940293046001019390930293909301029291505056fe556e697377617056324172626974726167654c6962726172793a205a45524f5f504149525f52455345525645534d6f6a69746f4c6962726172793a20494e53554646494349454e545f494e5055545f414d4f554e544d6f6a69746f4c6962726172793a204944454e544943414c5f4144445245535345534d6f6a69746f4c6962726172793a20494e53554646494349454e545f4c4951554944495459436f6d707574654c697175696469747956616c75653a204c49515549444954595f414d4f554e54a164736f6c634300060c000a"
}