[ { "inputs": [ { "internalType": "string", "name": "name_", "type": "string" }, { "internalType": "string", "name": "symbol_", "type": "string" }, { "internalType": "uint256", "name": "totalSupply_", "type": "uint256" }, { "internalType": "address[4]", "name": "addrs", "type": "address[4]" }, { "internalType": "uint256[3]", "name": "feeSettings", "type": "uint256[3]" }, { "internalType": "uint256", "name": "minimumTokenBalanceForDividends_", "type": "uint256" }, { "internalType": "address", "name": "serviceFeeReceiver_", "type": "address" }, { "internalType": "uint256", "name": "serviceFee_", "type": "uint256" } ], "stateMutability": "payable", "type": "constructor" }, { "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": "bool", "name": "isExcluded", "type": "bool" } ], "name": "ExcludeFromFees", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address[]", "name": "accounts", "type": "address[]" }, { "indexed": false, "internalType": "bool", "name": "isExcluded", "type": "bool" } ], "name": "ExcludeMultipleAccountsFromFees", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint256", "name": "newValue", "type": "uint256" }, { "indexed": true, "internalType": "uint256", "name": "oldValue", "type": "uint256" } ], "name": "GasForProcessingUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "newLiquidityWallet", "type": "address" }, { "indexed": true, "internalType": "address", "name": "oldLiquidityWallet", "type": "address" } ], "name": "LiquidityWalletUpdated", "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": "uint256", "name": "iterations", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "claims", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "lastProcessedIndex", "type": "uint256" }, { "indexed": true, "internalType": "bool", "name": "automatic", "type": "bool" }, { "indexed": false, "internalType": "uint256", "name": "gas", "type": "uint256" }, { "indexed": true, "internalType": "address", "name": "processor", "type": "address" } ], "name": "ProcessedDividendTracker", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "tokensSwapped", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "SendDividends", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "pair", "type": "address" }, { "indexed": true, "internalType": "bool", "name": "value", "type": "bool" } ], "name": "SetAutomatedMarketMakerPair", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "tokensSwapped", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "AVAXReceived", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "tokensIntoLiqudity", "type": "uint256" } ], "name": "SwapAndLiquify", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "token", "type": "address" }, { "indexed": false, "internalType": "enum TokenType", "name": "tokenType", "type": "uint8" }, { "indexed": false, "internalType": "uint256", "name": "version", "type": "uint256" } ], "name": "TokenCreated", "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": true, "internalType": "address", "name": "newAddress", "type": "address" }, { "indexed": true, "internalType": "address", "name": "oldAddress", "type": "address" } ], "name": "UpdateDividendTracker", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "newAddress", "type": "address" }, { "indexed": true, "internalType": "address", "name": "oldAddress", "type": "address" } ], "name": "UpdateJoeRouter", "type": "event" }, { "inputs": [], "name": "JoePair", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "JoeRouter", "outputs": [ { "internalType": "contract IJoeRouter02", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "VERSION", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_marketingWalletAddress", "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": "amount", "type": "uint256" } ], "name": "approve", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "automatedMarketMakerPairs", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "claim", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "subtractedValue", "type": "uint256" } ], "name": "decreaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "dividendTokenBalanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "dividendTracker", "outputs": [ { "internalType": "contract DaiPrinterDividendTracker", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "excludeFromDividends", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "bool", "name": "excluded", "type": "bool" } ], "name": "excludeFromFees", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address[]", "name": "accounts", "type": "address[]" }, { "internalType": "bool", "name": "excluded", "type": "bool" } ], "name": "excludeMultipleAccountsFromFees", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "gasForProcessing", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "getAccountDividendsInfo", "outputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "int256", "name": "", "type": "int256" }, { "internalType": "int256", "name": "", "type": "int256" }, { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "index", "type": "uint256" } ], "name": "getAccountDividendsInfoAtIndex", "outputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "int256", "name": "", "type": "int256" }, { "internalType": "int256", "name": "", "type": "int256" }, { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getClaimWait", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getLastProcessedIndex", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getMinimumTokenBalanceForDividends", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getNumberOfDividendTokenHolders", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getTotalDividendsDistributed", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "addedValue", "type": "uint256" } ], "name": "increaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "isExcludedFromDividends", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "isExcludedFromFees", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "liquidityFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "marketingFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "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": "gas", "type": "uint256" } ], "name": "processDividendTracker", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "rewardToken", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "pair", "type": "address" }, { "internalType": "bool", "name": "value", "type": "bool" } ], "name": "setAutomatedMarketMakerPair", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "setLiquiditFee", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "setMarketingFee", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address payable", "name": "wallet", "type": "address" } ], "name": "setMarketingWallet", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "setSwapTokensAtAmount", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "setTokenRewardsFee", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "swapTokensAtAmount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "tokenRewardsFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalFees", "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": "recipient", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "transfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "address", "name": "recipient", "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": "claimWait", "type": "uint256" } ], "name": "updateClaimWait", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newAddress", "type": "address" } ], "name": "updateDividendTracker", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "newValue", "type": "uint256" } ], "name": "updateGasForProcessing", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newAddress", "type": "address" } ], "name": "updateJoeRouter", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "updateMinimumTokenBalanceForDividends", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "withdrawableDividendOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "stateMutability": "payable", "type": "receive" } ]
60806040526040516200468e3803806200468e833981016040819052620000269162000dcb565b8751889088906200003f90600390602085019062000be6565b5080516200005590600490602084019062000be6565b505050620000726200006c620006f960201b60201c565b620006fd565b8451600980546001600160a01b03199081166001600160a01b03938416179091556040870151600f805490921692169182179055331415620001115760405162461bcd60e51b815260206004820152602d60248201527f4f776e657220616e64206d61726b6574696e672077616c6c65742063616e6e6f60448201526c74206265207468652073616d6560981b60648201526084015b60405180910390fd5b8351600b819055602080860151600c8190556040870151600d8190556200015d93909262000149929062001fe46200074f821b17901c565b6200074f60201b62001fe41790919060201c565b600e81905560191015620001b45760405162461bcd60e51b815260206004820152601560248201527f546f74616c20666565206973206f766572203235250000000000000000000000604482015260640162000108565b620001eb620f4240620001d76002896200076460201b62001ff71790919060201c565b6200077260201b620020031790919060201c565b600a55620493e06010556200021285600360200201516200078060201b6200200f1760201c565b600880546001600160a01b0319166001600160a01b0392831690811790915560095460405163cd6dc68760e01b815292166004830152602482018590529063cd6dc68790604401600060405180830381600087803b1580156200027457600080fd5b505af115801562000289573d6000803e3d6000fd5b50505050600085600160048110620002b157634e487b7160e01b600052603260045260246000fd5b602002015190506000816001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015620002f457600080fd5b505afa15801562000309573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200032f919062000dae565b6001600160a01b031663c9c6539630846001600160a01b03166373b295c26040518163ffffffff1660e01b815260040160206040518083038186803b1580156200037857600080fd5b505afa1580156200038d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003b3919062000dae565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b158015620003fc57600080fd5b505af115801562000411573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000437919062000dae565b600680546001600160a01b038086166001600160a01b03199283161790925560078054928416929091169190911790559050620004768160016200082f565b60085460405163031e79db60e41b81526001600160a01b0390911660048201819052906331e79db090602401600060405180830381600087803b158015620004bd57600080fd5b505af1158015620004d2573d6000803e3d6000fd5b505060085460405163031e79db60e41b81523060048201526001600160a01b0390911692506331e79db09150602401600060405180830381600087803b1580156200051c57600080fd5b505af115801562000531573d6000803e3d6000fd5b505060085460405163031e79db60e41b815261dead60048201526001600160a01b0390911692506331e79db09150602401600060405180830381600087803b1580156200057d57600080fd5b505af115801562000592573d6000803e3d6000fd5b505060085460405163031e79db60e41b81526001600160a01b03868116600483015290911692506331e79db09150602401600060405180830381600087803b158015620005de57600080fd5b505af1158015620005f3573d6000803e3d6000fd5b50505050620006136200060b620009a060201b60201c565b6001620009af565b600f546200062c906001600160a01b03166001620009af565b62000639306001620009af565b62000657620006506005546001600160a01b031690565b8962000b01565b306200066b6005546001600160a01b031690565b6001600160a01b03167f56358b41df5fa59f5639228f0930994cbdde383c8a8fd74e06c04e1deebe356260046001604051620006a992919062000edb565b60405180910390a36040516001600160a01b0385169084156108fc029085906000818181858888f19350505050158015620006e8573d6000803e3d6000fd5b50505050505050505050506200102d565b3390565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60006200075d828462000f66565b9392505050565b60006200075d828462000fa2565b60006200075d828462000f81565b60006040517f3d602d80600a3d3981f3363d3d373d3d3d363d7300000000000000000000000081528260601b60148201526e5af43d82803e903d91602b57fd5bf360881b60288201526037816000f09150506001600160a01b0381166200082a5760405162461bcd60e51b815260206004820152601660248201527f455243313136373a20637265617465206661696c656400000000000000000000604482015260640162000108565b919050565b6001600160a01b03821660009081526012602052604090205460ff1615158115151415620008d45760405162461bcd60e51b8152602060048201526044602482018190527f4461695072696e7465723a204175746f6d61746564206d61726b6574206d616b908201527f6572207061697220697320616c72656164792073657420746f20746861742076606482015263616c756560e01b608482015260a40162000108565b6001600160a01b0382166000908152601260205260409020805460ff19168215801591909117909155620009645760085460405163031e79db60e41b81526001600160a01b038481166004830152909116906331e79db090602401600060405180830381600087803b1580156200094a57600080fd5b505af11580156200095f573d6000803e3d6000fd5b505050505b604051811515906001600160a01b038416907fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab90600090a35050565b6005546001600160a01b031690565b6005546001600160a01b0316331462000a0b5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640162000108565b6001600160a01b03821660009081526011602052604090205460ff161515811515141562000aa25760405162461bcd60e51b815260206004820152603660248201527f4461695072696e7465723a204163636f756e7420697320616c7265616479207460448201527f68652076616c7565206f6620276578636c756465642700000000000000000000606482015260840162000108565b6001600160a01b038216600081815260116020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25050565b6001600160a01b03821662000b595760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640162000108565b806002600082825462000b6d919062000f66565b90915550506001600160a01b0382166000908152602081905260408120805483929062000b9c90849062000f66565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b82805462000bf49062000fc4565b90600052602060002090601f01602090048101928262000c18576000855562000c63565b82601f1062000c3357805160ff191683800117855562000c63565b8280016001018555821562000c63579182015b8281111562000c6357825182559160200191906001019062000c46565b5062000c7192915062000c75565b5090565b5b8082111562000c71576000815560010162000c76565b80516001600160a01b03811681146200082a57600080fd5b600082601f83011262000cb5578081fd5b604051606081016001600160401b038111828210171562000cda5762000cda62001017565b60405280836060810186101562000cef578384fd5b835b600381101562000d1257815183526020928301929091019060010162000cf1565b509195945050505050565b600082601f83011262000d2e578081fd5b81516001600160401b0381111562000d4a5762000d4a62001017565b602062000d60601f8301601f1916820162000f33565b828152858284870101111562000d74578384fd5b835b8381101562000d9357858101830151828201840152820162000d76565b8381111562000da457848385840101525b5095945050505050565b60006020828403121562000dc0578081fd5b6200075d8262000c8c565b6000806000806000806000806101a0898b03121562000de8578384fd5b88516001600160401b038082111562000dff578586fd5b62000e0d8c838d0162000d1d565b995060209150818b01518181111562000e24578687fd5b62000e328d828e0162000d1d565b9950505060408a015196508a607f8b011262000e4c578485fd5b62000e5662000f08565b8060608c0160e08d018e81111562000e6c578889fd5b885b600481101562000e965762000e838362000c8c565b8552938501939185019160010162000e6e565b5082995062000ea68f8262000ca4565b98505050505050610140890151925062000ec46101608a0162000c8c565b915061018089015190509295985092959890939650565b604081016008841062000efe57634e487b7160e01b600052602160045260246000fd5b9281526020015290565b604051608081016001600160401b038111828210171562000f2d5762000f2d62001017565b60405290565b604051601f8201601f191681016001600160401b038111828210171562000f5e5762000f5e62001017565b604052919050565b6000821982111562000f7c5762000f7c62001001565b500190565b60008262000f9d57634e487b7160e01b81526012600452602481fd5b500490565b600081600019048311821515161562000fbf5762000fbf62001001565b500290565b600181811c9082168062000fd957607f821691505b6020821081141562000ffb57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b613651806200103d6000396000f3fe6080604052600436106103395760003560e01c806395d89b41116101ab578063bdd4f29f116100f7578063e708a0f911610095578063f27fd2541161006f578063f27fd254146109cd578063f2fde38b146109ed578063f7c618c114610a0d578063ffa1ad7414610a2d57600080fd5b8063e708a0f914610982578063e7841ec014610998578063e98030c7146109ad57600080fd5b8063c492f046116100d1578063c492f046146108e6578063c705c56914610906578063dd62ed3e14610926578063e2f456051461096c57600080fd5b8063bdd4f29f14610891578063c0246668146108a6578063c12f857f146108c657600080fd5b8063a457c2d711610164578063ad56c13c1161013e578063ad56c13c146107bc578063adefd90c14610821578063afa4f3b214610841578063b62496f51461086157600080fd5b8063a457c2d71461075c578063a8b9d2401461077c578063a9059cbb1461079c57600080fd5b806395d89b41146106c657806398118cb4146106db5780639a7a23d6146106f15780639c1b8af5146107115780639f9bd50414610727578063a26579ad1461074757600080fd5b80634e71d92d116102855780636b67c4df11610223578063715018a6116101fd578063715018a614610653578063871c128d1461066857806388bdd9be146106885780638da5cb5b146106a857600080fd5b80636b67c4df146105e7578063700bb191146105fd57806370a082311461061d57600080fd5b80635d098b381161025f5780635d098b3814610572578063625e764c1461059257806364b0f653146105b25780636843cd84146105c757600080fd5b80634e71d92d146105045780634ed080c7146105195780634fbee1931461053957600080fd5b80632c1f5216116102f257806331e79db0116102cc57806331e79db01461048457806339509351146104a45780634119fa04146104c45780634144d9e4146104e457600080fd5b80632c1f52161461041b57806330bb4cff14610453578063313ce5671461046857600080fd5b806306fdde0314610345578063095ea7b3146103705780630dcb2e89146103a057806313114a9d146103c257806318160ddd146103e657806323b872dd146103fb57600080fd5b3661034057005b600080fd5b34801561035157600080fd5b5061035a610a42565b604051610367919061339e565b60405180910390f35b34801561037c57600080fd5b5061039061038b366004613220565b610ad4565b6040519015158152602001610367565b3480156103ac57600080fd5b506103c06103bb3660046132e8565b610aea565b005b3480156103ce57600080fd5b506103d8600e5481565b604051908152602001610367565b3480156103f257600080fd5b506002546103d8565b34801561040757600080fd5b5061039061041636600461314a565b610b7f565b34801561042757600080fd5b5060085461043b906001600160a01b031681565b6040516001600160a01b039091168152602001610367565b34801561045f57600080fd5b506103d8610c29565b34801561047457600080fd5b5060405160128152602001610367565b34801561049057600080fd5b506103c061049f3660046130da565b610cab565b3480156104b057600080fd5b506103906104bf366004613220565b610d07565b3480156104d057600080fd5b5060075461043b906001600160a01b031681565b3480156104f057600080fd5b50600f5461043b906001600160a01b031681565b34801561051057600080fd5b506103c0610d43565b34801561052557600080fd5b506103c06105343660046132e8565b610dca565b34801561054557600080fd5b506103906105543660046130da565b6001600160a01b031660009081526011602052604090205460ff1690565b34801561057e57600080fd5b506103c061058d3660046130da565b610e62565b34801561059e57600080fd5b506103c06105ad3660046132e8565b610eae565b3480156105be57600080fd5b506103d8610ef2565b3480156105d357600080fd5b506103d86105e23660046130da565b610f37565b3480156105f357600080fd5b506103d8600d5481565b34801561060957600080fd5b506103c06106183660046132e8565b610fbc565b34801561062957600080fd5b506103d86106383660046130da565b6001600160a01b031660009081526020819052604090205490565b34801561065f57600080fd5b506103c061109e565b34801561067457600080fd5b506103c06106833660046132e8565b6110d4565b34801561069457600080fd5b506103c06106a33660046130da565b611233565b3480156106b457600080fd5b506005546001600160a01b031661043b565b3480156106d257600080fd5b5061035a6115e4565b3480156106e757600080fd5b506103d8600c5481565b3480156106fd57600080fd5b506103c061070c36600461318a565b6115f3565b34801561071d57600080fd5b506103d860105481565b34801561073357600080fd5b506103c06107423660046130da565b6116c8565b34801561075357600080fd5b506103d861196b565b34801561076857600080fd5b50610390610777366004613220565b6119b0565b34801561078857600080fd5b506103d86107973660046130da565b611a49565b3480156107a857600080fd5b506103906107b7366004613220565b611a7c565b3480156107c857600080fd5b506107dc6107d73660046130da565b611a89565b604080516001600160a01b0390991689526020890197909752958701949094526060860192909252608085015260a084015260c083015260e082015261010001610367565b34801561082d57600080fd5b506103c061083c3660046132e8565b611b33565b34801561084d57600080fd5b506103c061085c3660046132e8565b611b77565b34801561086d57600080fd5b5061039061087c3660046130da565b60126020526000908152604090205460ff1681565b34801561089d57600080fd5b506103d8611ba6565b3480156108b257600080fd5b506103c06108c136600461318a565b611beb565b3480156108d257600080fd5b5060065461043b906001600160a01b031681565b3480156108f257600080fd5b506103c061090136600461324b565b611d02565b34801561091257600080fd5b506103906109213660046130da565b611dec565b34801561093257600080fd5b506103d8610941366004613112565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b34801561097857600080fd5b506103d8600a5481565b34801561098e57600080fd5b506103d8600b5481565b3480156109a457600080fd5b506103d8611e6a565b3480156109b957600080fd5b506103c06109c83660046132e8565b611eaf565b3480156109d957600080fd5b506107dc6109e83660046132e8565b611f0a565b3480156109f957600080fd5b506103c0610a083660046130da565b611f4c565b348015610a1957600080fd5b5060095461043b906001600160a01b031681565b348015610a3957600080fd5b506103d8600181565b606060038054610a519061358c565b80601f0160208091040260200160405190810160405280929190818152602001828054610a7d9061358c565b8015610aca5780601f10610a9f57610100808354040283529160200191610aca565b820191906000526020600020905b815481529060010190602001808311610aad57829003601f168201915b5050505050905090565b6000610ae13384846120ac565b50600192915050565b6005546001600160a01b03163314610b1d5760405162461bcd60e51b8152600401610b1490613434565b60405180910390fd5b600854604051630dcb2e8960e01b8152600481018390526001600160a01b0390911690630dcb2e89906024015b600060405180830381600087803b158015610b6457600080fd5b505af1158015610b78573d6000803e3d6000fd5b5050505050565b6000610b8c8484846121d0565b6001600160a01b038416600090815260016020908152604080832033845290915290205482811015610c115760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b6064820152608401610b14565b610c1e85338584036120ac565b506001949350505050565b600854604080516342d359d760e11b815290516000926001600160a01b0316916385a6b3ae916004808301926020929190829003018186803b158015610c6e57600080fd5b505afa158015610c82573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ca69190613300565b905090565b6005546001600160a01b03163314610cd55760405162461bcd60e51b8152600401610b1490613434565b60085460405163031e79db60e41b81526001600160a01b038381166004830152909116906331e79db090602401610b4a565b3360008181526001602090815260408083206001600160a01b03871684529091528120549091610ae1918590610d3e90869061351e565b6120ac565b60085460405163bc4c4b3760e01b8152336004820152600060248201526001600160a01b039091169063bc4c4b3790604401602060405180830381600087803b158015610d8f57600080fd5b505af1158015610da3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dc791906132cc565b50565b6005546001600160a01b03163314610df45760405162461bcd60e51b8152600401610b1490613434565b600b819055600d54600c54610e159190610e0f908490611fe4565b90611fe4565b600e81905560191015610dc75760405162461bcd60e51b8152602060048201526015602482015274546f74616c20666565206973206f7665722032352560581b6044820152606401610b14565b6005546001600160a01b03163314610e8c5760405162461bcd60e51b8152600401610b1490613434565b600f80546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b03163314610ed85760405162461bcd60e51b8152600401610b1490613434565b600d819055600c54600b54610e15918391610e0f91611fe4565b600854604080516304ddf6ef60e11b815290516000926001600160a01b0316916309bbedde916004808301926020929190829003018186803b158015610c6e57600080fd5b6008546040516370a0823160e01b81526001600160a01b03838116600483015260009216906370a08231906024015b60206040518083038186803b158015610f7e57600080fd5b505afa158015610f92573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fb69190613300565b92915050565b6008546040516001624d3b8760e01b0319815260048101839052600091829182916001600160a01b03169063ffb2c47990602401606060405180830381600087803b15801561100a57600080fd5b505af115801561101e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110429190613318565b604080518481526020810184905290810182905260608101889052929550909350915032906000907fc864333d6121033635ab41b29ae52f10a22cf4438c3e4f1c4c68518feb2f8a98906080015b60405180910390a350505050565b6005546001600160a01b031633146110c85760405162461bcd60e51b8152600401610b1490613434565b6110d2600061262d565b565b6005546001600160a01b031633146110fe5760405162461bcd60e51b8152600401610b1490613434565b62030d40811015801561111457506207a1208111155b611188576040805162461bcd60e51b81526020600482015260248101919091527f4461695072696e7465723a20676173466f7250726f63657373696e67206d757360448201527f74206265206265747765656e203230302c30303020616e64203530302c3030306064820152608401610b14565b6010548114156112005760405162461bcd60e51b815260206004820152603860248201527f4461695072696e7465723a2043616e6e6f742075706461746520676173466f7260448201527f50726f63657373696e6720746f2073616d652076616c756500000000000000006064820152608401610b14565b60105460405182907f40d7e40e79af4e8e5a9b3c57030d8ea93f13d669c06d448c4d631d4ae7d23db790600090a3601055565b6005546001600160a01b0316331461125d5760405162461bcd60e51b8152600401610b1490613434565b6008546001600160a01b03828116911614156112e15760405162461bcd60e51b815260206004820152603960248201527f4461695072696e7465723a20546865206469766964656e6420747261636b657260448201527f20616c72656164792068617320746861742061646472657373000000000000006064820152608401610b14565b6000819050306001600160a01b0316816001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561132957600080fd5b505afa15801561133d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061136191906130f6565b6001600160a01b0316146113f95760405162461bcd60e51b815260206004820152605360248201527f4461695072696e7465723a20546865206e6577206469766964656e642074726160448201527f636b6572206d757374206265206f776e656420627920746865204461695072696064820152721b9d195c881d1bdad95b8818dbdb9d1c9858dd606a1b608482015260a401610b14565b60405163031e79db60e41b81526001600160a01b03821660048201819052906331e79db090602401600060405180830381600087803b15801561143b57600080fd5b505af115801561144f573d6000803e3d6000fd5b505060405163031e79db60e41b81523060048201526001600160a01b03841692506331e79db09150602401600060405180830381600087803b15801561149457600080fd5b505af11580156114a8573d6000803e3d6000fd5b50505050806001600160a01b03166331e79db06114cd6005546001600160a01b031690565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b15801561150e57600080fd5b505af1158015611522573d6000803e3d6000fd5b505060065460405163031e79db60e41b81526001600160a01b03918216600482015290841692506331e79db09150602401600060405180830381600087803b15801561156d57600080fd5b505af1158015611581573d6000803e3d6000fd5b50506008546040516001600160a01b03918216935090851691507f90c7d74461c613da5efa97d90740869367d74ab3aa5837aa4ae9a975f954b7a890600090a3600880546001600160a01b0319166001600160a01b039290921691909117905550565b606060048054610a519061358c565b6005546001600160a01b0316331461161d5760405162461bcd60e51b8152600401610b1490613434565b6007546001600160a01b03838116911614156116ba5760405162461bcd60e51b815260206004820152605060248201527f4461695072696e7465723a205468652050616e4461695377617020706169722060448201527f63616e6e6f742062652072656d6f7665642066726f6d206175746f6d6174656460648201526f4d61726b65744d616b6572506169727360801b608482015260a401610b14565b6116c4828261267f565b5050565b6005546001600160a01b031633146116f25760405162461bcd60e51b8152600401610b1490613434565b6006546001600160a01b03828116911614156117685760405162461bcd60e51b815260206004820152602f60248201527f4461695072696e7465723a2054686520726f7574657220616c7265616479206860448201526e61732074686174206164647265737360881b6064820152608401610b14565b6006546040516001600160a01b03918216918316907fb172ff8de0a3afc7f2ad25e3396c86087d62f54aa2b1757e9c048e3712fddbcd90600090a3600680546001600160a01b0319166001600160a01b0383169081179091556040805163c45a015560e01b815290516000929163c45a0155916004808301926020929190829003018186803b1580156117fa57600080fd5b505afa15801561180e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061183291906130f6565b6001600160a01b031663c9c6539630600660009054906101000a90046001600160a01b03166001600160a01b03166373b295c26040518163ffffffff1660e01b815260040160206040518083038186803b15801561188f57600080fd5b505afa1580156118a3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118c791906130f6565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b15801561190f57600080fd5b505af1158015611923573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061194791906130f6565b600780546001600160a01b0319166001600160a01b03929092169190911790555050565b60085460408051631bc9e27b60e21b815290516000926001600160a01b031691636f2789ec916004808301926020929190829003018186803b158015610c6e57600080fd5b3360009081526001602090815260408083206001600160a01b038616845290915281205482811015611a325760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610b14565b611a3f33858584036120ac565b5060019392505050565b6008546040516302a2e74960e61b81526001600160a01b038381166004830152600092169063a8b9d24090602401610f66565b6000610ae13384846121d0565b60085460405163fbcbc0f160e01b81526001600160a01b038381166004830152600092839283928392839283928392839291169063fbcbc0f1906024015b6101006040518083038186803b158015611ae057600080fd5b505afa158015611af4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b1891906131b7565b97509750975097509750975097509750919395975091939597565b6005546001600160a01b03163314611b5d5760405162461bcd60e51b8152600401610b1490613434565b600c819055600d54600b54610e159190610e0f9084611fe4565b6005546001600160a01b03163314611ba15760405162461bcd60e51b8152600401610b1490613434565b600a55565b60085460408051632f842d8560e21b815290516000926001600160a01b03169163be10b614916004808301926020929190829003018186803b158015610c6e57600080fd5b6005546001600160a01b03163314611c155760405162461bcd60e51b8152600401610b1490613434565b6001600160a01b03821660009081526011602052604090205460ff1615158115151415611ca35760405162461bcd60e51b815260206004820152603660248201527f4461695072696e7465723a204163636f756e7420697320616c7265616479207460448201527568652076616c7565206f6620276578636c756465642760501b6064820152608401610b14565b6001600160a01b038216600081815260116020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25050565b6005546001600160a01b03163314611d2c5760405162461bcd60e51b8152600401610b1490613434565b60005b82811015611dab578160116000868685818110611d5c57634e487b7160e01b600052603260045260246000fd5b9050602002016020810190611d7191906130da565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905580611da3816135c7565b915050611d2f565b507f7fdaf542373fa84f4ee8d662c642f44e4c2276a217d7d29e548b6eb29a233b35838383604051611ddf93929190613345565b60405180910390a1505050565b60085460405163c705c56960e01b81526001600160a01b038381166004830152600092169063c705c5699060240160206040518083038186803b158015611e3257600080fd5b505afa158015611e46573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fb691906132cc565b6008546040805163039e107b60e61b815290516000926001600160a01b03169163e7841ec0916004808301926020929190829003018186803b158015610c6e57600080fd5b6005546001600160a01b03163314611ed95760405162461bcd60e51b8152600401610b1490613434565b60085460405163e98030c760e01b8152600481018390526001600160a01b039091169063e98030c790602401610b4a565b600854604051635183d6fd60e01b81526004810183905260009182918291829182918291829182916001600160a01b0390911690635183d6fd90602401611ac7565b6005546001600160a01b03163314611f765760405162461bcd60e51b8152600401610b1490613434565b6001600160a01b038116611fdb5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610b14565b610dc78161262d565b6000611ff0828461351e565b9392505050565b6000611ff08284613556565b6000611ff08284613536565b6000604051733d602d80600a3d3981f3363d3d373d3d3d363d7360601b81528260601b60148201526e5af43d82803e903d91602b57fd5bf360881b60288201526037816000f09150506001600160a01b0381166120a75760405162461bcd60e51b8152602060048201526016602482015275115490cc4c4d8dce8818dc99585d194819985a5b195960521b6044820152606401610b14565b919050565b6001600160a01b03831661210e5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610b14565b6001600160a01b03821661216f5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610b14565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166121f65760405162461bcd60e51b8152600401610b1490613469565b6001600160a01b03821661221c5760405162461bcd60e51b8152600401610b14906133f1565b806122325761222d838360006127eb565b505050565b30600090815260208190526040902054600a54811080159081906122605750600754600160a01b900460ff16155b801561228557506001600160a01b03851660009081526012602052604090205460ff16155b801561229f57506005546001600160a01b03868116911614155b80156122b957506005546001600160a01b03858116911614155b1561234c576007805460ff60a01b1916600160a01b179055600e54600d546000916122ef916122e9908690611ff7565b90612003565b90506122fa81612938565b6000612317600e546122e9600c5487611ff790919063ffffffff16565b905061232281612ad1565b3060009081526020819052604090205461233b81612b58565b50506007805460ff60a01b19169055505b6007546001600160a01b03861660009081526011602052604090205460ff600160a01b90920482161591168061239a57506001600160a01b03851660009081526011602052604090205460ff165b156123a3575060005b801561241f5760006123c560646122e9600e5488611ff790919063ffffffff16565b6001600160a01b03871660009081526012602052604090205490915060ff1615612406576123f960646122e9876001611ff7565b612403908261351e565b90505b6124108582612d08565b945061241d8730836127eb565b505b61242a8686866127eb565b6008546001600160a01b031663e30443bc8761245b816001600160a01b031660009081526020819052604090205490565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b1580156124a157600080fd5b505af19250505080156124b2575060015b506008546001600160a01b031663e30443bc866124e4816001600160a01b031660009081526020819052604090205490565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b15801561252a57600080fd5b505af192505050801561253b575060015b50600754600160a01b900460ff16612625576010546008546040516001624d3b8760e01b03198152600481018390526001600160a01b039091169063ffb2c47990602401606060405180830381600087803b15801561259957600080fd5b505af19250505080156125c9575060408051601f3d908101601f191682019092526125c691810190613318565b60015b6125d257612623565b60408051848152602081018490529081018290526060810185905232906001907fc864333d6121033635ab41b29ae52f10a22cf4438c3e4f1c4c68518feb2f8a989060800160405180910390a35050505b505b505050505050565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b03821660009081526012602052604090205460ff16151581151514156127225760405162461bcd60e51b8152602060048201526044602482018190527f4461695072696e7465723a204175746f6d61746564206d61726b6574206d616b908201527f6572207061697220697320616c72656164792073657420746f20746861742076606482015263616c756560e01b608482015260a401610b14565b6001600160a01b0382166000908152601260205260409020805460ff191682158015919091179091556127af5760085460405163031e79db60e41b81526001600160a01b038481166004830152909116906331e79db090602401600060405180830381600087803b15801561279657600080fd5b505af11580156127aa573d6000803e3d6000fd5b505050505b604051811515906001600160a01b038416907fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab90600090a35050565b6001600160a01b0383166128115760405162461bcd60e51b8152600401610b1490613469565b6001600160a01b0382166128375760405162461bcd60e51b8152600401610b14906133f1565b6001600160a01b038316600090815260208190526040902054818110156128af5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610b14565b6001600160a01b038085166000908152602081905260408082208585039055918516815290812080548492906128e690849061351e565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161109091815260200190565b50505050565b6009546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a082319060240160206040518083038186803b15801561297c57600080fd5b505afa158015612990573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129b49190613300565b90506129bf82612d14565b6009546040516370a0823160e01b8152306004820152600091612a479184916001600160a01b0316906370a082319060240160206040518083038186803b158015612a0957600080fd5b505afa158015612a1d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a419190613300565b90612d08565b600954600f5460405163a9059cbb60e01b81526001600160a01b03918216600482015260248101849052929350169063a9059cbb90604401602060405180830381600087803b158015612a9957600080fd5b505af1158015612aad573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061293291906132cc565b6000612ade826002612003565b90506000612aec8383612d08565b905047612af883612ed2565b6000612b044783612d08565b9050612b108382613021565b60408051858152602081018390529081018490527f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb5619060600160405180910390a15050505050565b612b6181612d14565b6009546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a082319060240160206040518083038186803b158015612ba557600080fd5b505afa158015612bb9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612bdd9190613300565b60095460085460405163a9059cbb60e01b81526001600160a01b0391821660048201526024810184905292935060009291169063a9059cbb90604401602060405180830381600087803b158015612c3357600080fd5b505af1158015612c47573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c6b91906132cc565b9050801561222d576008546040516306e25ca160e51b8152600481018490526001600160a01b039091169063dc4b942090602401600060405180830381600087803b158015612cb957600080fd5b505af1158015612ccd573d6000803e3d6000fd5b505060408051868152602081018690527f80195cc573b02cc48460cbca6e6e4cc85ddb91959d946e1c3025ea3d87942dc39350019050611ddf565b6000611ff08284613575565b60408051600380825260808201909252600091602082016060803683370190505090503081600081518110612d5957634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201810191909152600654604080516339d94ae160e11b8152905191909316926373b295c2926004808301939192829003018186803b158015612dad57600080fd5b505afa158015612dc1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612de591906130f6565b81600181518110612e0657634e487b7160e01b600052603260045260246000fd5b6001600160a01b039283166020918202929092010152600954825191169082906002908110612e4557634e487b7160e01b600052603260045260246000fd5b6001600160a01b039283166020918202929092010152600654612e6b91309116846120ac565b600654604051635c11d79560e01b81526001600160a01b0390911690635c11d79590612ea49085906000908690309042906004016134ae565b600060405180830381600087803b158015612ebe57600080fd5b505af1158015612625573d6000803e3d6000fd5b6040805160028082526060820183526000926020830190803683370190505090503081600081518110612f1557634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201810191909152600654604080516339d94ae160e11b8152905191909316926373b295c2926004808301939192829003018186803b158015612f6957600080fd5b505afa158015612f7d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612fa191906130f6565b81600181518110612fc257634e487b7160e01b600052603260045260246000fd5b6001600160a01b039283166020918202929092010152600654612fe891309116846120ac565b600654604051633b158ab160e11b81526001600160a01b039091169063762b156290612ea49085906000908690309042906004016134ae565b6006546130399030906001600160a01b0316846120ac565b600654604051637c8d9fb960e11b8152306004820152602481018490526000604482018190526064820181905260848201524260a48201526001600160a01b039091169063f91b3f7290839060c4016060604051808303818588803b1580156130a157600080fd5b505af11580156130b5573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610b789190613318565b6000602082840312156130eb578081fd5b8135611ff0816135f8565b600060208284031215613107578081fd5b8151611ff0816135f8565b60008060408385031215613124578081fd5b823561312f816135f8565b9150602083013561313f816135f8565b809150509250929050565b60008060006060848603121561315e578081fd5b8335613169816135f8565b92506020840135613179816135f8565b929592945050506040919091013590565b6000806040838503121561319c578182fd5b82356131a7816135f8565b9150602083013561313f8161360d565b600080600080600080600080610100898b0312156131d3578384fd5b88516131de816135f8565b809850506020890151965060408901519550606089015194506080890151935060a0890151925060c0890151915060e089015190509295985092959890939650565b60008060408385031215613232578182fd5b823561323d816135f8565b946020939093013593505050565b60008060006040848603121561325f578283fd5b833567ffffffffffffffff80821115613276578485fd5b818601915086601f830112613289578485fd5b813581811115613297578586fd5b8760208260051b85010111156132ab578586fd5b602092830195509350508401356132c18161360d565b809150509250925092565b6000602082840312156132dd578081fd5b8151611ff08161360d565b6000602082840312156132f9578081fd5b5035919050565b600060208284031215613311578081fd5b5051919050565b60008060006060848603121561332c578283fd5b8351925060208401519150604084015190509250925092565b6040808252810183905260008460608301825b8681101561338857823561336b816135f8565b6001600160a01b0316825260209283019290910190600101613358565b5080925050508215156020830152949350505050565b6000602080835283518082850152825b818110156133ca578581018301518582016040015282016133ae565b818111156133db5783604083870101525b50601f01601f1916929092016040019392505050565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b600060a082018783526020878185015260a0604085015281875180845260c0860191508289019350845b818110156134fd5784516001600160a01b0316835293830193918301916001016134d8565b50506001600160a01b03969096166060850152505050608001529392505050565b60008219821115613531576135316135e2565b500190565b60008261355157634e487b7160e01b81526012600452602481fd5b500490565b6000816000190483118215151615613570576135706135e2565b500290565b600082821015613587576135876135e2565b500390565b600181811c908216806135a057607f821691505b602082108114156135c157634e487b7160e01b600052602260045260246000fd5b50919050565b60006000198214156135db576135db6135e2565b5060010190565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b0381168114610dc757600080fd5b8015158114610dc757600080fdfea2646970667358221220f2dfd50f98af7ec667719d3f3693cd98ef5c81883966ad8a92e271c48cbcedae64736f6c6343000804003300000000000000000000000000000000000000000000000000000000000001a000000000000000000000000000000000000000000000000000000000000001e00000000000000000000000000000000000000001431e0fae6d7217caa0000000000000000000000000000000d586e7f844cea2f87f50152665bcbc2c279d8d7000000000000000000000000060ae616a2155ee3d9a68541ba4544862310933d4000000000000000000000000bd232f3b60f21d818860f0cf01ebaac8f0ad4b440000000000000000000000009e0aa889bcb3d46b285dac2b6fe1bb212138437d00000000000000000000000000000000000000000000000000000000000000070000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000d3c21bcecceda1000000000000000000000000000000a81bc9f32463ccdd83b902689ddd5a2b2901f4040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a4461695072696e74657200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000341544d0000000000000000000000000000000000000000000000000000000000
0xa2646970667358221220f2dfd50f98af7ec667719d3f3693cd98ef5c81883966ad8a92e271c48cbcedae64736f6c6343000804003300000000000000000000000000000000000000000000000000000000000001a000000000000000000000000000000000000000000000000000000000000001e00000000000000000000000000000000000000001431e0fae6d7217caa0000000000000000000000000000000d586e7f844cea2f87f50152665bcbc2c279d8d7000000000000000000000000060ae616a2155ee3d9a68541ba4544862310933d4000000000000000000000000bd232f3b60f21d818860f0cf01ebaac8f0ad4b440000000000000000000000009e0aa889bcb3d46b285dac2b6fe1bb212138437d00000000000000000000000000000000000000000000000000000000000000070000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000d3c21bcecceda1000000000000000000000000000000a81bc9f32463ccdd83b902689ddd5a2b2901f4040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a4461695072696e74657200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000341544d0000000000000000000000000000000000000000000000000000000000