[ { "inputs": [], "stateMutability": "nonpayable", "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": "uint256", "name": "epoch", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "totalSupply", "type": "uint256" } ], "name": "LogRebase", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "previousOwner", "type": "address" } ], "name": "OwnershipRenounced", "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": [], "name": "SwapEnabled", "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" }, { "inputs": [], "name": "DECIMALS", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "MAX_UINT256", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "RATE_DECIMALS", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "TIME_STEP", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_autoAddLiquidity", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_autoRebase", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "_excludeFromLimit", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_initRebaseStartTime", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_lastAddLiquidityTime", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_lastRebasedTime", "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": "_symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "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": [], "name": "autoLiquidityReceiver", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "who", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "blackhole", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "blackholeFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "blacklist", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_addr", "type": "address" } ], "name": "checkFeeExempt", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "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": [], "name": "devFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "devWallet", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "feeDenominator", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getCirculatingSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getCurrentDay", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "accuracy", "type": "uint256" } ], "name": "getLiquidityBacking", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getUserHoldLimit", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getUserSellLimit", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "holdLimit", "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": [], "name": "isNotInSwap", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "isOwner", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "leafInsuranceFundFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "leafInsuranceFundReceiver", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "limitDenominator", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "liquidityFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "manualSync", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "nartBuybackFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "nartBuybackReceiver", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "nftFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "nftFeeReceiver", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "pair", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "pairAddress", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "pairContract", "outputs": [ { "internalType": "contract IPancakeSwapPair", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "router", "outputs": [ { "internalType": "contract IPancakeSwapRouter", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "sellFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "sellLimit", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "_flag", "type": "bool" } ], "name": "setAutoAddLiquidity", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "_flag", "type": "bool" } ], "name": "setAutoRebase", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_botAddress", "type": "address" }, { "internalType": "bool", "name": "_flag", "type": "bool" } ], "name": "setBotBlacklist", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_devWallet", "type": "address" } ], "name": "setDevWallet", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_address", "type": "address" }, { "internalType": "bool", "name": "_bool", "type": "bool" } ], "name": "setExcludeFromLimit", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_autoLiquidityReceiver", "type": "address" }, { "internalType": "address", "name": "_leafInsuranceFundReceiver", "type": "address" }, { "internalType": "address", "name": "_nartBuybackReceiver", "type": "address" }, { "internalType": "address", "name": "_treasuryReceiver", "type": "address" }, { "internalType": "address", "name": "_nftFeeReceiver", "type": "address" } ], "name": "setFeeReceivers", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_address", "type": "address" } ], "name": "setLP", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "initrebaseStartTime", "type": "uint256" }, { "internalType": "uint256", "name": "initRebaseTime", "type": "uint256" } ], "name": "setLaunchDate", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_holdLimit", "type": "uint256" }, { "internalType": "uint256", "name": "_sellLimit", "type": "uint256" } ], "name": "setLimit", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_pairAddress", "type": "address" } ], "name": "setPairAddress", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_addr", "type": "address" } ], "name": "setWhitelist", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "sold", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "startTime", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "swapEnabled", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "toggleSwap", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "totalFee", "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": [], "name": "treasuryFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "treasuryReceiver", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "usdcReceiver", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "withdrawAllToTreasury", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "stateMutability": "payable", "type": "receive" } ]
60c060405260046080819052632622a0a360e11b60a090815262000027916003919062000970565b50604080518082019091526004808252632622a0a360e11b602090920191825262000053918162000970565b50601e600755600a6008556028600955601e600a556014600b556014600c55600a600d55601e600e55620000ca600c54620000b6600b54620000b6600954620000b6600854620000b6600754600a54620006b760201b62001e081790919060201c565b620006b760201b62001e081790919060201c565b600f556103e860105560006012819055601355612710601455601580546001600160a01b03199081169091556016805490911673a7d7079b0fead91f3e65f86e8915cb59c1a4c664179055601f805460ff60a01b199081169091556021805490911690553480156200013b57600080fd5b506040805180820182526004808252632622a0a360e11b6020808401828152855180870190965292855284015281519192916012916200017f916000919062000970565b5081516200019590600190602085019062000970565b506002805460ff191660ff9290921691909117610100600160a81b03191661010033021790555050604051600090620001d16020820162000a05565b818103601f199081018352601f90910116604081815260165460601b6001600160601b031916602080840191909152815160148185030181526034909301909152815191810191909120825192935091600091839190850183f56016546040805163189acdbd60e31b81526001600160a01b03928316600482015290519293509083169163c4d66de89160248082019260009290919082900301818387803b1580156200027d57600080fd5b505af115801562000292573d6000803e3d6000fd5b5050601f80546001600160a01b038086166001600160a01b031992831617909255602080549091167360ae616a2155ee3d9a68541ba4544862310933d4178082556040805163c45a015560e01b8152905191909316945063c45a01559350600480840193829003018186803b1580156200030b57600080fd5b505afa15801562000320573d6000803e3d6000fd5b505050506040513d60208110156200033757600080fd5b5051601654604080516364e329cb60e11b81526001600160a01b0392831660048201523060248201529051919092169163c9c653969160448083019260209291908290030181600087803b1580156200038f57600080fd5b505af1158015620003a4573d6000803e3d6000fd5b505050506040513d6020811015620003bb57600080fd5b5051602180546001600160a01b039283166001600160a01b0319918216178255601780548216731ea6506c4a222a7e32a5fb50adaaf657eebdf3a2179055601a8054821673daf768d6b128a352670776d638583ac872aacdf617815560188054831673d5a965ffc19a54edf2a9f63d673c64535e383210179055601b8054831661dead179055601d80548316735b14ceb134d34cf5c888b36ec61c8f078254c34c1790556019805483167371b7ef4878712601ae4b42ce3af3008f0bc287f9179055601c8054831633179055306000908152602860209081526040808320825488168452825280832060001990559454601e80548616918816918217905560058054909516179093556a1cf389cd46047d0300000060259081559154909416845260278252919092206a0357636f35a3ab8fffffff199081905590546200050b9262000719811b62001e6217901c565b6026556362feeb806022819055602355426011556021805460ff60b01b1960ff60a81b19909116600160a81b1716600160b01b178155601a80546001600160a01b039081166000908152600660209081526040808320805460ff199081166001908117909255308086528386208054831684179055601c8054881687528487208054841685179055908652602b90945282852080548216831790559654851684528184208054881682179055945484168352808320805487168617905590549092168152208054909216179055620005e66019600562000763565b601a546040805163f2fde38b60e01b81526001600160a01b03928316600482015290519183169163f2fde38b9160248082019260009290919082900301818387803b1580156200063557600080fd5b505af11580156200064a573d6000803e3d6000fd5b5050601a546200066692506001600160a01b0316905062000838565b601a5460255460408051918252516001600160a01b03909216916000917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef919081900360200190a350505062000a2a565b60008282018381101562000712576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b60006200071283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250620008b360201b60201c565b6200076d6200095a565b6200077757600080fd5b600582101580156200078b57506127108211155b620007d2576040805162461bcd60e51b8152602060048201526012602482015271125b9d985b1a59081a1bdb19081b1a5b5a5d60721b604482015290519081900360640190fd5b60058110158015620007e657506127108111155b6200082d576040805162461bcd60e51b8152602060048201526012602482015271125b9d985b1a59081cd95b1b081b1a5b5a5d60721b604482015290519081900360640190fd5b601391909155601255565b6001600160a01b0381166200084c57600080fd5b6002546040516001600160a01b0380841692610100900416907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600280546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b60008183620009435760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101562000907578181015183820152602001620008ed565b50505050905090810190601f168015620009355780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385816200095057fe5b0495945050505050565b60025461010090046001600160a01b0316331490565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282620009a85760008555620009f3565b82601f10620009c357805160ff1916838001178555620009f3565b82800160010185558215620009f3579182015b82811115620009f3578251825591602001919060010190620009d6565b5062000a0192915062000a13565b5090565b6105da8062003f9c83390190565b5b8082111562000a01576000815560010162000a14565b6135628062000a3a6000396000f3fe6080604052600436106104615760003560e01c8063753d02a11161023f578063bd59558111610139578063d51ed1c8116100b6578063f2fde38b1161007a578063f2fde38b14610dfd578063f34447f714610e30578063f887ea4014610e45578063f9f92be414610e5a578063fcb2e86e14610e8d57610468565b8063d51ed1c814610d42578063dbf25c2914610d6c578063dd62ed3e14610d81578063e15beb8014610dbc578063eb97d78314610de857610468565b8063ca33e64c116100fd578063ca33e64c14610ca4578063cc32d17614610cb9578063cfbac92f14610cce578063d28d885214610cfa578063d439979014610d0f57610468565b8063bd59558114610c1d578063bfceae6314610c32578063c5844ba714610c65578063c5de2a1614610c7a578063c81c6edc14610c8f57610468565b806398118cb4116101c7578063a8aa1b311161018b578063a8aa1b3114610b90578063a8b0898214610ba5578063a9059cbb14610bba578063afb9cf6d14610bf3578063b09f126614610c0857610468565b806398118cb414610ae55780639b2912cc14610afa5780639b87676c14610b0f578063a22d483214610b24578063a457c2d714610b5757610468565b80638da5cb5b1161020e5780638da5cb5b14610a7c5780638ea5220f14610a915780638f32d59b14610aa65780639071adc014610abb57806395d89b4114610ad057610468565b8063753d02a114610a0a57806378e9792514610a1f57806383b4ac6814610a34578063854cff2f14610a4957610468565b806332bc298c1161035b5780634f91e48c116102d85780636ccaa8631161029c5780636ccaa8631461095d5780636ddd1713146109985780636f68ebae146109ad57806370a08231146109c2578063715018a6146109f557610468565b80634f91e48c146108d05780635a604c52146108e55780635b0833cc146108fa5780636827e764146109335780636912652c1461094857610468565b80633c494c0a1161031f5780633c494c0a146108675780633e6968b61461087c5780633e935fe8146108915780633eaaf86b146108a65780634d709adf146108bb57610468565b806332bc298c146107b457806333a581d2146107c9578063360fdec9146107de57806337c9be87146107f3578063395093511461082e57610468565b80631ff8d507116103e95780632b14ca56116103ad5780632b14ca56146107175780632e0f26251461072c5780632f34d28214610741578063313ce5671461077457806332b756831461079f57610468565b80631ff8d50714610665578063207add911461067a57806321ce6c17146106aa57806323b872dd146106bf5780632b112e491461070257610468565b8063180b0d7e11610430578063180b0d7e1461059c57806318160ddd146105b157806318abb635146105c65780631df4ccfc1461061d5780631f53ac021461063257610468565b806306fdde031461046d57806308b1fd8f146104f7578063095ea7b31461052857806311fe26e21461057557610468565b3661046857005b600080fd5b34801561047957600080fd5b50610482610ebd565b6040805160208082528351818301528351919283929083019185019080838360005b838110156104bc5781810151838201526020016104a4565b50505050905090810190601f1680156104e95780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561050357600080fd5b5061050c610f53565b604080516001600160a01b039092168252519081900360200190f35b34801561053457600080fd5b506105616004803603604081101561054b57600080fd5b506001600160a01b038135169060200135610f62565b604080519115158252519081900360200190f35b34801561058157600080fd5b5061058a610fc9565b60408051918252519081900360200190f35b3480156105a857600080fd5b5061058a610fcf565b3480156105bd57600080fd5b5061058a610fd5565b3480156105d257600080fd5b5061061b600480360360a08110156105e957600080fd5b506001600160a01b03813581169160208101358216916040820135811691606081013582169160809091013516610fdb565b005b34801561062957600080fd5b5061058a61104b565b34801561063e57600080fd5b5061061b6004803603602081101561065557600080fd5b50356001600160a01b0316611051565b34801561067157600080fd5b5061061b6110c1565b34801561068657600080fd5b5061061b6004803603604081101561069d57600080fd5b5080359060200135611110565b3480156106b657600080fd5b5061058a6111de565b3480156106cb57600080fd5b50610561600480360360608110156106e257600080fd5b506001600160a01b03813581169160208101359091169060400135611205565b34801561070e57600080fd5b5061058a6112df565b34801561072357600080fd5b5061058a611335565b34801561073857600080fd5b5061058a61133b565b34801561074d57600080fd5b5061061b6004803603602081101561076457600080fd5b50356001600160a01b0316611340565b34801561078057600080fd5b50610789611373565b6040805160ff9092168252519081900360200190f35b3480156107ab57600080fd5b5061058a61137c565b3480156107c057600080fd5b5061058a611382565b3480156107d557600080fd5b5061058a611389565b3480156107ea57600080fd5b5061050c61138f565b3480156107ff57600080fd5b5061061b6004803603604081101561081657600080fd5b506001600160a01b038135169060200135151561139e565b34801561083a57600080fd5b506105616004803603604081101561085157600080fd5b506001600160a01b03813516906020013561141e565b34801561087357600080fd5b5061058a6114b1565b34801561088857600080fd5b5061058a6114b7565b34801561089d57600080fd5b5061058a6114cc565b3480156108b257600080fd5b5061058a6114e2565b3480156108c757600080fd5b5061050c6114e8565b3480156108dc57600080fd5b5061058a6114f7565b3480156108f157600080fd5b506107896114fd565b34801561090657600080fd5b5061058a6004803603604081101561091d57600080fd5b506001600160a01b038135169060200135611502565b34801561093f57600080fd5b5061058a61151f565b34801561095457600080fd5b50610561611525565b34801561096957600080fd5b5061061b6004803603604081101561098057600080fd5b506001600160a01b0381351690602001351515611535565b3480156109a457600080fd5b50610561611571565b3480156109b957600080fd5b5061058a611581565b3480156109ce57600080fd5b5061058a600480360360208110156109e557600080fd5b50356001600160a01b0316611587565b348015610a0157600080fd5b5061061b6115af565b348015610a1657600080fd5b5061061b61160f565b348015610a2b57600080fd5b5061058a611679565b348015610a4057600080fd5b5061056161167f565b348015610a5557600080fd5b5061061b60048036036020811015610a6c57600080fd5b50356001600160a01b0316611690565b348015610a8857600080fd5b5061050c6116c5565b348015610a9d57600080fd5b5061050c6116d9565b348015610ab257600080fd5b506105616116e8565b348015610ac757600080fd5b5061058a6116fe565b348015610adc57600080fd5b50610482611704565b348015610af157600080fd5b5061058a611764565b348015610b0657600080fd5b5061058a61176a565b348015610b1b57600080fd5b5061058a611770565b348015610b3057600080fd5b5061061b60048036036020811015610b4757600080fd5b50356001600160a01b0316611776565b348015610b6357600080fd5b5061056160048036036040811015610b7a57600080fd5b506001600160a01b0381351690602001356117a9565b348015610b9c57600080fd5b5061050c611892565b348015610bb157600080fd5b5061050c6118a1565b348015610bc657600080fd5b5061056160048036036040811015610bdd57600080fd5b506001600160a01b0381351690602001356118b0565b348015610bff57600080fd5b506105616118dc565b348015610c1457600080fd5b506104826118ec565b348015610c2957600080fd5b5061061b61197a565b348015610c3e57600080fd5b5061056160048036036020811015610c5557600080fd5b50356001600160a01b0316611b43565b348015610c7157600080fd5b5061050c611b58565b348015610c8657600080fd5b5061050c611b67565b348015610c9b57600080fd5b5061058a611b76565b348015610cb057600080fd5b5061050c611b7c565b348015610cc557600080fd5b5061058a611b8b565b348015610cda57600080fd5b5061061b60048036036020811015610cf157600080fd5b50351515611b91565b348015610d0657600080fd5b50610482611be3565b348015610d1b57600080fd5b5061056160048036036020811015610d3257600080fd5b50356001600160a01b0316611c3e565b348015610d4e57600080fd5b5061058a60048036036020811015610d6557600080fd5b5035611c5c565b348015610d7857600080fd5b5061058a611cb0565b348015610d8d57600080fd5b5061058a60048036036040811015610da457600080fd5b506001600160a01b0381358116916020013516611cb6565b348015610dc857600080fd5b5061061b60048036036020811015610ddf57600080fd5b50351515611ce1565b348015610df457600080fd5b5061050c611d34565b348015610e0957600080fd5b5061061b60048036036020811015610e2057600080fd5b50356001600160a01b0316611d43565b348015610e3c57600080fd5b5061050c611d5d565b348015610e5157600080fd5b5061050c611d6c565b348015610e6657600080fd5b5061056160048036036020811015610e7d57600080fd5b50356001600160a01b0316611d7b565b348015610e9957600080fd5b5061061b60048036036040811015610eb057600080fd5b5080359060200135611d90565b60008054604080516020601f6002600019610100600188161502019095169490940493840181900481028201810190925282815260609390929091830182828015610f495780601f10610f1e57610100808354040283529160200191610f49565b820191906000526020600020905b815481529060010190602001808311610f2c57829003601f168201915b5050505050905090565b601a546001600160a01b031681565b3360008181526028602090815260408083206001600160a01b038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a35060015b92915050565b60075481565b60105481565b60255490565b610fe36116e8565b610fec57600080fd5b601780546001600160a01b03199081166001600160a01b03978816179091556018805482169587169590951790945560198054851693861693909317909255601a80548416918516919091179055601d80549092169216919091179055565b600f5481565b601c546001600160a01b0316331461109f576040805162461bcd60e51b815260206004820152600c60248201526b4e6f74206f6c64206465762160a01b604482015290519081900360640190fd5b601c80546001600160a01b0319166001600160a01b0392909216919091179055565b6110c96116e8565b6110d257600080fd5b601f805460ff60a01b1916600160a01b1790556040517f41c787961cb389554b90a8dbfb700790a3f278f50ba1d330c0b555d884789b5a90600090a1565b6111186116e8565b61112157600080fd5b6005821015801561113457506127108211155b61117a576040805162461bcd60e51b8152602060048201526012602482015271125b9d985b1a59081a1bdb19081b1a5b5a5d60721b604482015290519081900360640190fd5b6005811015801561118d57506127108111155b6111d3576040805162461bcd60e51b8152602060048201526012602482015271125b9d985b1a59081cd95b1b081b1a5b5a5d60721b604482015290519081900360640190fd5b601391909155601255565b60006112006014546111fa6013546111f46112df565b90611ea4565b90611e62565b905090565b6000826001600160a01b03811661121b57600080fd5b6001600160a01b0385166000908152602860209081526040808320338452909152902054600019146112c8576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b03881660009081526028825283812033825290915291909120546112a3918590611efd565b6001600160a01b03861660009081526028602090815260408083203384529091529020555b6112d3858585611f94565b50600195945050505050565b602654601b546001600160a01b0390811660009081526027602052604080822054601554909316825281205490926112009290916111fa919061132f906a0357636f35a3ab8fffffff19906123e7565b906123e7565b600d5481565b601281565b6113486116e8565b61135157600080fd5b600580546001600160a01b0319166001600160a01b0392909216919091179055565b60025460ff1690565b60235481565b6201518081565b60001981565b601d546001600160a01b031681565b6113a66116e8565b6113af57600080fd5b6113b882612429565b6113f35760405162461bcd60e51b815260040180806020018281038252603b8152602001806134a9603b913960400191505060405180910390fd5b6001600160a01b03919091166000908152602960205260409020805460ff1916911515919091179055565b3360009081526028602090815260408083206001600160a01b038616845290915281205461144c9083611e08565b3360008181526028602090815260408083206001600160a01b0389168085529083529281902085905580519485525191937f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929081900390910190a350600192915050565b60085481565b6000611200620151806111fa4260115461242f565b60006112006014546111fa6012546111f46112df565b60255481565b6005546001600160a01b031681565b60125481565b600781565b602a60209081526000928352604080842090915290825290205481565b600c5481565b602154600160b01b900460ff1681565b61153d6116e8565b61154657600080fd5b6001600160a01b03919091166000908152602b60205260409020805460ff1916911515919091179055565b601f54600160a01b900460ff1681565b60135481565b6026546001600160a01b0382166000908152602760205260408120549091610fc39190611e62565b6115b76116e8565b6115c057600080fd5b6002546040516101009091046001600160a01b0316907ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482090600090a260028054610100600160a81b0319169055565b602160009054906101000a90046001600160a01b03166001600160a01b031663fff6cae96040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561165f57600080fd5b505af1158015611673573d6000803e3d6000fd5b50505050565b60115481565b602154600160a01b900460ff161590565b6116986116e8565b6116a157600080fd5b6001600160a01b03166000908152600660205260409020805460ff19166001179055565b60025461010090046001600160a01b031690565b601c546001600160a01b031681565b60025461010090046001600160a01b0316331490565b600e5481565b60018054604080516020601f60026000196101008789161502019095169490940493840181900481028201810190925282815260609390929091830182828015610f495780601f10610f1e57610100808354040283529160200191610f49565b600a5481565b60245481565b60225481565b61177e6116e8565b61178757600080fd5b601e80546001600160a01b0319166001600160a01b0392909216919091179055565b3360009081526028602090815260408083206001600160a01b03861684529091528120548083106117fd573360009081526028602090815260408083206001600160a01b038816845290915281205561182c565b61180781846123e7565b3360009081526028602090815260408083206001600160a01b03891684529091529020555b3360008181526028602090815260408083206001600160a01b0389168085529083529281902054815190815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060019392505050565b6021546001600160a01b031681565b601e546001600160a01b031681565b6000826001600160a01b0381166118c657600080fd5b6118d1338585611f94565b506001949350505050565b602154600160a81b900460ff1681565b6004805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156119725780601f1061194757610100808354040283529160200191611972565b820191906000526020600020905b81548152906001019060200180831161195557829003601f168201915b505050505081565b6021805460ff60a01b1916600160a01b1790556119956116e8565b61199e57600080fd5b6026543060009081526027602052604081205490916119bd9190611e62565b9050600081116119fe5760405162461bcd60e51b81526004018080602001828103825260328152602001806134776032913960400191505060405180910390fd5b6040805160028082526060820183526000926020830190803683370190505090503081600081518110611a2d57fe5b6001600160a01b039283166020918202929092010152601654825191169082906001908110611a5857fe5b6001600160a01b039283166020918202929092018101919091528054601a54604051635c11d79560e01b81526004810187815260006024830181905292861660648301819052426084840181905260a060448501908152895160a486015289519690981697635c11d795978b978b969495939460c4019187810191028083838b5b83811015611af1578181015183820152602001611ad9565b505050509050019650505050505050600060405180830381600087803b158015611b1a57600080fd5b505af1158015611b2e573d6000803e3d6000fd5b50506021805460ff60a01b1916905550505050565b602b6020526000908152604090205460ff1681565b601f546001600160a01b031681565b6018546001600160a01b031681565b60145481565b6017546001600160a01b031681565b60095481565b611b996116e8565b611ba257600080fd5b8015611bc8576021805460ff60b01b1916600160b01b8315150217905542602455611be0565b6021805460ff60b01b1916600160b01b831515021790555b50565b6003805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156119725780601f1061194757610100808354040283529160200191611972565b6001600160a01b031660009081526006602052604090205460ff1690565b6026546021546001600160a01b031660009081526027602052604081205490918291611c8791611e62565b9050611ca9611c946112df565b6111fa611ca2846002611ea4565b8690611ea4565b9392505050565b600b5481565b6001600160a01b03918216600090815260286020908152604080832093909416825291909152205490565b611ce96116e8565b611cf257600080fd5b8015611d18576021805460ff60a81b1916600160a81b8315150217905542602355611be0565b60218054821515600160a81b0260ff60a81b1990911617905550565b6019546001600160a01b031681565b611d4b6116e8565b611d5457600080fd5b611be08161244a565b601b546001600160a01b031681565b6020546001600160a01b031681565b60296020526000908152604090205460ff1681565b611d986116e8565b611da157600080fd5b60225442108015611db3575060235442105b611dfd576040805162461bcd60e51b8152602060048201526016602482015275105b1c9958591e481c9958985cd9481cdd185c9d195960521b604482015290519081900360640190fd5b602291909155602355565b600082820183811015611ca9576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000611ca983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506124c4565b600082611eb357506000610fc3565b82820282848281611ec057fe5b0414611ca95760405162461bcd60e51b81526004018080602001828103825260218152602001806134e46021913960400191505060405180910390fd5b60008184841115611f8c5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611f51578181015183820152602001611f39565b50505050905090810190601f168015611f7e5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b6001600160a01b0383166000908152602b602052604081205484908490849060ff1661203157611fc26114cc565b6001600160a01b0384166000908152602a602052604081208391611fe46114b7565b8152602001908152602001600020540111156120315760405162461bcd60e51b81526004018080602001828103825260288152602001806135056028913960400191505060405180910390fd5b6120396116c5565b6001600160a01b0316876001600160a01b031614158015612073575061205d6116c5565b6001600160a01b0316866001600160a01b031614155b156120cc57601f54600160a01b900460ff166120cc576040805162461bcd60e51b815260206004820152601360248201527214ddd85c081a5cc81b9bdd08195b98589b1959606a1b604482015290519081900360640190fd5b6001600160a01b03871660009081526029602052604090205460ff1615801561210e57506001600160a01b03861660009081526029602052604090205460ff16155b61214e576040805162461bcd60e51b815260206004820152600c60248201526b1a5b97d89b1858dadb1a5cdd60a21b604482015290519081900360640190fd5b602154600160a01b900460ff16156121725761216b878787612529565b935061233d565b61217a6125bb565b1561218757612187612627565b61218f6127bc565b1561219c5761219c61280e565b6121a4612ce1565b156121b1576121b1612d0c565b60006121c860265487611ea490919063ffffffff16565b6001600160a01b0389166000908152602760205260409020549091506121ee90826123e7565b6001600160a01b0389166000908152602760205260408120919091556122148989613127565b61221e5781612229565b61222989898461317b565b6001600160a01b03891660009081526027602052604090205490915061224f9082611e08565b6001600160a01b03808a16600090815260276020908152604080832094909455918c168152602a9091529081206122a89189919061228b6114b7565b815260200190815260200160002054611e0890919063ffffffff16565b6001600160a01b038a166000908152602a60205260408120906122c96114b7565b815260200190815260200160002081905550876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61232560265485611e6290919063ffffffff16565b60408051918252519081900360200190a36001955050505b6001600160a01b0382166000908152602b602052604090205460ff166123dd576123656111de565b6026546001600160a01b03841660009081526027602052604090205461238a91611e62565b11156123dd576040805162461bcd60e51b815260206004820152601b60248201527f43616e6e6f7420627579206d6f7265207468616e206c696d69742e0000000000604482015290519081900360640190fd5b5050509392505050565b6000611ca983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611efd565b3b151590565b6000818311156124425750808203610fc3565b506000610fc3565b6001600160a01b03811661245d57600080fd5b6002546040516001600160a01b0380841692610100900416907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600280546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b600081836125135760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315611f51578181015183820152602001611f39565b50600083858161251f57fe5b0495945050505050565b60008061254160265484611ea490919063ffffffff16565b6001600160a01b03861660009081526027602052604090205490915061256790826123e7565b6001600160a01b0380871660009081526027602052604080822093909355908616815220546125969082611e08565b6001600160a01b03851660009081526027602052604090205550600190509392505050565b602154600090600160a81b900460ff1680156125e557506025546c01431e0fae6d7217caa0000000115b80156125fc57506021546001600160a01b03163314155b80156126125750602154600160a01b900460ff16155b80156112005750506023546103840142101590565b602154600160a01b900460ff161561263e576127ba565b602254602354600091429081039190038261265b82610384611e62565b9050600061266a82600f611ea4565b90506301e133808410156126825761090894506126af565b630d286880841061269657600294506126af565b6302d2760084106126aa57600e94506126af565b60d394505b60005b828110156126e2576126d7629896806111fa6126ce828a611e08565b60255490611ea4565b6025556001016126b2565b506025546126fd906a0357636f35a3ab8fffffff1990611e62565b60265561271861270f83610384611ea4565b60235490611e08565b6023556005546040805160016209351760e01b0319815290516001600160a01b039092169163fff6cae99160048082019260009290919082900301818387803b15801561276457600080fd5b505af1158015612778573d6000803e3d6000fd5b505060255460408051918252518493507f72725a3b1e5bd622d6bcd1339bb31279c351abe8f541ac7fd320f24e1b1641f292509081900360200190a250505050505b565b602154600090600160b01b900460ff1680156127e25750602154600160a01b900460ff16155b80156127f957506021546001600160a01b03163314155b80156112005750506024546170800142101590565b6021805460ff60a01b1916600160a01b1790556026546017546001600160a01b0316600090815260276020526040812054909161284b9190611e62565b6017546001600160a01b03166000908152602760205260408082205430835291205491925061287a9190611e08565b30600090815260276020526040808220929092556017546001600160a01b031681529081208190556128ad826002611e62565b905060006128bb83836123e7565b9050806128ca57505050612cd2565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106128f957fe5b6001600160a01b03928316602091820292909201015260165482519116908290600190811061292457fe5b6001600160a01b03928316602091820292909201810191909152601654604080516370a0823160e01b8152306004820152905160009492909216926370a0823192602480840193829003018186803b15801561297f57600080fd5b505afa158015612993573d6000803e3d6000fd5b505050506040513d60208110156129a957600080fd5b505160208054601f54604051635c11d79560e01b8152600481018881526000602483018190526001600160a01b0393841660648401819052426084850181905260a0604486019081528b5160a48701528b51999a509590961697635c11d795978c9793968c96939593909260c49091019187810191028083838b5b83811015612a3c578181015183820152602001612a24565b505050509050019650505050505050600060405180830381600087803b158015612a6557600080fd5b505af1158015612a79573d6000803e3d6000fd5b50505050601f60009054906101000a90046001600160a01b03166001600160a01b0316633ccfd60b6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015612acd57600080fd5b505af1158015612ae1573d6000803e3d6000fd5b5050601654604080516370a0823160e01b8152306004820152905160009450612b68935085926001600160a01b0316916370a08231916024808301926020929190829003018186803b158015612b3657600080fd5b505afa158015612b4a573d6000803e3d6000fd5b505050506040513d6020811015612b6057600080fd5b5051906123e7565b6016546040805163095ea7b360e01b81527360ae616a2155ee3d9a68541ba4544862310933d460048201526024810184905290519293506001600160a01b039091169163095ea7b3916044808201926020929091908290030181600087803b158015612bd357600080fd5b505af1158015612be7573d6000803e3d6000fd5b505050506040513d6020811015612bfd57600080fd5b50508415801590612c0e5750600081115b15612cc7576020546016546021546040805162e8e33760e81b81523060048201526001600160a01b039384166024820152604481018a90526064810186905260006084820181905260a4820181905292841660c48201524260e48201529051929093169263e8e33700926101048083019360609383900390910190829087803b158015612c9a57600080fd5b505af1158015612cae573d6000803e3d6000fd5b505050506040513d6060811015612cc457600080fd5b50505b505042602455505050505b6021805460ff60a01b19169055565b602154600090600160a01b900460ff161580156112005750506021546001600160a01b031633141590565b6021805460ff60a01b1916600160a01b179055602654306000908152602760205260408120549091612d3e9190611e62565b905080612d4b5750612cd2565b601654604080516370a0823160e01b815230600482015290516000926001600160a01b0316916370a08231916024808301926020929190829003018186803b158015612d9657600080fd5b505afa158015612daa573d6000803e3d6000fd5b505050506040513d6020811015612dc057600080fd5b505160408051600280825260608201835292935060009290916020830190803683370190505090503081600081518110612df657fe5b6001600160a01b039283166020918202929092010152601654825191169082906001908110612e2157fe5b6001600160a01b039283166020918202929092018101919091528054601f54604051635c11d79560e01b81526004810188815260006024830181905292861660648301819052426084840181905260a060448501908152895160a486015289519690981697635c11d795978c978b969495939460c4019187810191028083838b5b83811015612eba578181015183820152602001612ea2565b505050509050019650505050505050600060405180830381600087803b158015612ee357600080fd5b505af1158015612ef7573d6000803e3d6000fd5b50505050601f60009054906101000a90046001600160a01b03166001600160a01b0316633ccfd60b6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015612f4b57600080fd5b505af1158015612f5f573d6000803e3d6000fd5b5050601654604080516370a0823160e01b8152306004820152905160009450612fb4935086926001600160a01b0316916370a08231916024808301926020929190829003018186803b158015612b3657600080fd5b601654601a546007546009549394506001600160a01b039283169363a9059cbb9390921691612ff591612fe79190611e08565b6009546111fa908790611ea4565b6040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050602060405180830381600087803b15801561303b57600080fd5b505af115801561304f573d6000803e3d6000fd5b505050506040513d602081101561306557600080fd5b50506016546018546007546009546001600160a01b039384169363a9059cbb9316916130a29161309491611e08565b6007546111fa908790611ea4565b6040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050602060405180830381600087803b1580156130e857600080fd5b505af11580156130fc573d6000803e3d6000fd5b505050506040513d602081101561311257600080fd5b5050505050506021805460ff60a01b19169055565b6021546000906001600160a01b038481169116148061315357506021546001600160a01b038381169116145b8015611ca9575050506001600160a01b031660009081526006602052604090205460ff161590565b600f54600a54600b5460215460009392919084906001600160a01b0388811691161415613202576131c8600e546131c2600d54600202600f54611e0890919063ffffffff16565b90611e08565b93506131e1600d54600a54611e0890919063ffffffff16565b92506131fa600d54600b54611e0890919063ffffffff16565b9150600e5490505b600061321d856111f46010548a611e6290919063ffffffff16565b905061325c61323b846111f46010548b611e6290919063ffffffff16565b601b546001600160a01b031660009081526027602052604090205490611e08565b601b546001600160a01b03166000908152602760205260409020556007546009546132b29161329c9161328e91611e08565b6010546111f4908b90611e62565b3060009081526027602052604090205490611e08565b306000908152602760205260409020556010546132fb906132da9086906111f4908b90611e62565b6017546001600160a01b031660009081526027602052604090205490611e08565b6017546001600160a01b031660009081526027602052604090205560105461334f9061332e9084906111f4908b90611e62565b601d546001600160a01b031660009081526027602052604090205490611e08565b601d546001600160a01b03166000908152602760205260409020556008546010546133a491613383916111f4908b90611e62565b6019546001600160a01b031660009081526027602052604090205490611e08565b6019546001600160a01b0316600090815260276020526040902055600c546010546133f9916133d8916111f4908b90611e62565b601c546001600160a01b031660009081526027602052604090205490611e08565b601c546001600160a01b0390811660009081526027602052604090209190915560265430918b16907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061344e908590611e62565b60408051918252519081900360200190a361346987826123e7565b999850505050505050505056fe5468657265206973206e6f204c65616620746f6b656e206465706f736974656420696e20746f6b656e20636f6e74726163744f6e6c7920636f6e747261637420616464726573732c206e6f7420616c6c6f776564206578746572616e6c6c79206f776e6564206163636f756e74536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7743616e6e6f742073656c6c206f72207472616e73666572206d6f7265207468616e206c696d69742ea2646970667358221220fbdb73f849cbfe105340bbbe1bc068b294b0b4548c0fc9acdc7fc35a76d1793264736f6c63430007060033608060405234801561001057600080fd5b5060008054336001600160a01b0319918216811783556002805490921617905561059a90819061004090396000f3fe608060405234801561001057600080fd5b50600436106100935760003560e01c80638da5cb5b116100665780638da5cb5b146100fa5780638f32d59b14610102578063c4d66de81461011e578063f2fde38b14610144578063fc0c546a1461016a57610093565b80633ccfd60b146100985780633e413bee146100a257806370c8b173146100c6578063715018a6146100f2575b600080fd5b6100a0610172565b005b6100aa6102c8565b604080516001600160a01b039092168252519081900360200190f35b6100a0600480360360408110156100dc57600080fd5b506001600160a01b0381351690602001356102d7565b6100a06103ca565b6100aa610423565b61010a610432565b604080519115158252519081900360200190f35b6100a06004803603602081101561013457600080fd5b50356001600160a01b0316610443565b6100a06004803603602081101561015a57600080fd5b50356001600160a01b03166104ca565b6100aa6104e7565b6002546001600160a01b031633146101c7576040805162461bcd60e51b815260206004820152601360248201527221b0b63632b91034b9903737ba103a37b5b2b760691b604482015290519081900360640190fd5b600154600254604080516370a0823160e01b815230600482015290516001600160a01b039384169363a9059cbb93169184916370a0823191602480820192602092909190829003018186803b15801561021f57600080fd5b505afa158015610233573d6000803e3d6000fd5b505050506040513d602081101561024957600080fd5b5051604080516001600160e01b031960e086901b1681526001600160a01b03909316600484015260248301919091525160448083019260209291908290030181600087803b15801561029a57600080fd5b505af11580156102ae573d6000803e3d6000fd5b505050506040513d60208110156102c457600080fd5b5050565b6001546001600160a01b031681565b6102df610432565b6102e857600080fd5b6001600160a01b03821661033c576102fe610423565b6001600160a01b03166108fc829081150290604051600060405180830381858888f19350505050158015610336573d6000803e3d6000fd5b506102c4565b816001600160a01b031663a9059cbb610353610423565b836040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050602060405180830381600087803b15801561039a57600080fd5b505af11580156103ae573d6000803e3d6000fd5b505050506040513d60208110156103c457600080fd5b50505050565b6103d2610432565b6103db57600080fd5b600080546040516001600160a01b03909116917ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482091a2600080546001600160a01b0319169055565b6000546001600160a01b031690565b6000546001600160a01b0316331490565b61044b610432565b61045457600080fd5b6001546001600160a01b0316156104a8576040805162461bcd60e51b8152602060048201526013602482015272105b1c9958591e481a5b9a5d1a585b1a5e9959606a1b604482015290519081900360640190fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b6104d2610432565b6104db57600080fd5b6104e4816104f6565b50565b6002546001600160a01b031681565b6001600160a01b03811661050957600080fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b039290921691909117905556fea264697066735822122004752189d589381eb06c9d6fb756b8a31fbd7985d3c389022e45cdfa6db0f45464736f6c63430007060033