[ { "inputs": [ { "internalType": "address", "name": "_chloeooContract", "type": "address" }, { "internalType": "address", "name": "_millionContract", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "allowance", "type": "uint256" }, { "internalType": "uint256", "name": "needed", "type": "uint256" } ], "name": "ERC20InsufficientAllowance", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "uint256", "name": "balance", "type": "uint256" }, { "internalType": "uint256", "name": "needed", "type": "uint256" } ], "name": "ERC20InsufficientBalance", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "approver", "type": "address" } ], "name": "ERC20InvalidApprover", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "receiver", "type": "address" } ], "name": "ERC20InvalidReceiver", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" } ], "name": "ERC20InvalidSender", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" } ], "name": "ERC20InvalidSpender", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "name": "OwnableInvalidOwner", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "OwnableUnauthorizedAccount", "type": "error" }, { "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": false, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "numberOfExperience", "type": "uint256" } ], "name": "Burned", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "numberOfMillions", "type": "uint256" } ], "name": "BurnedMillion", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "user", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "MillionStaked", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "numberOfExperience", "type": "uint256" } ], "name": "MillionSwap", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "user", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "MillionUnStaked", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "numberOfExperience", "type": "uint256" } ], "name": "Minted", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "numberOfExperience", "type": "uint256" } ], "name": "MintedMillion", "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": "owner", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "numberOfMillions", "type": "uint256" } ], "name": "StakedMillion", "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": "address", "name": "owner", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "numberOfMillions", "type": "uint256" } ], "name": "UnstakedMillion", "type": "event" }, { "inputs": [], "name": "BOOSTER_MULTIPLIER", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "CHLOEOO_CONTRACT", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "EXPERIENCE_FARMING_FACTOR", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "EXPERIENCE_SWAP_FACTOR", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "MAX_EXPERIENCE_SUPPLY", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "MILLION_CONTRACT", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "_allMillionsStakeHolders", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" } ], "name": "allowance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "value", "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": "claimExperience", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "user", "type": "address" } ], "name": "claimableView", "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": "chloeooId", "type": "uint256" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "equipChloeoo", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "millionStakeHolders", "outputs": [ { "internalType": "address", "name": "user", "type": "address" }, { "internalType": "uint32", "name": "since", "type": "uint32" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "mintExperience", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "from", "type": "uint256" }, { "internalType": "uint256", "name": "to", "type": "uint256" } ], "name": "rebalanceStakingPool", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "staking", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "millionAmt", "type": "uint256" } ], "name": "swapMillionForExperience", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalMillionHolder", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalMillionStaked", "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": "to", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "transfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "value", "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": "_value", "type": "uint256" } ], "name": "updateBoosterMultiplier", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_value", "type": "uint256" } ], "name": "updateExperienceSwapFactor", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_value", "type": "uint256" } ], "name": "updateFarmingFactor", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_value", "type": "uint256" } ], "name": "updateMaxExperienceSupply", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "withdrawAllMillionAndClaimExperience", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "withdrawMillion", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ]
6b6765c793fa10079d0000000060075560c0604052600a608090815269457870657269656e636560b01b60a0526008906200003b908262000367565b5060408051808201909152600a815269457870657269656e636560b01b60208201526009906200006c908262000367565b506001600c556003600d55600c600e553480156200008957600080fd5b50604051620022bf380380620022bf833981016040819052620000ac9162000450565b3360088054620000bc90620002d8565b80601f0160208091040260200160405190810160405280929190818152602001828054620000ea90620002d8565b80156200013b5780601f106200010f576101008083540402835291602001916200013b565b820191906000526020600020905b8154815290600101906020018083116200011d57829003601f168201915b5050505050600980546200014f90620002d8565b80601f01602080910402602001604051908101604052809291908181526020018280546200017d90620002d8565b8015620001ce5780601f10620001a257610100808354040283529160200191620001ce565b820191906000526020600020905b815481529060010190602001808311620001b057829003601f168201915b50505050508160039081620001e4919062000367565b506004620001f3828262000367565b5050506001600160a01b0381166200022557604051631e4fbdf760e01b81526000600482015260240160405180910390fd5b620002308162000270565b50600a80546001600160a01b039384166001600160a01b031991821617909155600b80549290931691811682179092556006805490921617905562000488565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620002ed57607f821691505b6020821081036200030e57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200036257600081815260208120601f850160051c810160208610156200033d5750805b601f850160051c820191505b818110156200035e5782815560010162000349565b5050505b505050565b81516001600160401b03811115620003835762000383620002c2565b6200039b81620003948454620002d8565b8462000314565b602080601f831160018114620003d35760008415620003ba5750858301515b600019600386901b1c1916600185901b1785556200035e565b600085815260208120601f198616915b828110156200040457888601518255948401946001909101908401620003e3565b5085821015620004235787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b80516001600160a01b03811681146200044b57600080fd5b919050565b600080604083850312156200046457600080fd5b6200046f8362000433565b91506200047f6020840162000433565b90509250929050565b611e2780620004986000396000f3fe608060405234801561001057600080fd5b50600436106102115760003560e01c806370a0823111610125578063bac14f53116100ad578063e05c99561161007c578063e05c9956146104bc578063e85c6f46146104c5578063ea7187f1146104d8578063ec6d41be146104eb578063f2fde38b146104f457600080fd5b8063bac14f531461045f578063d44f119714610467578063dace0dec14610470578063dd62ed3e1461048357600080fd5b80638da5cb5b116100f45780638da5cb5b1461041757806393e580171461042857806395d89b4114610431578063a9059cbb14610439578063b0ac13be1461044c57600080fd5b806370a08231146103ca578063715018a6146103f35780638078ff19146103fb5780638be805321461040457600080fd5b8063201faaf2116101a8578063451fd2a011610177578063451fd2a01461032a57806357545a67146103325780635b7852cb14610345578063605fba671461034d57806361767a201461036057600080fd5b8063201faaf2146102e257806323b872dd146102f5578063313ce567146103085780633e46dd1b1461031757600080fd5b806318160ddd116101e457806318160ddd146102975780631d372ea1146102a95780631dbb2a22146102bc5780631f6dc8ee146102cf57600080fd5b806306fdde0314610216578063095ea7b3146102345780630c72febb14610257578063101b792914610282575b600080fd5b61021e610507565b60405161022b9190611a94565b60405180910390f35b610247610242366004611af7565b610599565b604051901515815260200161022b565b61026a610265366004611b23565b6105b3565b6040516001600160a01b03909116815260200161022b565b610295610290366004611b23565b6105dd565b005b6002545b60405190815260200161022b565b6102956102b7366004611b23565b6105ea565b6102956102ca366004611b23565b6107b2565b6102956102dd366004611b23565b6109fb565b6102956102f0366004611b3c565b610a08565b610247610303366004611b5e565b610ca9565b6040516012815260200161022b565b610295610325366004611b3c565b610ccd565b610295610dae565b610295610340366004611b23565b610f09565b60115461029b565b61029b61035b366004611b9f565b610f16565b6103a061036e366004611b9f565b600f60205260009081526040902080546001909101546001600160a01b03821691600160a01b900463ffffffff169083565b604080516001600160a01b03909416845263ffffffff90921660208401529082015260600161022b565b61029b6103d8366004611b9f565b6001600160a01b031660009081526020819052604090205490565b610295610ff0565b61029b600e5481565b610295610412366004611af7565b611004565b6005546001600160a01b031661026a565b61029b600d5481565b61021e611016565b610247610447366004611af7565b611025565b61029561045a366004611b23565b611033565b610295611147565b61029b60105481565b61029561047e366004611b23565b6111f8565b61029b610491366004611bbc565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b61029b600c5481565b600b5461026a906001600160a01b031681565b600a5461026a906001600160a01b031681565b61029b60075481565b610295610502366004611b9f565b611205565b60606003805461051690611bf5565b80601f016020809104026020016040519081016040528092919081815260200182805461054290611bf5565b801561058f5780601f106105645761010080835404028352916020019161058f565b820191906000526020600020905b81548152906001019060200180831161057257829003601f168201915b5050505050905090565b6000336105a7818585611243565b60019150505b92915050565b601181815481106105c357600080fd5b6000918252602090912001546001600160a01b0316905081565b6105e5611250565b600e55565b600081116106355760405162461bcd60e51b815260206004820152601360248201527204d555354204245204d4f5245205448414e203606c1b60448201526064015b60405180910390fd5b336000908152600f6020908152604091829020825160608101845281546001600160a01b038116808352600160a01b90910463ffffffff16938201939093526001909101549281019290925261069d5760405162461bcd60e51b815260040161062c90611c2f565b80604001518211156106dd5760405162461bcd60e51b815260206004820152600960248201526827ab22a9222920aba760b91b604482015260640161062c565b6106f6338383604001516106f19190611c69565b61127d565b6000600c61070584600b611c7c565b61070f9190611c93565b6006546040516313e4225760e11b81529192506001600160a01b0316906327c844ae906107429033908590600401611cb5565b600060405180830381600087803b15801561075c57600080fd5b505af1158015610770573d6000803e3d6000fd5b505050507f48644d4946e320c01b2a595aa0770f1475e0418fef155f5a814b482b1d8f829a33826040516107a5929190611cb5565b60405180910390a1505050565b600081116107f15760405162461bcd60e51b815260206004820152600c60248201526b2722a2a21026a4a62624a7a760a11b604482015260640161062c565b6006546040516370a0823160e01b81523360048201526000916001600160a01b0316906370a0823190602401602060405180830381865afa15801561083a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061085e9190611cce565b9050818110156108a55760405162461bcd60e51b81526020600482015260126024820152712727aa1022a727aaa3a41026a4a62624a7a760711b604482015260640161062c565b336000908152600f6020908152604091829020825160608101845281546001600160a01b0381168252600160a01b900463ffffffff169281019290925260010154918101829052901561095c5760006108fd33610f16565b90506109093382611435565b7f30385c845b448a36257a6a1716e6ad2e1bc2cbe333cde1e69fe849ad6511adfe338560405161093a929190611cb5565b60405180910390a1610956338584604001516106f19190611ce7565b50610966565b610966338461127d565b600654604051634bc9459760e11b81526001600160a01b03909116906397928b2e906109989033908790600401611cb5565b600060405180830381600087803b1580156109b257600080fd5b505af11580156109c6573d6000803e3d6000fd5b505050507f799706add455b7973143280b6e0e3a083b279d869e8444c5dac36131ee6a452933846040516107a5929190611cb5565b610a03611250565b600c55565b60008111610a585760405162461bcd60e51b815260206004820152601e60248201527f4d555354204245204d4f5245205448414e203020455850455249454e43450000604482015260640161062c565b600a546040516331a9108f60e11b8152600481018490526001600160a01b039091169033908290636352211e90602401602060405180830381865afa158015610aa5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ac99190611cfa565b6001600160a01b031614610b0b5760405162461bcd60e51b81526020600482015260096024820152682727aa1027aba722a960b91b604482015260640161062c565b33600090815260208190526040902054821115610b625760405162461bcd60e51b81526020600482015260156024820152744e4f5420454e4f55474820455850455249454e434560581b604482015260640161062c565b60065460405163287cc71960e11b8152600481018590526000916001600160a01b0316906350f98e329060240160a060405180830381865afa158015610bac573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bd09190611d30565b50505050905060008162ffffff1611610bfb5760405162461bcd60e51b815260040161062c90611c2f565b610c05338461146b565b7f696de425f79f4a40bc6d2122ca50507f0efbeabbff86a84871b7196ab8ea8df73384604051610c36929190611cb5565b60405180910390a160065460405163100fd57960e11b815260048101869052602481018590526001600160a01b039091169063201faaf290604401600060405180830381600087803b158015610c8b57600080fd5b505af1158015610c9f573d6000803e3d6000fd5b5050505050505050565b600033610cb78582856114a1565b610cc285858561151f565b506001949350505050565b610cd5611250565b815b818111610da9576000610ce98261157e565b90506000610cf682610f16565b6001600160a01b038381166000908152600f6020908152604091829020825160608101845281549485168152600160a01b90940463ffffffff16918401919091526001015490820152909150610d4c8383611435565b7f30385c845b448a36257a6a1716e6ad2e1bc2cbe333cde1e69fe849ad6511adfe8383604051610d7d929190611cb5565b60405180910390a1610d9383826040015161127d565b5050508080610da190611dac565b915050610cd7565b505050565b336000908152600f6020908152604091829020825160608101845281546001600160a01b038116808352600160a01b90910463ffffffff169382019390935260019091015492810192909252610e165760405162461bcd60e51b815260040161062c90611c2f565b6000610e2133610f16565b90508015610e3357610e3333826115ae565b604082015115610efc576000600c8360400151600b610e529190611c7c565b610e5c9190611c93565b6006546040516313e4225760e11b81529192506001600160a01b0316906327c844ae90610e8f9033908590600401611cb5565b600060405180830381600087803b158015610ea957600080fd5b505af1158015610ebd573d6000803e3d6000fd5b505050507f48644d4946e320c01b2a595aa0770f1475e0418fef155f5a814b482b1d8f829a3382604051610ef2929190611cb5565b60405180910390a1505b610f053361164b565b5050565b610f11611250565b600d55565b6001600160a01b038181166000908152600f6020908152604080832081516060810183528154958616808252600160a01b90960463ffffffff169381019390935260010154908201529091610f7d5760405162461bcd60e51b815260040161062c90611c2f565b6402540be400600c5462015180836020015163ffffffff1642610fa09190611c69565b610faf906402540be400611c7c565b610fb99190611c93565b600d548460400151610fcb9190611c7c565b610fd59190611c7c565b610fdf9190611c7c565b610fe99190611c93565b9392505050565b610ff8611250565b6110026000611755565b565b61100c611250565b610f0582826115ae565b60606004805461051690611bf5565b6000336105a781858561151f565b600081116110835760405162461bcd60e51b815260206004820152601b60248201527f4d555354204245204d4f5245205448414e2030204d494c4c494f4e0000000000604482015260640161062c565b600654604051634bc9459760e11b81526001600160a01b03909116906397928b2e906110b59033908590600401611cb5565b600060405180830381600087803b1580156110cf57600080fd5b505af11580156110e3573d6000803e3d6000fd5b505050506110fe33600e54836110f99190611c7c565b611435565b7f1b4d3be681512c96eafe1804f435e24174bb7699351dbf0ada348e2a4d20ddf433600e548361112e9190611c7c565b60405161113c929190611cb5565b60405180910390a150565b600061115233610f16565b90506000811161119d5760405162461bcd60e51b81526020600482015260166024820152754e4f20455850455249454e434520544f20434c41494d60501b604482015260640161062c565b336000818152600f6020908152604091829020825160608101845281546001600160a01b0381168252600160a01b900463ffffffff169281019290925260010154918101829052916111ee9161127d565b610f0533836115ae565b611200611250565b600755565b61120d611250565b6001600160a01b03811661123757604051631e4fbdf760e01b81526000600482015260240161062c565b61124081611755565b50565b610da983838360016117a7565b6005546001600160a01b031633146110025760405163118cdaa760e01b815233600482015260240161062c565b6001600160a01b0382166112c35760405162461bcd60e51b815260206004820152600d60248201526c454d505459204144445245535360981b604482015260640161062c565b6001600160a01b038281166000908152600f602090815260409182902082516060810184528154948516808252600160a01b90950463ffffffff169281019290925260010154918101919091529061137257601180546001600160a01b0385166000818152601260205260408120839055600183018455929092527f31ecc21a745e3968a04e9570e4425bc18fa8019c68028196b546d1669c200c680180546001600160a01b03191690911790555b604080820180516001600160a01b0380871680865286845263ffffffff42811660208089019182526000938452600f905295909120865181549651909216600160a01b026001600160c01b03199096169190921617939093178355905160019092019190915560105483906113e8908390611c69565b6113f29190611ce7565b6010556040517fa049ece811efe7a876a82ec57c7d865528cae7f5c537fbc7adc96f71bb8564fa906114279086908690611cb5565b60405180910390a150505050565b6001600160a01b03821661145f5760405163ec442f0560e01b81526000600482015260240161062c565b610f056000838361187c565b6001600160a01b03821661149557604051634b637e8f60e11b81526000600482015260240161062c565b610f058260008361187c565b6001600160a01b038381166000908152600160209081526040808320938616835292905220546000198114611519578181101561150a57604051637dc7a0d960e11b81526001600160a01b0384166004820152602481018290526044810183905260640161062c565b611519848484840360006117a7565b50505050565b6001600160a01b03831661154957604051634b637e8f60e11b81526000600482015260240161062c565b6001600160a01b0382166115735760405163ec442f0560e01b81526000600482015260240161062c565b610da983838361187c565b60006011828154811061159357611593611dc5565b6000918252602090912001546001600160a01b031692915050565b600754816115bb60025490565b6115c59190611ce7565b106116045760405162461bcd60e51b815260206004820152600f60248201526e4f564552204d415820535550504c5960881b604482015260640161062c565b61160e8282611435565b7f30385c845b448a36257a6a1716e6ad2e1bc2cbe333cde1e69fe849ad6511adfe828260405161163f929190611cb5565b60405180910390a15050565b6001600160a01b038181166000908152600f602090815260409182902082516060810184528154948516808252600160a01b90950463ffffffff16928101929092526001015491810191909152906116d55760405162461bcd60e51b815260206004820152600d60248201526c454d505459204144445245535360981b604482015260640161062c565b80604001516010546116e79190611c69565b6010556116f3826119a6565b6001600160a01b0382166000908152600f602052604080822080546001600160c01b0319168155600101919091558181015190517ff6734a3cc03b9d4b63b420eca510b2e479b85abb7d8070bbf43f2b1ae249a8909161163f91859190611cb5565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b0384166117d15760405163e602df0560e01b81526000600482015260240161062c565b6001600160a01b0383166117fb57604051634a1406b160e11b81526000600482015260240161062c565b6001600160a01b038085166000908152600160209081526040808320938716835292905220829055801561151957826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161186e91815260200190565b60405180910390a350505050565b6001600160a01b0383166118a757806002600082825461189c9190611ce7565b909155506119199050565b6001600160a01b038316600090815260208190526040902054818110156118fa5760405163391434e360e21b81526001600160a01b0385166004820152602481018290526044810183905260640161062c565b6001600160a01b03841660009081526020819052604090209082900390555b6001600160a01b03821661193557600280548290039055611954565b6001600160a01b03821660009081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161199991815260200190565b60405180910390a3505050565b6011546000906119b890600190611c69565b6001600160a01b038316600090815260126020526040812054601180549394509092849081106119ea576119ea611dc5565b600091825260209091200154601180546001600160a01b039092169250829184908110611a1957611a19611dc5565b600091825260208083209190910180546001600160a01b0319166001600160a01b0394851617905583831682526012905260408082208590559186168152908120556011805480611a6c57611a6c611ddb565b600082815260209020810160001990810180546001600160a01b031916905501905550505050565b600060208083528351808285015260005b81811015611ac157858101830151858201604001528201611aa5565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461124057600080fd5b60008060408385031215611b0a57600080fd5b8235611b1581611ae2565b946020939093013593505050565b600060208284031215611b3557600080fd5b5035919050565b60008060408385031215611b4f57600080fd5b50508035926020909101359150565b600080600060608486031215611b7357600080fd5b8335611b7e81611ae2565b92506020840135611b8e81611ae2565b929592945050506040919091013590565b600060208284031215611bb157600080fd5b8135610fe981611ae2565b60008060408385031215611bcf57600080fd5b8235611bda81611ae2565b91506020830135611bea81611ae2565b809150509250929050565b600181811c90821680611c0957607f821691505b602082108103611c2957634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252600a90820152691393d50814d51052d15160b21b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b818103818111156105ad576105ad611c53565b80820281158282048414176105ad576105ad611c53565b600082611cb057634e487b7160e01b600052601260045260246000fd5b500490565b6001600160a01b03929092168252602082015260400190565b600060208284031215611ce057600080fd5b5051919050565b808201808211156105ad576105ad611c53565b600060208284031215611d0c57600080fd5b8151610fe981611ae2565b805163ffffffff81168114611d2b57600080fd5b919050565b600080600080600060a08688031215611d4857600080fd5b855162ffffff81168114611d5b57600080fd5b9450611d6960208701611d17565b9350611d7760408701611d17565b9250606086015165ffffffffffff81168114611d9257600080fd5b9150611da060808701611d17565b90509295509295909350565b600060018201611dbe57611dbe611c53565b5060010190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052603160045260246000fdfea2646970667358221220609cf2624864c7986e9bbedbbd570c15f387fb78bf66ecd23188532f3a0f83e364736f6c634300081400330000000000000000000000006fcf1c220d412927df946bbb8e52f2a2f878d40000000000000000000000000052105ef8af2762f0821e1d64fa60fad15d9d46d0