[ { "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": "address", "name": "oldOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnerSet", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "account", "type": "address" }, { "indexed": false, "internalType": "bool", "name": "isMarketMaker", "type": "bool" } ], "name": "SetAutomatedMarketMaker", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "recipient", "type": "address" } ], "name": "SetBuyFeeRecipient", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "account", "type": "address" }, { "indexed": false, "internalType": "bool", "name": "isFeeExempt", "type": "bool" } ], "name": "SetFeeExemption", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "buyFee", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "sellFee", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "transferFee", "type": "uint256" } ], "name": "SetFees", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "recipient", "type": "address" } ], "name": "SetSellFeeRecipient", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "recipient", "type": "address" } ], "name": "SetTransferFeeRecipient", "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": "TAX_DENOM", "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": "account", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "burn", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "burnFrom", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "recipient", "type": "address" } ], "name": "buy", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [], "name": "buyFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "buyFeeRecipient", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "changeOwner", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [], "name": "getOwner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "address", "name": "recipient", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "getTax", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [], "name": "pauseTrading", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "permissions", "outputs": [ { "internalType": "bool", "name": "isFeeExempt", "type": "bool" }, { "internalType": "bool", "name": "isLiquidityPool", "type": "bool" }, { "internalType": "bool", "name": "isBlacklisted", "type": "bool" }, { "internalType": "bool", "name": "isPauseExempt", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "registerAutomatedMarketMaker", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "resumeTrading", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "sell", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "sellFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "sellFeeRecipient", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "recipient", "type": "address" } ], "name": "setBuyFeeRecipient", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "bool", "name": "isExempt", "type": "bool" } ], "name": "setFeeExempt", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_buyFee", "type": "uint256" }, { "internalType": "uint256", "name": "_sellFee", "type": "uint256" }, { "internalType": "uint256", "name": "_transferFee", "type": "uint256" } ], "name": "setFees", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "user", "type": "address" }, { "internalType": "bool", "name": "isBlacklisted", "type": "bool" } ], "name": "setIsBlacklisted", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "user", "type": "address" }, { "internalType": "bool", "name": "isExempt", "type": "bool" } ], "name": "setIsPauseExempt", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "recipient", "type": "address" } ], "name": "setSellFeeRecipient", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newSwapper", "type": "address" } ], "name": "setSwapper", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "recipient", "type": "address" } ], "name": "setTransferFeeRecipient", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "swapper", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "tradingPaused", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "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": [], "name": "transferFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "transferFeeRecipient", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "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": "account", "type": "address" } ], "name": "unRegisterAutomatedMarketMaker", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "token", "type": "address" } ], "name": "withdraw", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "withdrawBNB", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "stateMutability": "payable", "type": "receive" } ]
60806040526a0d3c21bcecceda10000000600190815560006004819055610bb86005556006556008805460ff1916909117905534801561003e57600080fd5b50600080546001600160a01b0319163390811782556040519091907f342827c97908e5e2f71151c08502a66d44b6f758e3ac2f1de95f02eb95f0a735908290a3336000818152600760209081526040808320805463ff0000ff191663010000011790556001546002835281842081905590519081527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36121ab806100ed6000396000f3fe60806040526004361061023f5760003560e01c806370a082311161012e578063a9059cbb116100ab578063dd62ed3e1161006f578063dd62ed3e14610797578063e4849b32146107dd578063e6f11200146107fd578063f088d5471461081d578063f89532a21461083057600080fd5b8063a9059cbb146106e4578063ac4dcb7614610704578063acb2ad6f14610724578063cec10c111461073a578063d7ad21ac1461075a57600080fd5b806395d89b41116100f257806395d89b41146106385780639a44b9e3146106645780639c82f2a414610684578063a0e38492146106a4578063a6f9dae1146106c457600080fd5b806370a082311461057f57806379cc6790146105b5578063893d20e8146105d55780638ebfc796146105f357806392a39d911461061357600080fd5b80632b3297f9116101bc578063470624021161018057806347062402146104ef57806351cff8d91461050557806353e23e2e1461052557806365fe050e1461053f57806367ffa8281461055f57600080fd5b80632b3297f91461043b578063304561bb14610473578063313ce567146104935780633eb193e2146104af57806342966c68146104cf57600080fd5b806318160ddd1161020357806318160ddd146103b15780631d111d13146103d057806323b872dd146103e55780632ac7b824146104055780632b14ca561461042557600080fd5b806301e88208146102a55780630694db1e1461032057806306fdde0314610335578063095ea7b31461036c5780631031e36e1461039c57600080fd5b366102a057600b5460405163f088d54760e01b81523360048201526001600160a01b039091169063f088d5479034906024016000604051808303818588803b15801561028a57600080fd5b505af115801561029e573d6000803e3d6000fd5b005b600080fd5b3480156102b157600080fd5b506102f16102c0366004611e60565b60076020526000908152604090205460ff808216916101008104821691620100008204811691630100000090041684565b604080519415158552921515602085015290151591830191909152151560608201526080015b60405180910390f35b34801561032c57600080fd5b5061029e610846565b34801561034157600080fd5b50604080518082019091526005815264507563696560d81b60208201525b6040516103179190611e7b565b34801561037857600080fd5b5061038c610387366004611ed0565b610885565b6040519015158152602001610317565b3480156103a857600080fd5b5061029e6108f2565b3480156103bd57600080fd5b506001545b604051908152602001610317565b3480156103dc57600080fd5b5061029e61092b565b3480156103f157600080fd5b5061038c610400366004611efa565b6109ad565b34801561041157600080fd5b5061029e610420366004611e60565b610a3f565b34801561043157600080fd5b506103c260055481565b34801561044757600080fd5b50600b5461045b906001600160a01b031681565b6040516001600160a01b039091168152602001610317565b34801561047f57600080fd5b50600a5461045b906001600160a01b031681565b34801561049f57600080fd5b5060405160128152602001610317565b3480156104bb57600080fd5b5061029e6104ca366004611e60565b610b48565b3480156104db57600080fd5b5061038c6104ea366004611f36565b610c00565b3480156104fb57600080fd5b506103c260045481565b34801561051157600080fd5b5061029e610520366004611e60565b610c0c565b34801561053157600080fd5b5060085461038c9060ff1681565b34801561054b57600080fd5b5061029e61055a366004611e60565b610d93565b34801561056b57600080fd5b5061029e61057a366004611e60565b610e9e565b34801561058b57600080fd5b506103c261059a366004611e60565b6001600160a01b031660009081526002602052604090205490565b3480156105c157600080fd5b5061038c6105d0366004611ed0565b610f5e565b3480156105e157600080fd5b506000546001600160a01b031661045b565b3480156105ff57600080fd5b5061029e61060e366004611f5d565b610fee565b34801561061f57600080fd5b5060085461045b9061010090046001600160a01b031681565b34801561064457600080fd5b5060408051808201909152600381526250554360e81b602082015261035f565b34801561067057600080fd5b5060095461045b906001600160a01b031681565b34801561069057600080fd5b5061029e61069f366004611e60565b6110a1565b3480156106b057600080fd5b5061029e6106bf366004611f5d565b6110ed565b3480156106d057600080fd5b5061029e6106df366004611e60565b61114a565b3480156106f057600080fd5b5061038c6106ff366004611ed0565b6111cf565b34801561071057600080fd5b5061029e61071f366004611e60565b6111fd565b34801561073057600080fd5b506103c260065481565b34801561074657600080fd5b5061029e610755366004611f94565b6112b5565b34801561076657600080fd5b5061077a610775366004611efa565b611409565b604080519283526001600160a01b03909116602083015201610317565b3480156107a357600080fd5b506103c26107b2366004611fc0565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b3480156107e957600080fd5b5061038c6107f8366004611f36565b61153c565b34801561080957600080fd5b5061029e610818366004611f5d565b611548565b61029e61082b366004611e60565b6115a7565b34801561083c57600080fd5b506103c261271081565b6000546001600160a01b031633146108795760405162461bcd60e51b815260040161087090611ff3565b60405180910390fd5b6008805460ff19169055565b3360008181526003602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906108e09086815260200190565b60405180910390a35060015b92915050565b6000546001600160a01b0316331461091c5760405162461bcd60e51b815260040161087090611ff3565b6008805460ff19166001179055565b6000546001600160a01b031633146109555760405162461bcd60e51b815260040161087090611ff3565b604051600090339047908381818185875af1925050503d8060008114610997576040519150601f19603f3d011682016040523d82523d6000602084013e61099c565b606091505b50509050806109aa57600080fd5b50565b6040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b03861660009081526003825283812033825290915291822054610a0891849061160b565b6001600160a01b0385166000908152600360209081526040808320338452909152902055610a37848484611645565b949350505050565b6000546001600160a01b03163314610a695760405162461bcd60e51b815260040161087090611ff3565b6001600160a01b038116610a8f5760405162461bcd60e51b815260040161087090612020565b6001600160a01b038116600090815260076020526040902054610100900460ff16610ae95760405162461bcd60e51b815260206004820152600a6024820152694e6f7420416e20414d4d60b01b6044820152606401610870565b6001600160a01b0381166000818152600760209081526040808320805461ff00191690558051938452908301919091527fc61655276240ba149963bf00ed68118036aceb86661c8530fc627aeb83d9d1f291015b60405180910390a150565b6000546001600160a01b03163314610b725760405162461bcd60e51b815260040161087090611ff3565b6001600160a01b038116610b985760405162461bcd60e51b815260040161087090612020565b600980546001600160a01b0319166001600160a01b038316908117909155600081815260076020908152604091829020805460ff1916600117905590519182527fc1705819a90a4e9c9fba1872573191b370b8778cd644e0050b90c99b3c0762a99101610b3d565b60006108ec338361194e565b6000546001600160a01b03163314610c365760405162461bcd60e51b815260040161087090611ff3565b6001600160a01b038116610c5c5760405162461bcd60e51b815260040161087090612020565b6040516370a0823160e01b81523060048201526000906001600160a01b0383169063a9059cbb90339083906370a0823190602401602060405180830381865afa158015610cad573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cd19190612046565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af1158015610d1c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d40919061205f565b905080610d8f5760405162461bcd60e51b815260206004820152601960248201527f4661696c757265204f6e20546f6b656e205769746864726177000000000000006044820152606401610870565b5050565b6000546001600160a01b03163314610dbd5760405162461bcd60e51b815260040161087090611ff3565b6001600160a01b038116610de35760405162461bcd60e51b815260040161087090612020565b6001600160a01b038116600090815260076020526040902054610100900460ff1615610e425760405162461bcd60e51b815260206004820152600e60248201526d416c726561647920416e20414d4d60901b6044820152606401610870565b6001600160a01b038116600081815260076020908152604091829020805461ff00191661010017905581519283526001908301527fc61655276240ba149963bf00ed68118036aceb86661c8530fc627aeb83d9d1f29101610b3d565b6000546001600160a01b03163314610ec85760405162461bcd60e51b815260040161087090611ff3565b6001600160a01b038116610eee5760405162461bcd60e51b815260040161087090612020565b60088054610100600160a81b0319166101006001600160a01b03841690810291909117909155600081815260076020908152604091829020805460ff1916600117905590519182527fffba9995ed8a822e426a175c6a29db4e239f0788c470ba2588c6bb3cc486a4499101610b3d565b6040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b03851660009081526003825283812033825290915291822054610fb991849061160b565b6001600160a01b0384166000908152600360209081526040808320338452909152902055610fe7838361194e565b9392505050565b6000546001600160a01b031633146110185760405162461bcd60e51b815260040161087090611ff3565b6001600160a01b03821661103e5760405162461bcd60e51b815260040161087090612020565b6001600160a01b038216600081815260076020908152604091829020805460ff19168515159081179091558251938452908301527f2293b760d6615c0f087e78599ce64d67197a7dba78cdd9e241f3cd23b46101f3910160405180910390a15050565b6000546001600160a01b031633146110cb5760405162461bcd60e51b815260040161087090611ff3565b600b80546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146111175760405162461bcd60e51b815260040161087090611ff3565b6001600160a01b0390911660009081526007602052604090208054911515620100000262ff000019909216919091179055565b6000546001600160a01b031633146111745760405162461bcd60e51b815260040161087090611ff3565b600080546040516001600160a01b03808516939216917f342827c97908e5e2f71151c08502a66d44b6f758e3ac2f1de95f02eb95f0a73591a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000336001600160a01b038416036111f2576111eb3383611aa1565b90506108ec565b6111eb338484611645565b6000546001600160a01b031633146112275760405162461bcd60e51b815260040161087090611ff3565b6001600160a01b03811661124d5760405162461bcd60e51b815260040161087090612020565b600a80546001600160a01b0319166001600160a01b038316908117909155600081815260076020908152604091829020805460ff1916600117905590519182527f78dd3f4c755a9774505b9155386a8765af9250233430ebf8ad314a8a76e43c6b9101610b3d565b6000546001600160a01b031633146112df5760405162461bcd60e51b815260040161087090611ff3565b6113888311156113245760405162461bcd60e51b815260206004820152601060248201526f084eaf2408ccaca40a8dede4090d2ced60831b6044820152606401610870565b61138882111561136a5760405162461bcd60e51b81526020600482015260116024820152700a6cad8d8408ccaca40a8dede4090d2ced607b1b6044820152606401610870565b6113888111156113b45760405162461bcd60e51b81526020600482015260156024820152740a8e4c2dce6cccae4408ccaca40a8dede4090d2ced605b1b6044820152606401610870565b60048390556005829055600681905560408051848152602081018490529081018290527f37322890d66d781059d797be5e2f27dc160a34d8bc0a8e09116cb9a773ce88ef9060600160405180910390a1505050565b6001600160a01b038316600090815260076020526040812054819060ff168061144a57506001600160a01b03841660009081526007602052604090205460ff165b1561145a57506000905080611534565b6001600160a01b038516600090815260076020526040902054610100900460ff16611507576001600160a01b038416600090815260076020526040902054610100900460ff166114d6576114c56127106114bf60065486611cb190919063ffffffff16565b90611d33565b600a546001600160a01b031661152f565b6114f16127106114bf60055486611cb190919063ffffffff16565b60085461010090046001600160a01b031661152f565b6115226127106114bf60045486611cb190919063ffffffff16565b6009546001600160a01b03165b915091505b935093915050565b60006108ec3383611aa1565b6000546001600160a01b031633146115725760405162461bcd60e51b815260040161087090611ff3565b6001600160a01b039091166000908152600760205260409020805491151563010000000263ff00000019909216919091179055565b600b5460405163f088d54760e01b81526001600160a01b0383811660048301529091169063f088d5479034906024016000604051808303818588803b1580156115ef57600080fd5b505af1158015611603573d6000803e3d6000fd5b505050505050565b6000818484111561162f5760405162461bcd60e51b81526004016108709190611e7b565b50600061163c8486612092565b95945050505050565b60006001600160a01b03831661168e5760405162461bcd60e51b815260206004820152600e60248201526d16995c9bc8149958da5c1a595b9d60921b6044820152606401610870565b600082116116ae5760405162461bcd60e51b8152600401610870906120a9565b6001600160a01b0384166000908152600260205260409020548211156116e65760405162461bcd60e51b8152600401610870906120ce565b6001600160a01b03841660009081526007602052604090205462010000900460ff161561174d5760405162461bcd60e51b815260206004820152601560248201527414d95b99195c88125cc8109b1858dadb1a5cdd1959605a1b6044820152606401610870565b60085460ff16156117b8576001600160a01b0384166000908152600760205260409020546301000000900460ff166117b85760405162461bcd60e51b815260206004820152600e60248201526d151c98591a5b99c814185d5cd95960921b6044820152606401610870565b604080518082018252601181527042616c616e636520556e646572666c6f7760781b6020808301919091526001600160a01b03871660009081526002909152919091205461180791849061160b565b6001600160a01b0385166000908152600260205260408120919091558061182f868686611409565b909250905081156118c55760006001600160a01b038216156118515781611853565b305b6001600160a01b0381166000908152600260205260409020549091506118799084611d75565b6001600160a01b038083166000818152600260205260409081902093909355915190891690600080516020612156833981519152906118bb9087815260200190565b60405180910390a3505b60006118d18584611dd4565b6001600160a01b0387166000908152600260205260409020549091506118f79082611d75565b6001600160a01b038088166000818152600260205260409081902093909355915190891690600080516020612156833981519152906119399085815260200190565b60405180910390a35060019695505050505050565b60006001600160a01b0383166119765760405162461bcd60e51b815260040161087090612020565b600082116119965760405162461bcd60e51b8152600401610870906120a9565b6001600160a01b0383166000908152600260205260409020548211156119ce5760405162461bcd60e51b8152600401610870906120ce565b604080518082018252601181527042616c616e636520556e646572666c6f7760781b6020808301919091526001600160a01b038616600090815260029091529190912054611a1d91849061160b565b6001600160a01b038416600090815260026020908152604091829020929092558051808201909152601081526f537570706c7920556e646572666c6f7760801b91810191909152600154611a7291849061160b565b6001556040518281526000906001600160a01b03851690600080516020612156833981519152906020016108e0565b6000808211611ac25760405162461bcd60e51b8152600401610870906120a9565b6001600160a01b038316600090815260026020526040902054821115611afa5760405162461bcd60e51b8152600401610870906120ce565b3360009081526007602052604090205462010000900460ff1615611b585760405162461bcd60e51b815260206004820152601560248201527414d95b99195c88125cc8109b1858dadb1a5cdd1959605a1b6044820152606401610870565b60085460ff1615611bba57336000908152600760205260409020546301000000900460ff16611bba5760405162461bcd60e51b815260206004820152600e60248201526d151c98591a5b99c814185d5cd95960921b6044820152606401610870565b6001600160a01b03831660009081526002602052604081208054849290611be2908490612092565b9091555050600b546001600160a01b031660009081526002602052604081208054849290611c119084906120fc565b9091555050600b546040518381526001600160a01b03918216918516906000805160206121568339815191529060200160405180910390a3600b5460405163252dbe7560e21b81526001600160a01b038581166004830152909116906394b6f9d490602401600060405180830381600087803b158015611c9057600080fd5b505af1158015611ca4573d6000803e3d6000fd5b5060019695505050505050565b600082600003611cc3575060006108ec565b6000611ccf8385612114565b905082611cdc8583612133565b14610fe75760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610870565b6000610fe783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611e16565b600080611d8283856120fc565b905083811015610fe75760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610870565b6000610fe783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061160b565b60008183611e375760405162461bcd60e51b81526004016108709190611e7b565b50600061163c8486612133565b80356001600160a01b0381168114611e5b57600080fd5b919050565b600060208284031215611e7257600080fd5b610fe782611e44565b600060208083528351808285015260005b81811015611ea857858101830151858201604001528201611e8c565b81811115611eba576000604083870101525b50601f01601f1916929092016040019392505050565b60008060408385031215611ee357600080fd5b611eec83611e44565b946020939093013593505050565b600080600060608486031215611f0f57600080fd5b611f1884611e44565b9250611f2660208501611e44565b9150604084013590509250925092565b600060208284031215611f4857600080fd5b5035919050565b80151581146109aa57600080fd5b60008060408385031215611f7057600080fd5b611f7983611e44565b91506020830135611f8981611f4f565b809150509250929050565b600080600060608486031215611fa957600080fd5b505081359360208301359350604090920135919050565b60008060408385031215611fd357600080fd5b611fdc83611e44565b9150611fea60208401611e44565b90509250929050565b60208082526013908201527221b0b63632b91034b9903737ba1037bbb732b960691b604082015260600190565b6020808252600c908201526b5a65726f204164647265737360a01b604082015260600190565b60006020828403121561205857600080fd5b5051919050565b60006020828403121561207157600080fd5b8151610fe781611f4f565b634e487b7160e01b600052601160045260246000fd5b6000828210156120a4576120a461207c565b500390565b6020808252600b908201526a16995c9bc8105b5bdd5b9d60aa1b604082015260600190565b602080825260149082015273496e73756666696369656e742042616c616e636560601b604082015260600190565b6000821982111561210f5761210f61207c565b500190565b600081600019048311821515161561212e5761212e61207c565b500290565b60008261215057634e487b7160e01b600052601260045260246000fd5b50049056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa26469706673582212203a3ef92916de53d5af357a4c0e77dff4af81134e8cd9e28321ace71ea1b40a2764736f6c634300080e0033