[ { "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": false, "internalType": "uint256", "name": "amountAVAX", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "amountBOG", "type": "uint256" } ], "name": "AutoLiquify", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "bool", "name": "enabled", "type": "bool" } ], "name": "LockTilStartUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "owner", "type": "address" } ], "name": "OwnershipTransferred", "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": "_maxTxAmount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_maxWalletToken", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "holder", "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": "spender", "type": "address" } ], "name": "approveMax", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "adr", "type": "address" } ], "name": "authorize", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "autoLiquidityReceiver", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "amountPercentage", "type": "uint256" } ], "name": "clearStuckBalance", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [], "name": "getCirculatingSupply", "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": "getOwner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "adr", "type": "address" } ], "name": "isAuthorized", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "target", "type": "uint256" }, { "internalType": "uint256", "name": "accuracy", "type": "uint256" } ], "name": "isOverLiquified", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "isOwner", "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": "lockTilStart", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "lockUsed", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "marketingFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "marketingFeeReceiver", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [], "name": "pair", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "reflectionFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "router", "outputs": [ { "internalType": "contract IDEXRouter", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_minPeriod", "type": "uint256" }, { "internalType": "uint256", "name": "_minDistribution", "type": "uint256" } ], "name": "setDistributionCriteria", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "gas", "type": "uint256" } ], "name": "setDistributorSettings", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_autoLiquidityReceiver", "type": "address" }, { "internalType": "address", "name": "_marketingFeeReceiver", "type": "address" } ], "name": "setFeeReceivers", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_liquidityFee", "type": "uint256" }, { "internalType": "uint256", "name": "_reflectionFee", "type": "uint256" }, { "internalType": "uint256", "name": "_marketingFee", "type": "uint256" }, { "internalType": "uint256", "name": "_feeDenominator", "type": "uint256" } ], "name": "setFees", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "holder", "type": "address" }, { "internalType": "bool", "name": "exempt", "type": "bool" } ], "name": "setIsDividendExempt", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "holder", "type": "address" }, { "internalType": "bool", "name": "exempt", "type": "bool" } ], "name": "setIsFeeExempt", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "holder", "type": "address" }, { "internalType": "bool", "name": "exempt", "type": "bool" } ], "name": "setIsTxLimitExempt", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "_enabled", "type": "bool" } ], "name": "setLockTilStartEnabled", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "setMaxWallet", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_target", "type": "uint256" }, { "internalType": "uint256", "name": "_denominator", "type": "uint256" } ], "name": "setTargetLiquidity", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "_enabled", "type": "bool" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "name": "setTokenSwapSettings", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "setTxLimit", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "swapEnabled", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "swapThreshold", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "pure", "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": "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 payable", "name": "adr", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "adr", "type": "address" } ], "name": "unauthorize", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "stateMutability": "payable", "type": "receive" } ]
6080604052600280546001600160a01b03199081167304e0eb9cadc0680dd9894c3f5ca700d57174e01c9081178355600380548316909117905560048054821661dead17815560058054909216909155670de0b6b3a764000060065566470de4df8200006007819055600855600e91909155600f55600a60109081556011556064601281905560148054600160a01b60ff60a01b199091161760ff60a81b1916815560155560165561c350601a55601b805460ff1916600117905566038d7ea4c68000601c55348015620000d257600080fd5b50600080546001600160a01b0319908116339081178355825260016020818152604093849020805460ff1916909217909155601780549092167360ae616a2155ee3d9a68541ba4544862310933d41791829055825163c45a015560e01b815292516001600160a01b03929092169263c45a01559260048083019392829003018186803b1580156200016257600080fd5b505afa15801562000177573d6000803e3d6000fd5b505050506040513d60208110156200018e57600080fd5b5051604080516364e329cb60e11b815273b31f66aa3c1e785363f0875a1b74e27b85fd66c7600482015230602482015290516001600160a01b039092169163c9c65396916044808201926020929091908290030181600087803b158015620001f557600080fd5b505af11580156200020a573d6000803e3d6000fd5b505050506040513d60208110156200022157600080fd5b5051601880546001600160a01b0319166001600160a01b03928316179055306000908152600a60209081526040808320601780548616855292529182902060001990555490519116906200027590620003a2565b6001600160a01b03909116815260405190819003602001906000f080158015620002a3573d6000803e3d6000fd5b50601980546001600160a01b039283166001600160a01b031991821617909155336000818152600b60209081526040808320805460ff199081166001908117909255600c8452828520805482168317905560185488168552600d845282852080548216831790553085528285208054821683179055600454909716845281842080549097161790955560138054851673de701975d56a962c8fa27492cf9a10b7bfea3c3690811790915560148054909516179093556006548282526009845284822081905584519081529351919390927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3620003b0565b610eb6806200280283390190565b61244280620003c06000396000f3fe6080604052600436106102815760003560e01c806370a082311161014f578063b6a5d7de116100c1578063f0b37c041161007a578063f0b37c0414610919578063f2fde38b1461094c578063f708a64f1461097f578063f84ba65d146109ba578063f887ea40146109f5578063fe9fbb8014610a0a57610288565b8063b6a5d7de14610825578063ca33e64c14610858578063d51ed1c81461086d578063dd62ed3e14610897578063e96fada2146108d2578063eb341040146108e757610288565b806395d89b411161011357806395d89b411461074857806398118cb41461075d5780639d1944f514610772578063a4b45c001461079c578063a8aa1b31146107d7578063a9059cbb146107ec57610288565b806370a08231146106a557806378109e54146106d85780637d1db4a5146106ed57806383ad799414610702578063893d20e81461071757610288565b80632d48e896116101f35780635c85974f116101ac5780635c85974f146105b05780635d0044ca146105da578063658d4b7f146106045780636b67c4df1461063f5780636ddd1713146106545780636fcba3771461066957610288565b80632d48e896146104c55780632f54bf6e146104f5578063313ce567146105285780634b307c5014610553578063571ac8b0146105685780635a233a491461059b57610288565b806318830e0b1161024557806318830e0b146103d05780631da1db5e146103fe5780631df4ccfc14610428578063201e79911461043d57806323b872dd1461046d5780632b112e49146104b057610288565b80630445b6671461028d57806306fdde03146102b4578063095ea7b31461033e5780631161ae391461038b57806318160ddd146103bb57610288565b3661028857005b600080fd5b34801561029957600080fd5b506102a2610a3d565b60408051918252519081900360200190f35b3480156102c057600080fd5b506102c9610a43565b6040805160208082528351818301528351919283929083019185019080838360005b838110156103035781810151838201526020016102eb565b50505050905090810190601f1680156103305780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561034a57600080fd5b506103776004803603604081101561036157600080fd5b506001600160a01b038135169060200135610a64565b604080519115158252519081900360200190f35b34801561039757600080fd5b50610377600480360360408110156103ae57600080fd5b5080359060200135610acb565b3480156103c757600080fd5b506102a2610adf565b3480156103dc57600080fd5b506103fc600480360360208110156103f357600080fd5b50351515610ae5565b005b34801561040a57600080fd5b506103fc6004803603602081101561042157600080fd5b5035610bb7565b34801561043457600080fd5b506102a2610c3d565b34801561044957600080fd5b506103fc6004803603604081101561046057600080fd5b5080359060200135610c43565b34801561047957600080fd5b506103776004803603606081101561049057600080fd5b506001600160a01b03813581169160208101359091169060400135610c96565b3480156104bc57600080fd5b506102a2610d58565b3480156104d157600080fd5b506103fc600480360360408110156104e857600080fd5b5080359060200135610da1565b34801561050157600080fd5b506103776004803603602081101561051857600080fd5b50356001600160a01b0316610e59565b34801561053457600080fd5b5061053d610e6d565b6040805160ff9092168252519081900360200190f35b34801561055f57600080fd5b50610377610e72565b34801561057457600080fd5b506103776004803603602081101561058b57600080fd5b50356001600160a01b0316610e82565b3480156105a757600080fd5b50610377610e90565b3480156105bc57600080fd5b506103fc600480360360208110156105d357600080fd5b5035610ea0565b3480156105e657600080fd5b506103fc600480360360208110156105fd57600080fd5b5035610eed565b34801561061057600080fd5b506103fc6004803603604081101561062757600080fd5b506001600160a01b0381351690602001351515610f35565b34801561064b57600080fd5b506102a2610fa8565b34801561066057600080fd5b50610377610fae565b34801561067557600080fd5b506103fc6004803603608081101561068c57600080fd5b5080359060208101359060408101359060600135610fb7565b3480156106b157600080fd5b506102a2600480360360208110156106c857600080fd5b50356001600160a01b031661103d565b3480156106e457600080fd5b506102a2611058565b3480156106f957600080fd5b506102a261105e565b34801561070e57600080fd5b506102a2611064565b34801561072357600080fd5b5061072c61106a565b604080516001600160a01b039092168252519081900360200190f35b34801561075457600080fd5b506102c9611079565b34801561076957600080fd5b506102a2611098565b34801561077e57600080fd5b506103fc6004803603602081101561079557600080fd5b503561109e565b3480156107a857600080fd5b506103fc600480360360408110156107bf57600080fd5b506001600160a01b03813581169160200135166110fa565b3480156107e357600080fd5b5061072c611170565b3480156107f857600080fd5b506103776004803603604081101561080f57600080fd5b506001600160a01b03813516906020013561117f565b34801561083157600080fd5b506103fc6004803603602081101561084857600080fd5b50356001600160a01b031661118c565b34801561086457600080fd5b5061072c6111f6565b34801561087957600080fd5b506102a26004803603602081101561089057600080fd5b5035611205565b3480156108a357600080fd5b506102a2600480360360408110156108ba57600080fd5b506001600160a01b0381358116916020013516611245565b3480156108de57600080fd5b5061072c611270565b3480156108f357600080fd5b506103fc6004803603604081101561090a57600080fd5b5080351515906020013561127f565b34801561092557600080fd5b506103fc6004803603602081101561093c57600080fd5b50356001600160a01b03166112de565b34801561095857600080fd5b506103fc6004803603602081101561096f57600080fd5b50356001600160a01b0316611342565b34801561098b57600080fd5b506103fc600480360360408110156109a257600080fd5b506001600160a01b03813516906020013515156113f3565b3480156109c657600080fd5b506103fc600480360360408110156109dd57600080fd5b506001600160a01b038135169060200135151561156a565b348015610a0157600080fd5b5061072c6115dd565b348015610a1657600080fd5b5061037760048036036020811015610a2d57600080fd5b50356001600160a01b03166115ec565b601c5481565b604080518082019091526007815266105590551154d560ca1b602082015290565b336000818152600a602090815260408083206001600160a01b038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a35060015b92915050565b600082610ad783611205565b119392505050565b60065490565b610aee33610e59565b610b28576040805162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b604482015290519081900360640190fd5b601454600160a81b900460ff16610b645760148054600160a81b60ff60a01b19909116600160a01b841515021760ff60a81b1916179055610b72565b6014805460ff60a01b191690555b60145460408051600160a01b90920460ff1615158252517f2b27db57e94e474754b17ad26b358efda13cbcf4a9bbbc7ec92de2926a941f34916020908290030190a150565b610bc033610e59565b610bfa576040805162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b604482015290519081900360640190fd5b60135460405147916001600160a01b03169060648484020480156108fc02916000818181858888f19350505050158015610c38573d6000803e3d6000fd5b505050565b60115481565b610c4c336115ec565b610c8b576040805162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b604482015290519081900360640190fd5b601591909155601655565b6001600160a01b0383166000908152600a6020908152604080832033845290915281205460001914610d43576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387166000908152600a82528381203382529091529190912054610d1e91849061160a565b6001600160a01b0385166000908152600a602090815260408083203384529091529020555b610d4e8484846116a1565b90505b9392505050565b600554600090610d9c90610d74906001600160a01b031661103d565b600454610d9690610d8d906001600160a01b031661103d565b60065490611ac0565b90611ac0565b905090565b610daa336115ec565b610de9576040805162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b604482015290519081900360640190fd5b601954604080516316a4744b60e11b8152600481018590526024810184905290516001600160a01b0390921691632d48e8969160448082019260009290919082900301818387803b158015610e3d57600080fd5b505af1158015610e51573d6000803e3d6000fd5b505050505050565b6000546001600160a01b0390811691161490565b600990565b601454600160a01b900460ff1681565b6000610ac582600019610a64565b601454600160a81b900460ff1681565b610ea9336115ec565b610ee8576040805162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b604482015290519081900360640190fd5b600755565b610ef633610e59565b610f30576040805162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b604482015290519081900360640190fd5b600855565b610f3e336115ec565b610f7d576040805162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b604482015290519081900360640190fd5b6001600160a01b03919091166000908152600b60205260409020805460ff1916911515919091179055565b60105481565b601b5460ff1681565b610fc0336115ec565b610fff576040805162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b604482015290519081900360640190fd5b600e849055600f83905560108290556110228261101c8686611b02565b90611b02565b60118190556012829055811161103757600080fd5b50505050565b6001600160a01b031660009081526009602052604090205490565b60085481565b60075481565b600f5481565b6000546001600160a01b031690565b60408051808201909152600581526410551154d560da1b602082015290565b600e5481565b6110a7336115ec565b6110e6576040805162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b604482015290519081900360640190fd5b620b71b081106110f557600080fd5b601a55565b611103336115ec565b611142576040805162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b604482015290519081900360640190fd5b601380546001600160a01b039384166001600160a01b03199182161790915560148054929093169116179055565b6018546001600160a01b031681565b6000610d513384846116a1565b61119533610e59565b6111cf576040805162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b604482015290519081900360640190fd5b6001600160a01b03166000908152600160208190526040909120805460ff19169091179055565b6013546001600160a01b031681565b6000610ac5611212610d58565b60185461123f9061123890600290611232906001600160a01b031661103d565b90611b5c565b8590611b5c565b90611bb5565b6001600160a01b039182166000908152600a6020908152604080832093909416825291909152205490565b6014546001600160a01b031681565b611288336115ec565b6112c7576040805162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b604482015290519081900360640190fd5b601b805460ff191692151592909217909155601c55565b6112e733610e59565b611321576040805162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b604482015290519081900360640190fd5b6001600160a01b03166000908152600160205260409020805460ff19169055565b61134b33610e59565b611385576040805162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825580825260016020818152604093849020805460ff1916909217909155825191825291517f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc686163929181900390910190a150565b6113fc336115ec565b61143b576040805162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b604482015290519081900360640190fd5b6001600160a01b038216301480159061146257506018546001600160a01b03838116911614155b61146b57600080fd5b6001600160a01b0382166000908152600d60205260409020805460ff191682158015919091179091556115085760195460408051630a5b654b60e11b81526001600160a01b03858116600483015260006024830181905292519316926314b6ca969260448084019391929182900301818387803b1580156114eb57600080fd5b505af11580156114ff573d6000803e3d6000fd5b50505050611566565b6019546001600160a01b03838116600081815260096020526040808220548151630a5b654b60e11b8152600481019490945260248401525192909316926314b6ca969260448084019382900301818387803b158015610e3d57600080fd5b5050565b611573336115ec565b6115b2576040805162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b604482015290519081900360640190fd5b6001600160a01b03919091166000908152600c60205260409020805460ff1916911515919091179055565b6017546001600160a01b031681565b6001600160a01b031660009081526001602052604090205460ff1690565b600081848411156116995760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561165e578181015183820152602001611646565b50505050905090810190601f16801561168b5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600060148054906101000a900460ff161515600115151415806116d157506000546001600160a01b038581169116145b806116e957506000546001600160a01b038481169116145b6116f257600080fd5b601d5460ff161561170f57611708848484611bf7565b9050610d51565b6001600160a01b03841660009081526001602052604090205460ff1615801561174157506001600160a01b0383163014155b801561175b57506004546001600160a01b03848116911614155b801561177557506018546001600160a01b03848116911614155b801561178f57506014546001600160a01b03848116911614155b80156117a957506013546001600160a01b03848116911614155b156118005760006117b98461103d565b905060085483820111156117fe5760405162461bcd60e51b815260040180806020018281038252603e8152602001806123cf603e913960400191505060405180910390fd5b505b61180a8483611cd8565b611812611d46565b1561181f5761181f611d95565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b03871660009081526009909152919091205461187191849061160a565b6001600160a01b03851660009081526009602052604081209190915561189685612160565b6118a057826118aa565b6118aa858461217f565b6001600160a01b0385166000908152600960205260409020549091506118d09082611b02565b6001600160a01b038086166000908152600960209081526040808320949094559188168152600d909152205460ff16611974576019546001600160a01b03868116600081815260096020526040808220548151630a5b654b60e11b8152600481019490945260248401525192909316926314b6ca969260448084019382900301818387803b15801561196157600080fd5b505af1925050508015611972575060015b505b6001600160a01b0384166000908152600d602052604090205460ff16611a05576019546001600160a01b03858116600081815260096020526040808220548151630a5b654b60e11b8152600481019490945260248401525192909316926314b6ca969260448084019382900301818387803b1580156119f257600080fd5b505af1925050508015611a03575060015b505b601954601a54604080516001624d3b8760e01b031981526004810192909252516001600160a01b039092169163ffb2c4799160248082019260009290919082900301818387803b158015611a5857600080fd5b505af1925050508015611a69575060015b50836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3506001949350505050565b6000610d5183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061160a565b600082820183811015610d51576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600082611b6b57506000610ac5565b82820282848281611b7857fe5b0414610d515760405162461bcd60e51b81526004018080602001828103825260218152602001806123ae6021913960400191505060405180910390fd5b6000610d5183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612221565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600990915291822054611c4891849061160a565b6001600160a01b038086166000908152600960205260408082209390935590851681522054611c779083611b02565b6001600160a01b0380851660008181526009602090815260409182902094909455805186815290519193928816927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a35060019392505050565b60075481111580611d0157506001600160a01b0382166000908152600c602052604090205460ff165b611566576040805162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b604482015290519081900360640190fd5b6018546000906001600160a01b03163314801590611d675750601d5460ff16155b8015611d755750601b5460ff165b8015610d9c575050601c5430600090815260096020526040902054101590565b601d805460ff19166001179055601554601654600091611db491610acb565b611dc057600e54611dc3565b60005b90506000611de7600261123f60115461123f86601c54611b5c90919063ffffffff16565b3060009081526009602052604081205491925090611e059083611ac0565b6040805160028082526060808301845293945090916020830190803683370190505090503081600081518110611e3757fe5b60200260200101906001600160a01b031690816001600160a01b03168152505073b31f66aa3c1e785363f0875a1b74e27b85fd66c781600181518110611e7957fe5b6001600160a01b03928316602091820292909201810191909152601754604051633b158ab160e11b8152600481018681526000602483018190523060648401819052426084850181905260a060448601908152895160a487015289514799979097169763762b1562978c9795968c9690939260c49091019187820191028083838b5b83811015611f13578181015183820152602001611efb565b505050509050019650505050505050600060405180830381600087803b158015611f3c57600080fd5b505af1158015611f50573d6000803e3d6000fd5b505050506000611f698247611ac090919063ffffffff16565b90506000611f84611f7b886002611bb5565b60115490611ac0565b90506000611f99600261123f8481878d611b5c565b90506000611fb68361123f600f5487611b5c90919063ffffffff16565b90506000611fd38461123f60105488611b5c90919063ffffffff16565b9050601960009054906101000a90046001600160a01b03166001600160a01b031663d0e30db0836040518263ffffffff1660e01b81526004016000604051808303818588803b15801561202557600080fd5b505af193505050508015612037575060015b506010541561205e5760145460035461205e916001600160a01b0390811691849116612286565b88156121425760175460135460408051637c8d9fb960e11b8152306004820152602481018d905260006044820181905260648201526001600160a01b0392831660848201524260a48201529051919092169163f91b3f7291869160c48082019260609290919082900301818588803b1580156120d957600080fd5b505af11580156120ed573d6000803e3d6000fd5b50505050506040513d606081101561210457600080fd5b505060408051848152602081018b905281517f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b4506929181900390910190a15b61214a6122bb565b5050601d805460ff191690555050505050505050565b6001600160a01b03166000908152600b602052604090205460ff161590565b60008061219d60125461123f60115486611b5c90919063ffffffff16565b306000908152600960205260409020549091506121ba9082611b02565b30600081815260096020908152604091829020939093558051848152905191926001600160a01b038816927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a36122198382611ac0565b949350505050565b600081836122705760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561165e578181015183820152602001611646565b50600083858161227c57fe5b0495945050505050565b6000612298606461123f85603c611b5c565b905060006122a68483611ac0565b90506122b485838386612317565b5050505050565b600354604051479160646063840204916000916001600160a01b03169061c35090849084818181858888f193505050503d8060008114610e51576040519150601f19603f3d011682016040523d82523d6000602084013e610e51565b6040516001600160a01b0385169084156108fc029085906000818181858888f1935050505015801561234d573d6000803e3d6000fd5b506040516000906001600160a01b0383169061c35090859084818181858888f193505050503d806000811461239e576040519150601f19603f3d011682016040523d82523d6000602084013e6123a3565b606091505b505050505050505056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77546f74616c20486f6c64696e672069732063757272656e746c79206c696d697465642c20796f752063616e206e6f74206275792074686174206d7563682ea2646970667358221220abe72ccc67bd1126cbb8d2286ca52548e880261a049d4f97e918c1513828192564736f6c634300070400336080604052600180547304e0eb9cadc0680dd9894c3f5ca700d57174e01c6001600160a01b031991821681179092556002805490911690911790556ec097ce7bc90715b34b9f1000000000600c55610e10600d55670de0b6b3a7640000600e5534801561006b57600080fd5b50604051610eb6380380610eb68339818101604052602081101561008e57600080fd5b50516001600160a01b0381166100b8577360ae616a2155ee3d9a68541ba4544862310933d46100ba565b805b600380546001600160a01b03929092166001600160a01b0319928316179055600080549091163317905550610dc2806100f46000396000f3fe6080604052600436106100dd5760003560e01c8063ce7c2ac21161007f578063efca2eed11610059578063efca2eed14610254578063f0fc6bca14610269578063ffb2c4791461027e578063ffd49c84146102a8576100dd565b8063ce7c2ac2146101e6578063d0e30db014610237578063e2d2e2191461023f576100dd565b80632d48e896116100bb5780632d48e896146101775780633a98ef39146101a75780634fab0ae8146101bc578063997664d7146101d1576100dd565b806311ce023d146100e257806314b6ca961461010957806328fd319814610144575b600080fd5b3480156100ee57600080fd5b506100f76102bd565b60408051918252519081900360200190f35b34801561011557600080fd5b506101426004803603604081101561012c57600080fd5b506001600160a01b0381351690602001356102c3565b005b34801561015057600080fd5b506100f76004803603602081101561016757600080fd5b50356001600160a01b03166103e8565b34801561018357600080fd5b506101426004803603604081101561019a57600080fd5b5080359060200135610474565b3480156101b357600080fd5b506100f7610496565b3480156101c857600080fd5b506100f761049c565b3480156101dd57600080fd5b506100f76104a2565b3480156101f257600080fd5b506102196004803603602081101561020957600080fd5b50356001600160a01b03166104a8565b60408051938452602084019290925282820152519081900360600190f35b6101426104c9565b34801561024b57600080fd5b506100f7610761565b34801561026057600080fd5b506100f7610767565b34801561027557600080fd5b5061014261076d565b34801561028a57600080fd5b50610142600480360360208110156102a157600080fd5b5035610778565b3480156102b457600080fd5b506100f761085a565b600c5481565b6000546001600160a01b031633146102da57600080fd5b6001600160a01b038216600090815260076020526040902054156103015761030182610860565b60008111801561032757506001600160a01b038216600090815260076020526040902054155b1561033a5761033582610988565b61036d565b8015801561035f57506001600160a01b03821660009081526007602052604090205415155b1561036d5761036d826109e9565b6001600160a01b03821660009081526007602052604090205460085461039e91839161039891610ad6565b90610b21565b6008556001600160a01b03821660009081526007602052604090208190556103c581610b7b565b6001600160a01b0390921660009081526007602052604090206001019190915550565b6001600160a01b03811660009081526007602052604081205461040d5750600061046f565b6001600160a01b03821660009081526007602052604081205461042f90610b7b565b6001600160a01b0384166000908152600760205260409020600101549091508082116104605760009250505061046f565b61046a8282610ad6565b925050505b919050565b6000546001600160a01b0316331461048b57600080fd5b600d91909155600e55565b60085481565b600e5481565b60095481565b60076020526000908152604090208054600182015460029092015490919083565b6000546001600160a01b031633146104e057600080fd5b600154604080516370a0823160e01b815230600482015290516000926001600160a01b0316916370a08231916024808301926020929190829003018186803b15801561052b57600080fd5b505afa15801561053f573d6000803e3d6000fd5b505050506040513d602081101561055557600080fd5b505160408051600280825260608083018452939450909160208301908036833701905050905073b31f66aa3c1e785363f0875a1b74e27b85fd66c78160008151811061059d57fe5b6001600160a01b03928316602091820292909201015260018054835192169183919081106105c757fe5b6001600160a01b0392831660209182029290920181019190915260035460405163c57559dd60e01b815260006004820181815230604484018190524260648501819052608060248601908152895160848701528951969098169763c57559dd97349795968b969495939460a49091019187810191028083838b5b83811015610659578181015183820152602001610641565b50505050905001955050505050506000604051808303818588803b15801561068057600080fd5b505af1158015610694573d6000803e3d6000fd5b5050600154604080516370a0823160e01b815230600482015290516000955061071f94508793506001600160a01b03909216916370a0823191602480820192602092909190829003018186803b1580156106ed57600080fd5b505afa158015610701573d6000803e3d6000fd5b505050506040513d602081101561071757600080fd5b505190610ad6565b60095490915061072f9082610b21565b600955600854600c54610759916107509161074a9085610b98565b90610bf1565b600b5490610b21565b600b55505050565b600b5481565b600a5481565b61077633610860565b565b6000546001600160a01b0316331461078f57600080fd5b6004548061079d5750610857565b6000805a905060005b84831080156107b457508381105b156108525783600f54106107c8576000600f555b6107f46004600f54815481106107da57fe5b6000918252602090912001546001600160a01b0316610c33565b15610825576108256004600f548154811061080b57fe5b6000918252602090912001546001600160a01b0316610860565b61083a6108335a8490610ad6565b8490610b21565b92505a600f80546001908101909155909250016107a6565b505050505b50565b600d5481565b6001600160a01b03811660009081526007602052604090205461088257610857565b600061088d826103e8565b9050801561098457600a546108a29082610b21565b600a556001546040805163a9059cbb60e01b81526001600160a01b038581166004830152602482018590529151919092169163a9059cbb9160448083019260209291908290030181600087803b1580156108fb57600080fd5b505af115801561090f573d6000803e3d6000fd5b505050506040513d602081101561092557600080fd5b50506001600160a01b0382166000908152600660209081526040808320429055600790915290206002015461095a9082610b21565b6001600160a01b03831660009081526007602052604090206002810191909155546103c590610b7b565b5050565b600480546001600160a01b039092166000818152600560205260408120849055600184018355919091527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b90910180546001600160a01b0319169091179055565b6004805460001981019081106109fb57fe5b60009182526020808320909101546001600160a01b0384811684526005909252604090922054600480549290931692918110610a3357fe5b600091825260208083209190910180546001600160a01b0319166001600160a01b039485161790559183168152600591829052604081205460048054919392916000198101908110610a8157fe5b60009182526020808320909101546001600160a01b031683528201929092526040019020556004805480610ab157fe5b600082815260209020810160001990810180546001600160a01b031916905501905550565b6000610b1883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610c6f565b90505b92915050565b600082820183811015610b18576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000610b1b600c5461074a600b5485610b9890919063ffffffff16565b600082610ba757506000610b1b565b82820282848281610bb457fe5b0414610b185760405162461bcd60e51b8152600401808060200182810382526021815260200180610d6c6021913960400191505060405180910390fd5b6000610b1883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610d06565b600d546001600160a01b0382166000908152600660205260408120549091429101108015610b1b5750600e54610c68836103e8565b1192915050565b60008184841115610cfe5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610cc3578181015183820152602001610cab565b50505050905090810190601f168015610cf05780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b60008183610d555760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610cc3578181015183820152602001610cab565b506000838581610d6157fe5b049594505050505056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a26469706673582212208b0ce176ba1f55bc28850c8dedb211e364de88343079ac575dbf3b69316204e864736f6c63430007040033