[ { "inputs": [ { "internalType": "string", "name": "_name", "type": "string" }, { "internalType": "address", "name": "_depositToken", "type": "address" }, { "internalType": "address", "name": "_rewardToken", "type": "address" }, { "internalType": "address", "name": "_nativeRewardToken", "type": "address" }, { "components": [ { "internalType": "address", "name": "poolReward", "type": "address" }, { "internalType": "address", "name": "extraReward", "type": "address" }, { "internalType": "address", "name": "token0", "type": "address" }, { "internalType": "address", "name": "token1", "type": "address" } ], "internalType": "struct MasterChefStrategyForLP.SwapPairs", "name": "_swapPairs", "type": "tuple" }, { "internalType": "address", "name": "_stakingContract", "type": "address" }, { "internalType": "uint256", "name": "_pid", "type": "uint256" }, { "internalType": "address", "name": "_voterProxy", "type": "address" }, { "internalType": "address", "name": "_timelock", "type": "address" }, { "components": [ { "internalType": "uint256", "name": "minTokensToReinvest", "type": "uint256" }, { "internalType": "uint256", "name": "adminFeeBips", "type": "uint256" }, { "internalType": "uint256", "name": "devFeeBips", "type": "uint256" }, { "internalType": "uint256", "name": "reinvestRewardBips", "type": "uint256" } ], "internalType": "struct MasterChefStrategy.StrategySettings", "name": "_strategySettings", "type": "tuple" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "account", "type": "address" } ], "name": "AllowDepositor", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "spender", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Approval", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "account", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "Deposit", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "bool", "name": "newValue", "type": "bool" } ], "name": "DepositsEnabled", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "previousOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "token", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "Recovered", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "newTotalDeposits", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "newTotalSupply", "type": "uint256" } ], "name": "Reinvest", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "account", "type": "address" } ], "name": "RemoveDepositor", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "oldValue", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "newValue", "type": "uint256" } ], "name": "UpdateAdminFee", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "oldValue", "type": "address" }, { "indexed": false, "internalType": "address", "name": "newValue", "type": "address" } ], "name": "UpdateDevAddr", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "oldValue", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "newValue", "type": "uint256" } ], "name": "UpdateDevFee", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "oldValue", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "newValue", "type": "uint256" } ], "name": "UpdateMaxTokensToDepositWithoutReinvest", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "oldValue", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "newValue", "type": "uint256" } ], "name": "UpdateMinTokensToReinvest", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "oldValue", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "newValue", "type": "uint256" } ], "name": "UpdateReinvestReward", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "account", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "Withdraw", "type": "event" }, { "inputs": [], "name": "ADMIN_FEE_BIPS", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "DEPOSITS_ENABLED", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "DEV_FEE_BIPS", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "DOMAIN_TYPEHASH", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "MAX_TOKENS_TO_DEPOSIT_WITHOUT_REINVEST", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "MIN_TOKENS_TO_REINVEST", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "PERMIT_TYPEHASH", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "PID", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "REINVEST_REWARD_BIPS", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "VERSION_HASH", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "depositor", "type": "address" } ], "name": "allowDepositor", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" } ], "name": "allowance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "allowedDepositors", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "approve", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "checkReward", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "deposit", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "depositFor", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "depositToken", "outputs": [ { "internalType": "contract IERC20", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "amount", "type": "uint256" }, { "internalType": "uint256", "name": "deadline", "type": "uint256" }, { "internalType": "uint8", "name": "v", "type": "uint8" }, { "internalType": "bytes32", "name": "r", "type": "bytes32" }, { "internalType": "bytes32", "name": "s", "type": "bytes32" } ], "name": "depositWithPermit", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "devAddr", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "estimateDeployedBalance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "estimateReinvestReward", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "extraToken", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "getDepositTokensForShares", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getDomainSeparator", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "getSharesForDepositTokens", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "nonces", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "numberOfAllowedDepositors", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" }, { "internalType": "uint256", "name": "deadline", "type": "uint256" }, { "internalType": "uint8", "name": "v", "type": "uint8" }, { "internalType": "bytes32", "name": "r", "type": "bytes32" }, { "internalType": "bytes32", "name": "s", "type": "bytes32" } ], "name": "permit", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "proxy", "outputs": [ { "internalType": "contract IJoeVoterProxy", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "recoverAVAX", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "tokenAddress", "type": "address" }, { "internalType": "uint256", "name": "tokenAmount", "type": "uint256" } ], "name": "recoverERC20", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "reinvest", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "depositor", "type": "address" } ], "name": "removeDepositor", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "minReturnAmountAccepted", "type": "uint256" }, { "internalType": "bool", "name": "disableDeposits", "type": "bool" } ], "name": "rescueDeployedFunds", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "token", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" } ], "name": "revokeAllowance", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "rewardToken", "outputs": [ { "internalType": "contract IERC20", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "setAllowances", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_extraTokenSwapPair", "type": "address" } ], "name": "setExtraRewardSwapPair", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "stakingContract", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "swapPairExtraReward", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "swapPairRewardToken", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalDeposits", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "dst", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "transfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "src", "type": "address" }, { "internalType": "address", "name": "dst", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "transferFrom", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "newValue", "type": "uint256" } ], "name": "updateAdminFee", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "newValue", "type": "bool" } ], "name": "updateDepositsEnabled", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newValue", "type": "address" } ], "name": "updateDevAddr", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "newValue", "type": "uint256" } ], "name": "updateDevFee", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "newValue", "type": "uint256" } ], "name": "updateMaxTokensToDepositWithoutReinvest", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "newValue", "type": "uint256" } ], "name": "updateMinTokensToReinvest", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "newValue", "type": "uint256" } ], "name": "updateReinvestReward", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "withdraw", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ]
60e0604052600960a0819052685969656c642059616b60b81b60c09081526200002c916000919062001642565b506040805180820190915260038082526216549560ea1b6020909201918252620000599160019162001642565b503480156200006757600080fd5b506040516200650e3803806200650e8339810160408190526200008a91620017fa565b898989898986898787878787876000015188602001518888886000620000b56200026760201b60201c565b600680546001600160a01b0319166001600160a01b03831690811790915560405191925090600090600080516020620064ee833981519152908290a3508851620001079060009060208c019062001642565b50600980546001600160a01b03808b166001600160a01b031992831617909255600a8054928a16928216929092179091556080839052600b8054909116732d580f9cf2fb2d09bc411532988f2afda4e7beff179055620001698787876200026b565b6200017484620004e7565b80516200018190620006fc565b6020810151620001919062000784565b6040810151620001a19062000852565b6060810151620001b1906200090c565b620001bd6001620009c6565b620001c88362000a6e565b7fc7606d21ac05cd309191543e409f0845c016120563783d70e4f41419dc0ef234600080604051620001fc9291906200195c565b60405180910390a15050505050505050506200022084878762000b2860201b60201c565b5050601880546001600160a01b039c8d166001600160a01b031991821617909155601980549a909c169916989098179099555062001cf69c50505050505050505050505050565b3390565b826001600160a01b0316826001600160a01b031614620004b857806001600160a01b0316630dfe16816040518163ffffffff1660e01b815260040160206040518083038186803b158015620002bf57600080fd5b505afa158015620002d4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002fa9190620017dd565b6001600160a01b0316826001600160a01b03161415620003cb57826001600160a01b0316816001600160a01b031663d21220a76040518163ffffffff1660e01b815260040160206040518083038186803b1580156200035857600080fd5b505afa1580156200036d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003939190620017dd565b6001600160a01b031614620003c55760405162461bcd60e51b8152600401620003bc9062001a9a565b60405180910390fd5b620004b8565b806001600160a01b031663d21220a76040518163ffffffff1660e01b815260040160206040518083038186803b1580156200040557600080fd5b505afa1580156200041a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004409190620017dd565b6001600160a01b0316826001600160a01b031614156200049e57826001600160a01b0316816001600160a01b0316630dfe16816040518163ffffffff1660e01b815260040160206040518083038186803b1580156200035857600080fd5b60405162461bcd60e51b8152600401620003bc90620019e7565b601280546001600160a01b039384166001600160a01b0319918216179091556013805492909316911617905550565b6001600160a01b03811615620006dc57600a5460408051630dfe168160e01b815290516001600160a01b0392831692841691630dfe1681916004808301926020929190829003018186803b1580156200053f57600080fd5b505afa15801562000554573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200057a9190620017dd565b6001600160a01b031614156200062557806001600160a01b031663d21220a76040518163ffffffff1660e01b815260040160206040518083038186803b158015620005c457600080fd5b505afa158015620005d9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620005ff9190620017dd565b601580546001600160a01b0319166001600160a01b0392909216919091179055620006bb565b806001600160a01b0316630dfe16816040518163ffffffff1660e01b815260040160206040518083038186803b1580156200065f57600080fd5b505afa15801562000674573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200069a9190620017dd565b601580546001600160a01b0319166001600160a01b03929092169190911790555b601480546001600160a01b0319166001600160a01b038316179055620006f9565b601480546001600160a01b03199081169091556015805490911690555b50565b6200070662000267565b6001600160a01b03166200071962001604565b6001600160a01b031614620007425760405162461bcd60e51b8152600401620003bc9062001b9a565b7f481f79ac3a523b6d6db3c5a720e190e986d1cc1b41adcdf50f9caef849901100600c5482604051620007779291906200195c565b60405180910390a1600c55565b6200078e62000267565b6001600160a01b0316620007a162001604565b6001600160a01b031614620007ca5760405162461bcd60e51b8152600401620003bc9062001b9a565b61271062000804600f54620007f0601154856200161360201b62001c021790919060201c565b6200161360201b62001c021790919060201c565b11156200081057600080fd5b7f3cc372f330f95ac9540626dc8a25f5bf21ba607215a5d58304cb804d446f104a60105482604051620008459291906200195c565b60405180910390a1601055565b6200085c62000267565b6001600160a01b03166200086f62001604565b6001600160a01b031614620008985760405162461bcd60e51b8152600401620003bc9062001b9a565b612710620008be600f54620007f0601054856200161360201b62001c021790919060201c565b1115620008ca57600080fd5b7f2a42303d002f0ba6cfe8259c91d4684443fb0b3de286ba74991175d65172613160115482604051620008ff9291906200195c565b60405180910390a1601155565b6200091662000267565b6001600160a01b03166200092962001604565b6001600160a01b031614620009525760405162461bcd60e51b8152600401620003bc9062001b9a565b61271062000978601154620007f0601054856200161360201b62001c021790919060201c565b11156200098457600080fd5b7fe7f97d51d307dc44045597c9978bec0f842e6bb40d19b9444084cfa30d9ed4f2600f5482604051620009b99291906200195c565b60405180910390a1600f55565b620009d062000267565b6001600160a01b0316620009e362001604565b6001600160a01b03161462000a0c5760405162461bcd60e51b8152600401620003bc9062001b9a565b600e5460ff161515811515141562000a2357600080fd5b600e805460ff19168215151790556040517f7b014ed3854e7f5cb0218d58b3c6ae7d53a68bb0af2f67bfb029ea42c38a7e859062000a6390839062001951565b60405180910390a150565b62000a7862000267565b6001600160a01b031662000a8b62001604565b6001600160a01b03161462000ab45760405162461bcd60e51b8152600401620003bc9062001b9a565b6001600160a01b03811662000add5760405162461bcd60e51b8152600401620003bc906200196a565b6006546040516001600160a01b03808416921690600080516020620064ee83398151915290600090a3600680546001600160a01b0319166001600160a01b0392909216919091179055565b600960009054906101000a90046001600160a01b03166001600160a01b0316630dfe16816040518163ffffffff1660e01b815260040160206040518083038186803b15801562000b7757600080fd5b505afa15801562000b8c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000bb29190620017dd565b6001600160a01b0316826001600160a01b03161415801562000c6f5750600960009054906101000a90046001600160a01b03166001600160a01b031663d21220a76040518163ffffffff1660e01b815260040160206040518083038186803b15801562000c1e57600080fd5b505afa15801562000c33573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000c599190620017dd565b6001600160a01b0316826001600160a01b031614155b156200132d5760408301516001600160a01b031662000ca25760405162461bcd60e51b8152600401620003bc9062001b51565b60608301516001600160a01b031662000ccf5760405162461bcd60e51b8152600401620003bc9062001c2c565b604083810151601680546001600160a01b03199081166001600160a01b0393841617918290556060870151601780549092169084161790558251630dfe168160e01b81529251858316939190921691630dfe168191600480820192602092909190829003018186803b15801562000d4557600080fd5b505afa15801562000d5a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000d809190620017dd565b6001600160a01b0316148062000e1e57506016546040805163d21220a760e01b815290516001600160a01b0380861693169163d21220a7916004808301926020929190829003018186803b15801562000dd857600080fd5b505afa15801562000ded573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000e139190620017dd565b6001600160a01b0316145b62000e3d5760405162461bcd60e51b8152600401620003bc9062001ae6565b600960009054906101000a90046001600160a01b03166001600160a01b0316630dfe16816040518163ffffffff1660e01b815260040160206040518083038186803b15801562000e8c57600080fd5b505afa15801562000ea1573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000ec79190620017dd565b6001600160a01b0316601660009054906101000a90046001600160a01b03166001600160a01b0316630dfe16816040518163ffffffff1660e01b815260040160206040518083038186803b15801562000f1f57600080fd5b505afa15801562000f34573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000f5a9190620017dd565b6001600160a01b03161480620010935750600960009054906101000a90046001600160a01b03166001600160a01b0316630dfe16816040518163ffffffff1660e01b815260040160206040518083038186803b15801562000fba57600080fd5b505afa15801562000fcf573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000ff59190620017dd565b6001600160a01b0316601660009054906101000a90046001600160a01b03166001600160a01b031663d21220a76040518163ffffffff1660e01b815260040160206040518083038186803b1580156200104d57600080fd5b505afa15801562001062573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620010889190620017dd565b6001600160a01b0316145b620010b25760405162461bcd60e51b8152600401620003bc9062001bcf565b600960009054906101000a90046001600160a01b03166001600160a01b031663d21220a76040518163ffffffff1660e01b815260040160206040518083038186803b1580156200110157600080fd5b505afa15801562001116573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200113c9190620017dd565b6001600160a01b0316601760009054906101000a90046001600160a01b03166001600160a01b0316630dfe16816040518163ffffffff1660e01b815260040160206040518083038186803b1580156200119457600080fd5b505afa158015620011a9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620011cf9190620017dd565b6001600160a01b03161480620013085750600960009054906101000a90046001600160a01b03166001600160a01b031663d21220a76040518163ffffffff1660e01b815260040160206040518083038186803b1580156200122f57600080fd5b505afa15801562001244573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200126a9190620017dd565b6001600160a01b0316601760009054906101000a90046001600160a01b03166001600160a01b031663d21220a76040518163ffffffff1660e01b815260040160206040518083038186803b158015620012c257600080fd5b505afa158015620012d7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620012fd9190620017dd565b6001600160a01b0316145b620013275760405162461bcd60e51b8152600401620003bc9062001c75565b620014c0565b600960009054906101000a90046001600160a01b03166001600160a01b0316630dfe16816040518163ffffffff1660e01b815260040160206040518083038186803b1580156200137c57600080fd5b505afa15801562001391573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620013b79190620017dd565b6001600160a01b0316826001600160a01b03161415620013f957600954601780546001600160a01b0319166001600160a01b03909216919091179055620014c0565b600960009054906101000a90046001600160a01b03166001600160a01b031663d21220a76040518163ffffffff1660e01b815260040160206040518083038186803b1580156200144857600080fd5b505afa1580156200145d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620014839190620017dd565b6001600160a01b0316826001600160a01b03161415620014c057600954601680546001600160a01b0319166001600160a01b039092169190911790555b82600001516001600160a01b0316630dfe16816040518163ffffffff1660e01b815260040160206040518083038186803b158015620014fe57600080fd5b505afa15801562001513573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620015399190620017dd565b6001600160a01b0316816001600160a01b03161415620015ff57816001600160a01b031683600001516001600160a01b031663d21220a76040518163ffffffff1660e01b815260040160206040518083038186803b1580156200159b57600080fd5b505afa158015620015b0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620015d69190620017dd565b6001600160a01b031614620015ff5760405162461bcd60e51b8152600401620003bc9062001a3d565b505050565b6006546001600160a01b031690565b6000828201838110156200163b5760405162461bcd60e51b8152600401620003bc90620019b0565b9392505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200168557805160ff1916838001178555620016b5565b82800160010185558215620016b5579182015b82811115620016b557825182559160200191906001019062001698565b50620016c3929150620016c7565b5090565b5b80821115620016c35760008155600101620016c8565b80516001600160a01b0381168114620016f657600080fd5b919050565b6000608082840312156200170d578081fd5b604051608081016001600160401b03811182821017156200172a57fe5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201525092915050565b6000608082840312156200176d578081fd5b604051608081016001600160401b03811182821017156200178a57fe5b6040529050806200179b83620016de565b8152620017ab60208401620016de565b6020820152620017be60408401620016de565b6040820152620017d160608401620016de565b60608201525092915050565b600060208284031215620017ef578081fd5b6200163b82620016de565b6000806000806000806000806000806102008b8d0312156200181a578586fd5b8a516001600160401b038082111562001831578788fd5b818d0191508d601f83011262001845578788fd5b8151818111156200185257fe5b602091506200186a601f8201601f1916830162001cd2565b8181528f838386010111156200187e57898afd5b895b828110156200189d57848101840151828201850152830162001880565b82811115620018ae578a8484840101525b509c50620018c090508d8201620016de565b9a505050620018d260408c01620016de565b9750620018e260608c01620016de565b9650620018f38c60808d016200175b565b9550620019046101008c01620016de565b94506101208b015193506200191d6101408c01620016de565b92506200192e6101608c01620016de565b9150620019408c6101808d01620016fb565b90509295989b9194979a5092959850565b901515815260200190565b918252602082015260400190565b60208082526026908201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160408201526564647265737360d01b606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b6020808252604190820152600080516020620064ce83398151915260408201527f6f6573206e6f7420636f6e7461696e20706f6f6c2072657761726420746f6b656060820152603760f91b608082015260a00190565b6020808252603a908201527f537761702070616972207377617050616972506f6f6c52657761726420646f6560408201527f73206e6f7420636f6e7461696e2072657761726420746f6b656e000000000000606082015260800190565b6020808252603f90820152600080516020620064ce83398151915260408201527f6f6573206e6f7420636f6e7461696e2065636f73797374656d20746f6b656e00606082015260800190565b60208082526045908201527f53776170207061697220737570706c69656420646f6573206e6f74206861766560408201527f207468652072657761726420746f6b656e206173206f6e65206f662069742773606082015264103830b4b960d91b608082015260a00190565b60208082526029908201527f5377617020706169722030206973206e656365737361727920627574206e6f74604082015268081cdd5c1c1b1a595960ba1b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526038908201527f537761702070616972203020737570706c69656420646f6573206e6f74206d6160408201527f74636820746865207061697220696e207175657374696f6e0000000000000000606082015260800190565b60208082526029908201527f5377617020706169722031206973206e656365737361727920627574206e6f74604082015268081cdd5c1c1b1a595960ba1b606082015260800190565b60208082526038908201527f537761702070616972203120737570706c69656420646f6573206e6f74206d6160408201527f74636820746865207061697220696e207175657374696f6e0000000000000000606082015260800190565b6040518181016001600160401b038111828210171562001cee57fe5b604052919050565b60805161479062001d3e600039806107e652806109975280610d6d5280610f0e52806115865280611eb65280612177528061266a52806129755280612ca852506147906000f3fe608060405234801561001057600080fd5b50600436106103af5760003560e01c80638b73e606116101f4578063c4b24a461161011a578063e21ac825116100ad578063ee99205c1161007c578063ee99205c146106fc578063f2fde38b14610704578063f7c618c114610717578063fdb5a03e1461071f576103af565b8063e21ac825146106c6578063eab89a5a146106d9578063ec556889146106ec578063ed24911d146106f4576103af565b8063da09c72c116100e9578063da09c72c14610690578063dbd9a4d414610698578063dd62ed3e146106a0578063dd8ce4d6146106b3576103af565b8063c4b24a461461065a578063c89039c514610662578063cff1b6ef1461066a578063d505accf1461067d576103af565b8063a1a4ddeb11610192578063b52a321f11610161578063b52a321f1461062f578063b6b55f2514610637578063b9e57b801461064a578063bd079f5514610652576103af565b8063a1a4ddeb146105ee578063a8ae2b7c146105f6578063a9059cbb14610609578063ac0d31ff1461061c576103af565b80639291d563116101ce5780639291d563146105b857806395d89b41146105cb57806399729ec1146105d35780639e4e7318146105e6576103af565b80638b73e606146105955780638da5cb5b146105a8578063909ac8f4146105b0576103af565b80634e77ace5116102d9578063789139bc11610277578063818372301161024657806381837230146105545780638432e894146105675780638980f11f1461057a5780638aff733d1461058d576103af565b8063789139bc1461051e5780637ae26773146105265780637d882097146105395780637ecebe0014610541576103af565b80635ea682ea116102b35780635ea682ea146104f35780635eaec0e4146104fb57806370a0823114610503578063715018a614610516576103af565b80634e77ace5146104b85780634ebb7916146104cb5780635e5eee1b146104de576103af565b80632e1a7d4d116103515780633bdc6e72116103205780633bdc6e7214610477578063483c2ef01461047f5780634a970be7146104925780634bebd1e7146104a5576103af565b80632e1a7d4d146104325780632f4f21e21461044757806330adf81f1461045a578063313ce56714610462576103af565b80630f23475d1161038d5780630f23475d1461040757806318160ddd1461040f57806320606b701461041757806323b872dd1461041f576103af565b806306fdde03146103b457806307677111146103d2578063095ea7b3146103e7575b600080fd5b6103bc610727565b6040516103c99190613e5b565b60405180910390f35b6103da6107b5565b6040516103c99190613dd4565b6103fa6103f5366004613aac565b6107bb565b6040516103c99190613dc9565b6103da6107d2565b6103da61083e565b6103da610844565b6103fa61042d3660046139ff565b610868565b610445610440366004613b5d565b610951565b005b610445610455366004613aac565b610a3e565b6103da610a4c565b61046a610a70565b6040516103c99190614652565b6103da610a75565b6103fa61048d36600461398f565b610a7b565b6104456104a0366004613be9565b610a90565b6104456104b336600461398f565b610b28565b6104456104c6366004613ad7565b610c0c565b6104456104d9366004613b5d565b610caa565b6104e6610d56565b6040516103c99190613d1d565b6103da610d65565b6103da610d6b565b6103da61051136600461398f565b610d8f565b610445610dae565b6103da610e37565b6104456105343660046139c7565b610e3d565b6103da610f06565b6103da61054f36600461398f565b610f39565b610445610562366004613b5d565b610f4b565b61044561057536600461398f565b610fca565b610445610588366004613aac565b611000565b6103da611112565b6104456105a336600461398f565b611118565b6104e661121e565b6104e661122d565b6104456105c636600461398f565b61123c565b6103bc6112cf565b6104456105e1366004613b5d565b611329565b6103da6113d7565b6104e66113fb565b610445610604366004613b5d565b61140a565b6103fa610617366004613aac565b6114b2565b61044561062a366004613bc5565b6114bf565b6103fa6116c6565b610445610645366004613b5d565b6116cf565b6103da6116d9565b6103da61171a565b6103da611720565b6104e6611734565b610445610678366004613b5d565b611743565b61044561068b366004613a3f565b6117eb565b6104e66118a0565b6104456118af565b6103da6106ae3660046139c7565b611906565b6103da6106c1366004613b5d565b611931565b6104456106d4366004613b5d565b61196b565b6103da6106e7366004613b5d565b6119ea565b6104e6611a1b565b6103da611a2a565b6104e6611ac1565b61044561071236600461398f565b611ad0565b6104e6611b91565b610445611ba0565b6000805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156107ad5780601f10610782576101008083540402835291602001916107ad565b820191906000526020600020905b81548152906001019060200180831161079057829003601f168201915b505050505081565b60105481565b60006107c8338484611c27565b5060015b92915050565b6000806107dd610f06565b9050600061080a7f0000000000000000000000000000000000000000000000000000000000000000611cdb565b90506000610829610819611ce1565b6108238585611ce7565b90611d21565b90506108358382611d63565b93505050505b90565b60025481565b7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81565b6001600160a01b0383166000818152600360209081526040808320338085529252822054919290919082148015906108a257506000198114155b156109385760006108ce856040518060600160405280602f81526020016146d7602f9139849190611da1565b6001600160a01b03808916600081815260036020908152604080832094891680845294909152908190208490555192935090917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061092e908590613dd4565b60405180910390a3505b610943868686611dcd565b6001925050505b9392505050565b600061095c826119ea565b9050600081116109875760405162461bcd60e51b815260040161097e9061411b565b60405180910390fd5b61099081611eb1565b60006109bb7f0000000000000000000000000000000000000000000000000000000000000000611cdb565b905060006109ca610819611ce1565b6009549091506109ed906001600160a01b0316336109e88685611d63565b611edb565b6109f73385611f7c565b336001600160a01b03167f884edad9ce6fa2440d8a54cc123490eb96d2768479d49ff9c7366125a942436484604051610a309190613dd4565b60405180910390a250505050565b610a488282612056565b5050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b601281565b60075481565b60086020526000908152604090205460ff1681565b6009546040517fd505accf0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063d505accf90610ae590339030908a908a908a908a908a90600401613d55565b600060405180830381600087803b158015610aff57600080fd5b505af1158015610b13573d6000803e3d6000fd5b50505050610b213386612056565b5050505050565b610b30612204565b6001600160a01b0316610b4161121e565b6001600160a01b031614610b675760405162461bcd60e51b815260040161097e906142c6565b6001600160a01b03811660009081526008602052604090205460ff1615610ba05760405162461bcd60e51b815260040161097e90613ff3565b6001600160a01b0381166000908152600860205260409020805460ff19166001908117909155600754610bd291611c02565b6007556040516001600160a01b038216907fc0a1035c16faf8d1304056d92c00edf028f87e62b8235a938f00af9e3c0312c590600090a250565b610c14612204565b6001600160a01b0316610c2561121e565b6001600160a01b031614610c4b5760405162461bcd60e51b815260040161097e906142c6565b600e5460ff1615158115151415610c6157600080fd5b600e805460ff19168215151790556040517f7b014ed3854e7f5cb0218d58b3c6ae7d53a68bb0af2f67bfb029ea42c38a7e8590610c9f908390613dc9565b60405180910390a150565b610cb2612204565b6001600160a01b0316610cc361121e565b6001600160a01b031614610ce95760405162461bcd60e51b815260040161097e906142c6565b60008111610cf657600080fd5b604051339082156108fc029083906000818181858888f19350505050158015610d23573d6000803e3d6000fd5b507f8c1256b8896378cd5044f80c202f9772b9d77dc85c8a6eb51967210b09bfaa28600082604051610c9f929190613d96565b601a546001600160a01b031681565b60115481565b7f000000000000000000000000000000000000000000000000000000000000000081565b6001600160a01b0381166000908152600460205260409020545b919050565b610db6612204565b6001600160a01b0316610dc761121e565b6001600160a01b031614610ded5760405162461bcd60e51b815260040161097e906142c6565b6006546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600680546001600160a01b0319169055565b600d5481565b610e45612204565b6001600160a01b0316610e5661121e565b6001600160a01b031614610e7c5760405162461bcd60e51b815260040161097e906142c6565b60405163095ea7b360e01b81526001600160a01b0383169063095ea7b390610eab908490600090600401613d96565b602060405180830381600087803b158015610ec557600080fd5b505af1158015610ed9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610efd9190613af3565b610a4857600080fd5b600080610f337f000000000000000000000000000000000000000000000000000000000000000030612208565b91505090565b60056020526000908152604090205481565b610f53612204565b6001600160a01b0316610f6461121e565b6001600160a01b031614610f8a5760405162461bcd60e51b815260040161097e906142c6565b7f481f79ac3a523b6d6db3c5a720e190e986d1cc1b41adcdf50f9caef849901100600c5482604051610fbd92919061460c565b60405180910390a1600c55565b600b546001600160a01b03163314610ff45760405162461bcd60e51b815260040161097e90614423565b610ffd816122ab565b50565b611008612204565b6001600160a01b031661101961121e565b6001600160a01b03161461103f5760405162461bcd60e51b815260040161097e906142c6565b6000811161104c57600080fd5b60405163a9059cbb60e01b81526001600160a01b0383169063a9059cbb9061107a9033908590600401613d96565b602060405180830381600087803b15801561109457600080fd5b505af11580156110a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110cc9190613af3565b6110d557600080fd5b7f8c1256b8896378cd5044f80c202f9772b9d77dc85c8a6eb51967210b09bfaa288282604051611106929190613d96565b60405180910390a15050565b600f5481565b611120612204565b6001600160a01b031661113161121e565b6001600160a01b0316146111575760405162461bcd60e51b815260040161097e906142c6565b6000600754116111795760405162461bcd60e51b815260040161097e90613f39565b6001600160a01b03811660009081526008602052604090205460ff1615156001146111b65760405162461bcd60e51b815260040161097e90614152565b6001600160a01b0381166000908152600860205260409020805460ff191690556007546111e4906001611d63565b6007556040516001600160a01b038216907f0e86f6608b536e5339a25b65ff531f5ea91e1313d056ecd4752b35cbd16137d490600090a250565b6006546001600160a01b031690565b6014546001600160a01b031681565b600b546001600160a01b031633146112665760405162461bcd60e51b815260040161097e90614423565b600b546040517fa8e91499ed37682f43cffb045fcc7d379a91e8c9a14e6321877ee34dee564c00916112a5916001600160a01b03909116908490613daf565b60405180910390a1600b80546001600160a01b0319166001600160a01b0392909216919091179055565b60018054604080516020600284861615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156107ad5780601f10610782576101008083540402835291602001916107ad565b611331612204565b6001600160a01b031661134261121e565b6001600160a01b0316146113685760405162461bcd60e51b815260040161097e906142c6565b61271061138c600f5461138660105485611c0290919063ffffffff16565b90611c02565b111561139757600080fd5b7f2a42303d002f0ba6cfe8259c91d4684443fb0b3de286ba74991175d651726131601154826040516113ca92919061460c565b60405180910390a1601155565b7fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc681565b6015546001600160a01b031681565b611412612204565b6001600160a01b031661142361121e565b6001600160a01b0316146114495760405162461bcd60e51b815260040161097e906142c6565b61271061146760115461138660105485611c0290919063ffffffff16565b111561147257600080fd5b7fe7f97d51d307dc44045597c9978bec0f842e6bb40d19b9444084cfa30d9ed4f2600f54826040516114a592919061460c565b60405180910390a1600f55565b60006107c8338484611dcd565b6114c7612204565b6001600160a01b03166114d861121e565b6001600160a01b0316146114fe5760405162461bcd60e51b815260040161097e906142c6565b6009546040516370a0823160e01b81526000916001600160a01b0316906370a082319061152f903090600401613d1d565b60206040518083038186803b15801561154757600080fd5b505afa15801561155b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061157f9190613b75565b90506115aa7f00000000000000000000000000000000000000000000000000000000000000006124c8565b6009546040516370a0823160e01b81526000916001600160a01b0316906370a08231906115db903090600401613d1d565b60206040518083038186803b1580156115f357600080fd5b505afa158015611607573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061162b9190613b75565b9050836116388284611d63565b10156116565760405162461bcd60e51b815260040161097e9061402a565b7fc7606d21ac05cd309191543e409f0845c016120563783d70e4f41419dc0ef23461167f610f06565b60025460405161169092919061460c565b60405180910390a1600e5460ff16151560011480156116b157506001831515145b156116c0576116c06000610c0c565b50505050565b600e5460ff1681565b610ffd3382612056565b6000806116e4611720565b9050600c5481106117125761170a612710610823600f5484611ce790919063ffffffff16565b91505061083b565b600091505090565b600c5481565b60008061172b6125d5565b94505050505090565b6009546001600160a01b031681565b61174b612204565b6001600160a01b031661175c61121e565b6001600160a01b0316146117825760405162461bcd60e51b815260040161097e906142c6565b6127106117a0600f5461138660115485611c0290919063ffffffff16565b11156117ab57600080fd5b7f3cc372f330f95ac9540626dc8a25f5bf21ba607215a5d58304cb804d446f104a601054826040516117de92919061460c565b60405180910390a1601055565b4284101561180b5760405162461bcd60e51b815260040161097e906140e4565b6001600160a01b03871660009081526005602090815260408083208054600181019091559051611866927f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9928c928c928c92918c9101613ddd565b60405160208183030381529060405280519060200120905061188b8882868686612896565b611896888888611c27565b5050505050505050565b600b546001600160a01b031681565b6118b7612204565b6001600160a01b03166118c861121e565b6001600160a01b0316146118ee5760405162461bcd60e51b815260040161097e906142c6565b60405162461bcd60e51b815260040161097e906143ec565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b600061194761193e610f06565b60025490611ce7565b611952575080610da9565b6107cc61195d610f06565b600254610823908590611ce7565b611973612204565b6001600160a01b031661198461121e565b6001600160a01b0316146119aa5760405162461bcd60e51b815260040161097e906142c6565b7fa5dae50539d56dfe1fb5273d883b0c39bc76750a25d036fc5fbd09ad8fd5f57f600d54826040516119dd92919061460c565b60405180910390a1600d55565b60006119f761193e610f06565b611a0357506000610da9565b6107cc600254610823611a14610f06565b8590611ce7565b6019546001600160a01b031681565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60001b6000604051611a5f9190613c77565b6040519081900390207fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6611a9161296c565b30604051602001611aa6959493929190613e11565b60405160208183030381529060405280519060200120905090565b6018546001600160a01b031681565b611ad8612204565b6001600160a01b0316611ae961121e565b6001600160a01b031614611b0f5760405162461bcd60e51b815260040161097e906142c6565b6001600160a01b038116611b355760405162461bcd60e51b815260040161097e90613e6e565b6006546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600680546001600160a01b0319166001600160a01b0392909216919091179055565b600a546001600160a01b031681565b323314611bbf5760405162461bcd60e51b815260040161097e90613ecb565b600080600080611bcd6125d5565b9350935093509350600c54811015611bf75760405162461bcd60e51b815260040161097e90614491565b6116c0828585612970565b60008282018381101561094a5760405162461bcd60e51b815260040161097e90613f02565b6001600160a01b038316611c4d5760405162461bcd60e51b815260040161097e906142fb565b6001600160a01b038216611c735760405162461bcd60e51b815260040161097e9061455c565b6001600160a01b0380841660008181526003602090815260408083209487168084529490915290819020849055517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590611cce908590613dd4565b60405180910390a3505050565b50600090565b61271090565b600082611cf6575060006107cc565b82820282848281611d0357fe5b041461094a5760405162461bcd60e51b815260040161097e90614269565b600061094a83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612ab7565b600061094a83836040518060400160405280601f81526020017f536166654d6174683a207375627472616374696f6e20756e646572666c6f77008152505b60008184841115611dc55760405162461bcd60e51b815260040161097e9190613e5b565b505050900390565b6001600160a01b038216611df35760405162461bcd60e51b815260040161097e90614332565b611e30816040518060600160405280602e815260200161472d602e91396001600160a01b0386166000908152600460205260409020549190611da1565b6001600160a01b038085166000908152600460205260408082209390935590841681522054611e5f9082611c02565b6001600160a01b0380841660008181526004602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611cce908590613dd4565b610ffd7f000000000000000000000000000000000000000000000000000000000000000082612aee565b60405163a9059cbb60e01b81526001600160a01b0384169063a9059cbb90611f099085908590600401613d96565b602060405180830381600087803b158015611f2357600080fd5b505af1158015611f37573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f5b9190613af3565b611f775760405162461bcd60e51b815260040161097e90614087565b505050565b611fb981604051806060016040528060278152602001614706602791396001600160a01b0385166000908152600460205260409020549190611da1565b60046000846001600160a01b03166001600160a01b0316815260200190815260200160002081905550612009816040518060600160405280602781526020016146b0602791396002549190611da1565b6002556040516000906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061204a908590613dd4565b60405180910390a35050565b600e5460ff16151560011461207d5760405162461bcd60e51b815260040161097e906144c8565b600d54156120b5576000806000806120936125d5565b9350935093509350600d548111156120b0576120b0828585612970565b505050505b6009546040517f23b872dd0000000000000000000000000000000000000000000000000000000081526001600160a01b03909116906323b872dd9061210290339030908690600401613d31565b602060405180830381600087803b15801561211c57600080fd5b505af1158015612130573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121549190613af3565b6121705760405162461bcd60e51b815260040161097e9061438f565b600061219b7f0000000000000000000000000000000000000000000000000000000000000000611cdb565b905060006121aa610819611ce1565b90506121c2846121bd6106c18685611d63565b612c01565b6121cb83612c83565b836001600160a01b03167fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c84604051610a309190613dd4565b3390565b6019546018546040517f01e1c48d0000000000000000000000000000000000000000000000000000000081526000926001600160a01b03908116926301e1c48d9261225b92909116908790600401613d96565b60206040518083038186803b15801561227357600080fd5b505afa158015612287573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061094a9190613b75565b6001600160a01b038116156124a957600a54604080517f0dfe168100000000000000000000000000000000000000000000000000000000815290516001600160a01b0392831692841691630dfe1681916004808301926020929190829003018186803b15801561231a57600080fd5b505afa15801561232e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061235291906139ab565b6001600160a01b031614156123f757806001600160a01b031663d21220a76040518163ffffffff1660e01b815260040160206040518083038186803b15801561239a57600080fd5b505afa1580156123ae573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123d291906139ab565b601580546001600160a01b0319166001600160a01b0392909216919091179055612489565b806001600160a01b0316630dfe16816040518163ffffffff1660e01b815260040160206040518083038186803b15801561243057600080fd5b505afa158015612444573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061246891906139ab565b601580546001600160a01b0319166001600160a01b03929092169190911790555b601480546001600160a01b0319166001600160a01b038316179055610ffd565b601480546001600160a01b031990811690915560158054909116905550565b60095460195460405163095ea7b360e01b81526001600160a01b039283169263095ea7b3926124ff92911690600090600401613d96565b602060405180830381600087803b15801561251957600080fd5b505af115801561252d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125519190613af3565b506019546018546009546040517fd2cee46f0000000000000000000000000000000000000000000000000000000081526001600160a01b039384169363d2cee46f936125a79387939183169216906004016145c8565b600060405180830381600087803b1580156125c157600080fd5b505af1158015610b21573d6000803e3d6000fd5b6012546040516370a0823160e01b815260009182918291829182916001600160a01b0316906370a082319061260e903090600401613d1d565b60206040518083038186803b15801561262657600080fd5b505afa15801561263a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061265e9190613b75565b9050600080600061268f7f000000000000000000000000000000000000000000000000000000000000000030612ccd565b9194509250905060006126a28585611c02565b600a546012549192506000916001600160a01b03908116911614156126c757846126ec565b601254600a546013546126ec9285926001600160a01b03918216929082169116612d89565b905060006001600160a01b038416156127eb576001600160a01b03841673b31f66aa3c1e785363f0875a1b74e27b85fd66c7141561272b5750836127eb565b6014546001600160a01b0316156127eb576015546040516370a0823160e01b81526127c5916001600160a01b0316906370a082319061276e903090600401613d1d565b60206040518083038186803b15801561278657600080fd5b505afa15801561279a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127be9190613b75565b8690611c02565b600a546014549196506127e891879187916001600160a01b039182169116612d89565b90505b600a546040516370a0823160e01b81526000916128729184916001600160a01b0316906370a0823190612822903090600401613d1d565b60206040518083038186803b15801561283a57600080fd5b505afa15801561284e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113869190613b75565b905060006128808285611c02565b949d969c50909a50929850939650505050505050565b60006128a0611a2a565b856040516020016128b2929190613ce7565b6040516020818303038152906040528051906020012090506000600182868686604051600081526020016040526040516128ef9493929190613e3d565b6020604051602081039080840390855afa158015612911573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116158015906129475750866001600160a01b0316816001600160a01b0316145b6129635760405162461bcd60e51b815260040161097e90613f96565b50505050505050565b4690565b6129997f0000000000000000000000000000000000000000000000000000000000000000612e56565b60006129ae6129a784612eab565b8590611c02565b90506129c46129bd8584612ef3565b8290611c02565b5060006129e261271061082360115485611ce790919063ffffffff16565b90508015612a0757600a54600b54612a07916001600160a01b03908116911683611edb565b6000612a24612710610823600f5486611ce790919063ffffffff16565b90508015612a4357600a54612a43906001600160a01b03163383611edb565b6000612a61612a5c83612a568787611d63565b90611d63565b613046565b9050612a6c81612c83565b7fc7606d21ac05cd309191543e409f0845c016120563783d70e4f41419dc0ef234612a95610f06565b600254604051612aa692919061460c565b60405180910390a150505050505050565b60008183612ad85760405162461bcd60e51b815260040161097e9190613e5b565b506000838581612ae457fe5b0495945050505050565b6019546018546009546040517fa318c1a40000000000000000000000000000000000000000000000000000000081526001600160a01b039384169363a318c1a493612b4593889391831692169087906004016145e7565b600060405180830381600087803b158015612b5f57600080fd5b505af1158015612b73573d6000803e3d6000fd5b50506019546018546015546040517fbb51e89f0000000000000000000000000000000000000000000000000000000081526001600160a01b03938416955063bb51e89f9450612bcb93889381169216906004016145c8565b600060405180830381600087803b158015612be557600080fd5b505af1158015612bf9573d6000803e3d6000fd5b505050505050565b600254612c0e9082611c02565b6002556001600160a01b038216600090815260046020526040902054612c349082611c02565b6001600160a01b0383166000818152600460205260408082209390935591519091907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061204a908590613dd4565b60008111612ca35760405162461bcd60e51b815260040161097e9061420c565b610ffd7f000000000000000000000000000000000000000000000000000000000000000082613075565b6019546018546040517f6099ecb2000000000000000000000000000000000000000000000000000000008152600092839283928392839283926001600160a01b0392831692636099ecb292612d29929116908c90600401613d96565b60606040518083038186803b158015612d4157600080fd5b505afa158015612d55573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d799190613b8d565b919a919950975095505050505050565b600080612d9685856130e9565b509050600080846001600160a01b0316630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b158015612dd557600080fd5b505afa158015612de9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e0d9190613b0f565b5091509150866001600160a01b0316836001600160a01b031614612e2d57905b612e4a88836001600160701b0316836001600160701b031661311a565b98975050505050505050565b6019546018546015546040517f6f7b2a620000000000000000000000000000000000000000000000000000000081526001600160a01b0393841693636f7b2a62936125a79387939183169216906004016145c8565b601254600a546000916001600160a01b0391821691161415612ece575080610da9565b601254600a546013546107cc9285926001600160a01b03918216929082169116613162565b6000811561303d576014546001600160a01b031615612f3857601554600a54601454612f319285926001600160a01b03918216929082169116613162565b90506107cc565b478015612fa85773b31f66aa3c1e785363f0875a1b74e27b85fd66c76001600160a01b031663d0e30db0826040518263ffffffff1660e01b81526004016000604051808303818588803b158015612f8e57600080fd5b505af1158015612fa2573d6000803e3d6000fd5b50505050505b6040516370a0823160e01b815261303590859073b31f66aa3c1e785363f0875a1b74e27b85fd66c7906370a0823190612fe5903090600401613d1d565b60206040518083038186803b158015612ffd57600080fd5b505afa158015613011573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a569190613b75565b9150506107cc565b50600092915050565b600a546009546016546017546000936107cc9386936001600160a01b03928316939183169290811691166132f5565b601954600954613092916001600160a01b0391821691168361346f565b6019546018546009546040517fe4cca4b00000000000000000000000000000000000000000000000000000000081526001600160a01b039384169363e4cca4b093612b4593889391831692169087906004016145e7565b600080826001600160a01b0316846001600160a01b03161061310c57828461310f565b83835b915091509250929050565b600080613129856103e5611ce7565b905060006131378285611ce7565b9050600061314b83611386886103e8611ce7565b90506131578282611d21565b979650505050505050565b60008061316f85856130e9565b509050600080846001600160a01b0316630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b1580156131ae57600080fd5b505afa1580156131c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131e69190613b0f565b5091509150866001600160a01b0316836001600160a01b03161461320657905b6000806132268a856001600160701b0316856001600160701b031661311a565b9050886001600160a01b0316856001600160a01b03161461324357905b61324e89888c6134f2565b604080516000815260208101918290527f022c0d9f000000000000000000000000000000000000000000000000000000009091526001600160a01b0388169063022c0d9f906132a6908590859030906024810161461a565b600060405180830381600087803b1580156132c057600080fd5b505af11580156132d4573d6000803e3d6000fd5b505050508181116132e557816132e7565b805b9a9950505050505050505050565b600080613303876002611d21565b9050600081116133255760405162461bcd60e51b815260040161097e906141af565b6000856001600160a01b0316630dfe16816040518163ffffffff1660e01b815260040160206040518083038186803b15801561336057600080fd5b505afa158015613374573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061339891906139ab565b9050816001600160a01b03888116908316146133bd576133ba83898489613162565b90505b6000876001600160a01b031663d21220a76040518163ffffffff1660e01b815260040160206040518083038186803b1580156133f857600080fd5b505afa15801561340c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061343091906139ab565b9050836001600160a01b038a81169083161461345557613452858b848a613162565b90505b61346089848361358e565b9b9a5050505050505050505050565b611f778363a9059cbb60e01b848460405160240161348e929190613d96565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909316929092179091526137e2565b60405163a9059cbb60e01b81526001600160a01b0384169063a9059cbb906135209085908590600401613d96565b602060405180830381600087803b15801561353a57600080fd5b505af115801561354e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906135729190613af3565b611f775760405162461bcd60e51b815260040161097e90614593565b6000806000856001600160a01b0316630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b1580156135cc57600080fd5b505afa1580156135e0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906136049190613b0f565b5091509150600061362886846001600160701b0316846001600160701b0316613871565b9050848111156136555784905061365285836001600160701b0316856001600160701b0316613871565b95505b6136d0876001600160a01b0316630dfe16816040518163ffffffff1660e01b815260040160206040518083038186803b15801561369157600080fd5b505afa1580156136a5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906136c991906139ab565b88886134f2565b61374b876001600160a01b031663d21220a76040518163ffffffff1660e01b815260040160206040518083038186803b15801561370c57600080fd5b505afa158015613720573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061374491906139ab565b88836134f2565b6040517f6a6278420000000000000000000000000000000000000000000000000000000081526001600160a01b03881690636a62784290613790903090600401613d1d565b602060405180830381600087803b1580156137aa57600080fd5b505af11580156137be573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131579190613b75565b6060613837826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166138899092919063ffffffff16565b805190915015611f7757808060200190518101906138559190613af3565b611f775760405162461bcd60e51b815260040161097e906144ff565b6000613881836108238685611ce7565b949350505050565b606061388184846000858561389d85613928565b6138b95760405162461bcd60e51b815260040161097e9061445a565b60006060866001600160a01b031685876040516138d69190613c5b565b60006040518083038185875af1925050503d8060008114613913576040519150601f19603f3d011682016040523d82523d6000602084013e613918565b606091505b509150915061315782828661392e565b3b151590565b6060831561393d57508161094a565b82511561394d5782518084602001fd5b8160405162461bcd60e51b815260040161097e9190613e5b565b80516001600160701b0381168114610da957600080fd5b803560ff81168114610da957600080fd5b6000602082840312156139a0578081fd5b813561094a8161468c565b6000602082840312156139bc578081fd5b815161094a8161468c565b600080604083850312156139d9578081fd5b82356139e48161468c565b915060208301356139f48161468c565b809150509250929050565b600080600060608486031215613a13578081fd5b8335613a1e8161468c565b92506020840135613a2e8161468c565b929592945050506040919091013590565b600080600080600080600060e0888a031215613a59578283fd5b8735613a648161468c565b96506020880135613a748161468c565b95506040880135945060608801359350613a906080890161397e565b925060a0880135915060c0880135905092959891949750929550565b60008060408385031215613abe578182fd5b8235613ac98161468c565b946020939093013593505050565b600060208284031215613ae8578081fd5b813561094a816146a1565b600060208284031215613b04578081fd5b815161094a816146a1565b600080600060608486031215613b23578283fd5b613b2c84613967565b9250613b3a60208501613967565b9150604084015163ffffffff81168114613b52578182fd5b809150509250925092565b600060208284031215613b6e578081fd5b5035919050565b600060208284031215613b86578081fd5b5051919050565b600080600060608486031215613ba1578283fd5b835192506020840151613bb38161468c565b80925050604084015190509250925092565b60008060408385031215613bd7578182fd5b8235915060208301356139f4816146a1565b600080600080600060a08688031215613c00578283fd5b8535945060208601359350613c176040870161397e565b94979396509394606081013594506080013592915050565b60008151808452613c47816020860160208601614660565b601f01601f19169290920160200192915050565b60008251613c6d818460208701614660565b9190910192915050565b6000808354600180821660008114613c965760018114613cad57613cdc565b60ff198316865260028304607f1686019350613cdc565b600283048786526020808720875b83811015613cd45781548a820152908501908201613cbb565b505050860193505b509195945050505050565b7f190100000000000000000000000000000000000000000000000000000000000081526002810192909252602282015260420190565b6001600160a01b0391909116815260200190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b0397881681529590961660208601526040850193909352606084019190915260ff16608083015260a082015260c081019190915260e00190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b0392831681529116602082015260400190565b901515815260200190565b90815260200190565b9586526001600160a01b0394851660208701529290931660408501526060840152608083019190915260a082015260c00190565b9485526020850193909352604084019190915260608301526001600160a01b0316608082015260a00190565b93845260ff9290921660208401526040830152606082015260800190565b60006020825261094a6020830184613c2f565b60208082526026908201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160408201527f6464726573730000000000000000000000000000000000000000000000000000606082015260800190565b60208082526014908201527f59616b53747261746567793a3a6f6e6c79454f41000000000000000000000000604082015260600190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b60208082526034908201527f5065726d697373696f6e65643a3a72656d6f76654465706f7369746f722c206e60408201527f6f20616c6c6f776564206465706f7369746f7273000000000000000000000000606082015260800190565b60208082526024908201527f417263683a3a76616c69646174655369673a20696e76616c6964207369676e6160408201527f7475726500000000000000000000000000000000000000000000000000000000606082015260800190565b6020808252601c908201527f5065726d697373696f6e65643a3a616c6c6f774465706f7369746f7200000000604082015260600190565b60208082526029908201527f4d617374657243686566537472617465677956313a3a7265736375654465706c60408201527f6f79656446756e64730000000000000000000000000000000000000000000000606082015260800190565b6020808252602a908201527f4d617374657243686566537472617465677956313a3a5452414e534645525f4660408201527f524f4d5f4641494c454400000000000000000000000000000000000000000000606082015260800190565b6020808252600f908201527f7065726d69743a3a657870697265640000000000000000000000000000000000604082015260600190565b6020808252601e908201527f4d617374657243686566537472617465677956313a3a77697468647261770000604082015260600190565b6020808252602a908201527f5065726d697373696f6e65643a3a72656d6f76654465706f7369746f722c206e60408201527f6f7420616c6c6f77656400000000000000000000000000000000000000000000606082015260800190565b6020808252602f908201527f4465784c6962726172793a3a5f636f6e76657274526577617264546f6b656e7360408201527f546f4465706f736974546f6b656e730000000000000000000000000000000000606082015260800190565b60208082526029908201527f4d617374657243686566537472617465677956313a3a5f7374616b654465706f60408201527f736974546f6b656e730000000000000000000000000000000000000000000000606082015260800190565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60408201527f7700000000000000000000000000000000000000000000000000000000000000606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252601c908201527f5f617070726f76653a3a6f776e6572207a65726f206164647265737300000000604082015260600190565b60208082526034908201527f5f7472616e73666572546f6b656e733a2063616e6e6f74207472616e7366657260408201527f20746f20746865207a65726f2061646472657373000000000000000000000000606082015260800190565b60208082526025908201527f4d617374657243686566537472617465677956313a3a7472616e73666572206660408201527f61696c6564000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526019908201527f736574416c6c6f77616e6365733a3a6465707265636174656400000000000000604082015260600190565b60208082526014908201527f59616b53747261746567793a3a6f6e6c79446576000000000000000000000000604082015260600190565b6020808252601d908201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604082015260600190565b6020808252601e908201527f4d617374657243686566537472617465677956313a3a7265696e766573740000604082015260600190565b6020808252601e908201527f4d617374657243686566537472617465677956313a3a5f6465706f7369740000604082015260600190565b6020808252602a908201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60408201527f6f74207375636365656400000000000000000000000000000000000000000000606082015260800190565b6020808252601e908201527f5f617070726f76653a3a7370656e646572207a65726f20616464726573730000604082015260600190565b6020808252818101527f4465784c6962726172793a3a5452414e534645525f46524f4d5f4641494c4544604082015260600190565b9283526001600160a01b03918216602084015216604082015260600190565b9384526001600160a01b03928316602085015291166040830152606082015260800190565b918252602082015260400190565b60008582528460208301526001600160a01b0384166040830152608060608301526146486080830184613c2f565b9695505050505050565b60ff91909116815260200190565b60005b8381101561467b578181015183820152602001614663565b838111156116c05750506000910152565b6001600160a01b0381168114610ffd57600080fd5b8015158114610ffd57600080fdfe5f6275726e3a206275726e20616d6f756e74206578636565647320746f74616c20737570706c797472616e7366657246726f6d3a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63655f6275726e3a206275726e20616d6f756e7420657863656564732066726f6d2062616c616e63655f7472616e73666572546f6b656e733a207472616e7366657220657863656564732066726f6d2062616c616e6365a2646970667358221220d9f1f924b8a60dfb216b1a3fbc17f01b0370ecf084cb6a5e8e930985b0ee197164736f6c6343000703003353776170207061697220277377617050616972506f6f6c5265776172642720648be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000f4003f4efbe8691b60249e6afbd307abe7758adb000000000000000000000000b31f66aa3c1e785363f0875a1b74e27b85fd66c70000000000000000000000006e84a6216ea6dacc71ee8e6b0a5b7322eebc0fdd000000000000000000000000454e67025631c065d3cfad6d71e6892f74487a1500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f4003f4efbe8691b60249e6afbd307abe7758adb0000000000000000000000004483f0b6e2f5486d06958c20f8c39a7abe87bf8f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c31e24f8a25a1dceccfd791ca25b62dcfec5c8f7000000000000000000000000302404cb8f34713a8b8dbf9b4989a41252332068000000000000000000000000000000000000000000000000002386f26fc1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000384000000000000000000000000000000000000000000000000000000000000006400000000000000000000000000000000000000000000000000000000000000185969656c642059616b3a204a4c5020555344432d415641580000000000000000