[ { "inputs": [], "stateMutability": "nonpayable", "type": "constructor" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint32", "name": "_timeTillUnlockLiquidity", "type": "uint32" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "AddLiquidity", "type": "event" }, { "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": "value", "type": "uint256" } ], "name": "RemoveLiquidity", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "sender", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "amount0In", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "amount1In", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "amount0Out", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "amount1Out", "type": "uint256" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" } ], "name": "Swap", "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": "WETH", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [], "name": "accruedFeeAmount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint32", "name": "_timeTillUnlockLiquidity", "type": "uint32" } ], "name": "addLiquidity", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_owner", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" } ], "name": "allowance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "approve", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "amountOutMin", "type": "uint256" } ], "name": "buy", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [], "name": "claimFees", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "_disable", "type": "bool" } ], "name": "disableFee", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "_maxWalletEnable", "type": "bool" } ], "name": "enableMaxWallet", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "_tradingEnable", "type": "bool" } ], "name": "enableTrading", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "factory", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "fee", "outputs": [ { "internalType": "uint16", "name": "", "type": "uint16" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "feeCollector", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "value", "type": "uint256" }, { "internalType": "bool", "name": "_buyBool", "type": "bool" } ], "name": "getAmountOut", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getReserves", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "percentSupplyDeployer", "type": "uint256" } ], "name": "initialize", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "lastTransaction", "outputs": [ { "internalType": "uint32", "name": "", "type": "uint32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "liquidityAdded", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "liquidityProvider", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "maxWallet", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "maxWalletEnable", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "sellAmount", "type": "uint256" }, { "internalType": "uint256", "name": "amountOutMin", "type": "uint256" } ], "name": "sell", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_newFeeCollector", "type": "address" } ], "name": "setFeeCollector", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_newLiquidityProvider", "type": "address" } ], "name": "setLiquidityProvider", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_maxWallet_", "type": "uint256" } ], "name": "setMaxWallet", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint16", "name": "_fee", "type": "uint16" } ], "name": "setTradingFee", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "timeTillUnlockLiquidity", "outputs": [ { "internalType": "uint32", "name": "", "type": "uint32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "token0", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [], "name": "token1", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "_totalSupply", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "tradingEnable", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "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" } ]
6080604052348015600e575f80fd5b50613bb98061001c5f395ff3fe60806040526004361061022f575f3560e01c806395d89b411161012d578063d79875eb116100aa578063ddca3f431161006e578063ddca3f43146107f6578063e624c4bc14610820578063f275f64b14610848578063f8b45b0514610870578063fe4b84df1461089a5761022f565b8063d79875eb14610722578063d94439231461074a578063d96a094a14610774578063dd62ed3e14610790578063ddadc277146107cc5761022f565b8063ae19139e116100f1578063ae19139e14610666578063c415b95c1461068e578063c45a0155146106b8578063d21220a7146106e2578063d294f0931461070c5761022f565b806395d89b41146105925780639a540abf146105bc578063a42dce80146105d8578063a9059cbb14610600578063ad5c46481461063c5761022f565b806318d24e9a116101bb57806360b778f51161017f57806360b778f5146104c45780636832e6ed146104ec57806370a0823114610516578063715018a6146105525780638da5cb5b146105685761022f565b806318d24e9a146103e457806323b872dd1461040c578063313ce567146104485780635b8bec55146104725780635d0044ca1461049c5761022f565b80630dfe1681116102025780630dfe16811461030057806311106ee21461032a57806312a54b62146103665780631693e8d41461039057806318160ddd146103ba5761022f565b80630531be921461023357806306fdde031461026f5780630902f1ac14610299578063095ea7b3146102c4575b5f80fd5b34801561023e575f80fd5b5061025960048036038101906102549190612bb7565b6108c2565b6040516102669190612c00565b60405180910390f35b34801561027a575f80fd5b506102836108e2565b6040516102909190612c89565b60405180910390f35b3480156102a4575f80fd5b506102ad61091e565b6040516102bb929190612cc1565b60405180910390f35b3480156102cf575f80fd5b506102ea60048036038101906102e59190612d12565b610973565b6040516102f79190612d6a565b60405180910390f35b34801561030b575f80fd5b50610314610989565b6040516103219190612d92565b60405180910390f35b348015610335575f80fd5b50610350600480360381019061034b9190612dd5565b6109a4565b60405161035d9190612e13565b60405180910390f35b348015610371575f80fd5b5061037a610a94565b6040516103879190612d6a565b60405180910390f35b34801561039b575f80fd5b506103a4610aac565b6040516103b19190612d6a565b60405180910390f35b3480156103c5575f80fd5b506103ce610ac4565b6040516103db9190612e13565b60405180910390f35b3480156103ef575f80fd5b5061040a60048036038101906104059190612e2c565b610b34565b005b348015610417575f80fd5b50610432600480360381019061042d9190612e57565b610c4c565b60405161043f9190612d6a565b60405180910390f35b348015610453575f80fd5b5061045c610dac565b6040516104699190612ec2565b60405180910390f35b34801561047d575f80fd5b50610486610db4565b6040516104939190612d92565b60405180910390f35b3480156104a7575f80fd5b506104c260048036038101906104bd9190612edb565b610ec4565b005b3480156104cf575f80fd5b506104ea60048036038101906104e59190612f3d565b610fa8565b005b3480156104f7575f80fd5b5061050061113e565b60405161050d9190612c00565b60405180910390f35b348015610521575f80fd5b5061053c60048036038101906105379190612bb7565b611158565b6040516105499190612e13565b60405180910390f35b34801561055d575f80fd5b5061056661119d565b005b348015610573575f80fd5b5061057c6114d0565b6040516105899190612d92565b60405180910390f35b34801561059d575f80fd5b506105a6611503565b6040516105b39190612c89565b60405180910390f35b6105d660048036038101906105d19190612f92565b611547565b005b3480156105e3575f80fd5b506105fe60048036038101906105f99190612bb7565b611678565b005b34801561060b575f80fd5b5061062660048036038101906106219190612d12565b611836565b6040516106339190612d6a565b60405180910390f35b348015610647575f80fd5b5061065061184c565b60405161065d9190612d92565b60405180910390f35b348015610671575f80fd5b5061068c60048036038101906106879190612e2c565b611867565b005b348015610699575f80fd5b506106a2611960565b6040516106af9190612d92565b60405180910390f35b3480156106c3575f80fd5b506106cc611a70565b6040516106d99190612d92565b60405180910390f35b3480156106ed575f80fd5b506106f6611a81565b6040516107039190612d92565b60405180910390f35b348015610717575f80fd5b50610720611a88565b005b34801561072d575f80fd5b5061074860048036038101906107439190612fbd565b611d0b565b005b348015610755575f80fd5b5061075e611fc4565b60405161076b9190612d6a565b60405180910390f35b61078e60048036038101906107899190612edb565b611fdc565b005b34801561079b575f80fd5b506107b660048036038101906107b19190612ffb565b612243565b6040516107c39190612e13565b60405180910390f35b3480156107d7575f80fd5b506107e06122c5565b6040516107ed9190612e13565b60405180910390f35b348015610801575f80fd5b5061080a6122cb565b6040516108179190613048565b60405180910390f35b34801561082b575f80fd5b5061084660048036038101906108419190612bb7565b61234d565b005b348015610853575f80fd5b5061086e60048036038101906108699190612e2c565b61250b565b005b34801561087b575f80fd5b50610884612604565b6040516108919190612e13565b60405180910390f35b3480156108a5575f80fd5b506108c060048036038101906108bb9190612edb565b61260a565b005b6006602052805f5260405f205f915054906101000a900463ffffffff1681565b6060600460556020303c6020516004605501815f1a810190508160011a810190508160021a5f60405280826040303c60205f528060205260605ff35b5f806007544761092e919061308e565b5f803073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054915091509091565b5f61097f33848461281b565b6001905092915050565b5f734200000000000000000000000000000000000006905090565b5f805f6109af61091e565b915091508315610a24575f61271060025f01600b9054906101000a900461ffff166127106109dd91906130c1565b61ffff16876109ec91906130f6565b6109f69190613164565b90508083610a049190613194565b8282610a1091906130f6565b610a1a9190613164565b9350505050610a8e565b5f8582610a319190613194565b8387610a3d91906130f6565b610a479190613164565b905061271060025f01600b9054906101000a900461ffff16612710610a6c91906130c1565b61ffff1682610a7b91906130f6565b610a859190613164565b90508093505050505b92915050565b5f60025f0160069054906101000a900460ff16905090565b5f60025f0160049054906101000a900460ff16905090565b5f600460556020303c6020516004605501815f1a808282602003303c5f5193505050505f808073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205481610b2f919061308e565b905090565b3073ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b7d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ba191906131db565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610c0e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c0590613250565b60405180910390fd5b8060025f0160076101000a81548160ff0219169083151502179055505f60025f01600b6101000a81548161ffff021916908361ffff16021790555050565b5f8160015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20541015610d08576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cff906132de565b60405180910390fd5b610d138484846129de565b610da184338460015f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610d9c919061308e565b61281b565b600190509392505050565b5f6012905090565b5f60025f0160099054906101000a900460ff1615610dd4575f9050610ec1565b5f73ffffffffffffffffffffffffffffffffffffffff1660045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e515760045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050610ec1565b3073ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e9a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ebe91906131db565b90505b90565b3073ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f0d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f3191906131db565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610f9e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f9590613250565b60405180910390fd5b8060038190555050565b3073ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ff1573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061101591906131db565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611082576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161107990613250565b60405180910390fd5b6101f48161ffff1611156110cb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110c290613346565b60405180910390fd5b8060025f01600b6101000a81548161ffff021916908361ffff1602179055505f8161ffff160361111357600160025f0160076101000a81548160ff0219169083151502179055505b5f8161ffff161461113b575f60025f0160076101000a81548160ff0219169083151502179055505b50565b5f60025f015f9054906101000a900463ffffffff16905090565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b3073ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156111e6573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061120a91906131db565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611277576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161126e90613250565b60405180910390fd5b60025f01600a9054906101000a900460ff161580156112e257505f73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b15611394573073ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611330573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061135491906131db565b60055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b60025f0160099054906101000a900460ff161580156113ff57505f73ffffffffffffffffffffffffffffffffffffffff1660045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b156114b1573073ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561144d573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061147191906131db565b60045f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b600160025f0160086101000a81548160ff021916908315150217905550565b5f60025f0160089054906101000a900460ff16156114f0575f9050611500565b601460416014602003303c60205ff35b90565b6060600460556020303c6020516004605501815f1a810190508160011a810190508160021a810190508160031a5f60405280826040303c60205f528060205260605ff35b5f151560025f0160059054906101000a900460ff1615151461159e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611595906133ae565b60405180910390fd5b600160025f0160056101000a81548160ff0219169083151502179055505f34116115fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115f490613416565b60405180910390fd5b8060025f015f6101000a81548163ffffffff021916908363ffffffff160217905550600160025f0160046101000a81548160ff0219169083151502179055507f0c6c8102f3ac634c5fb327ba1a5d5c18030294d9f5cc309afa9e8a9020a77175813460405161166d929190613434565b60405180910390a150565b3073ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156116c1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116e591906131db565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611752576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161174990613250565b60405180910390fd5b8060055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036117e357600160025f01600a6101000a81548160ff0219169083151502179055505b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614611833575f60025f01600a6101000a81548160ff0219169083151502179055505b50565b5f6118423384846129de565b6001905092915050565b5f734200000000000000000000000000000000000006905090565b3073ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118b0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118d491906131db565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611941576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161193890613250565b60405180910390fd5b8060025f0160066101000a81548160ff02191690831515021790555050565b5f60025f01600a9054906101000a900460ff1615611980575f9050611a6d565b5f73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146119fd5760055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050611a6d565b3073ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611a46573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a6a91906131db565b90505b90565b5f6014602d6014602003303c60205ff35b5f30905090565b5f600754905047811115611a9a574790505b5f6064602883611aaa91906130f6565b611ab49190613164565b90505f8183611ac3919061308e565b90505f6007819055505f821115611c56575f3073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611b1e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b4291906131db565b73ffffffffffffffffffffffffffffffffffffffff1663893d20e86040518163ffffffff1660e01b8152600401602060405180830381865afa158015611b8a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611bae91906131db565b73ffffffffffffffffffffffffffffffffffffffff1683604051611bd190613488565b5f6040518083038185875af1925050503d805f8114611c0b576040519150601f19603f3d011682016040523d82523d5f602084013e611c10565b606091505b5050905080611c54576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c4b906134e6565b60405180910390fd5b505b5f611c5f611960565b73ffffffffffffffffffffffffffffffffffffffff1682604051611c8290613488565b5f6040518083038185875af1925050503d805f8114611cbc576040519150601f19603f3d011682016040523d82523d5f602084013e611cc1565b606091505b5050905080611d05576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cfc9061354e565b60405180910390fd5b50505050565b60025f0160049054906101000a900460ff16611d5c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d53906135b6565b60405180910390fd5b5f80611d6661091e565b915091505f8482611d779190613194565b8386611d8391906130f6565b611d8d9190613164565b905080831015611dd2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dc99061361e565b60405180910390fd5b5f61271060025f01600b9054906101000a900461ffff1661ffff1683611df891906130f6565b611e029190613164565b905080820391505f8211611e4b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e4290613686565b60405180910390fd5b84821015611e8e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e85906136ee565b60405180910390fd5b8060075f8282540192505081905550611ea83330886129de565b5f3373ffffffffffffffffffffffffffffffffffffffff1683604051611ecd90613488565b5f6040518083038185875af1925050503d805f8114611f07576040519150601f19603f3d011682016040523d82523d5f602084013e611f0c565b606091505b5050905080611f50576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f4790613756565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8225f8a875f604051611fb394939291906137b6565b60405180910390a350505050505050565b5f60025f0160059054906101000a900460ff16905090565b60025f0160049054906101000a900460ff1661202d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612024906135b6565b60405180910390fd5b5f61271060025f01600b9054906101000a900461ffff1661ffff163461205391906130f6565b61205d9190613164565b90505f81340390508160075f82825401925050819055505f8061207e61091e565b915091505f82828561209091906130f6565b61209a9190613164565b90505f81116120de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120d590613843565b60405180910390fd5b60025f0160069054906101000a900460ff1615612182576003545f803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054826121409190613194565b1115612181576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612178906138ab565b60405180910390fd5b5b858110156121c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121bc906136ee565b60405180910390fd5b6121d03033836129de565b3373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822345f808660405161223394939291906138c9565b60405180910390a3505050505050565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b60075481565b5f60025f0160079054906101000a900460ff16156122eb575f905061234a565b5f60025f01600b9054906101000a900461ffff1661ffff16146123225760025f01600b9054906101000a900461ffff16905061234a565b600460556020303c6020516004605501815f1a810190508160011a808282602003303c60205ff35b90565b3073ffffffffffffffffffffffffffffffffffffffff16635b8bec556040518163ffffffff1660e01b8152600401602060405180830381865afa158015612396573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123ba91906131db565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612427576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161241e9061397c565b60405180910390fd5b8060045f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036124b857600160025f0160096101000a81548160ff0219169083151502179055505b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614612508575f60025f0160096101000a81548160ff0219169083151502179055505b50565b3073ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612554573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061257891906131db565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146125e5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125dc90613250565b60405180910390fd5b8060025f0160046101000a81548160ff02191690831515021790555050565b60035481565b5f805f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205414612651575f80fd5b5f3073ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561269b573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906126bf91906131db565b90505f3073ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561270b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061272f91906139ae565b90506064838261273f91906130f6565b6127499190613164565b5f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505f805f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054826127d2919061308e565b9050805f803073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555050505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612889576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161288090613a49565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036128f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128ee90613ad7565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516129d19190612e13565b60405180910390a3505050565b805f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20541015612a5d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a5490613b65565b60405180910390fd5b805f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282540392505081905550805f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612b4c9190612e13565b60405180910390a3505050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f612b8682612b5d565b9050919050565b612b9681612b7c565b8114612ba0575f80fd5b50565b5f81359050612bb181612b8d565b92915050565b5f60208284031215612bcc57612bcb612b59565b5b5f612bd984828501612ba3565b91505092915050565b5f63ffffffff82169050919050565b612bfa81612be2565b82525050565b5f602082019050612c135f830184612bf1565b92915050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f612c5b82612c19565b612c658185612c23565b9350612c75818560208601612c33565b612c7e81612c41565b840191505092915050565b5f6020820190508181035f830152612ca18184612c51565b905092915050565b5f819050919050565b612cbb81612ca9565b82525050565b5f604082019050612cd45f830185612cb2565b612ce16020830184612cb2565b9392505050565b612cf181612ca9565b8114612cfb575f80fd5b50565b5f81359050612d0c81612ce8565b92915050565b5f8060408385031215612d2857612d27612b59565b5b5f612d3585828601612ba3565b9250506020612d4685828601612cfe565b9150509250929050565b5f8115159050919050565b612d6481612d50565b82525050565b5f602082019050612d7d5f830184612d5b565b92915050565b612d8c81612b7c565b82525050565b5f602082019050612da55f830184612d83565b92915050565b612db481612d50565b8114612dbe575f80fd5b50565b5f81359050612dcf81612dab565b92915050565b5f8060408385031215612deb57612dea612b59565b5b5f612df885828601612cfe565b9250506020612e0985828601612dc1565b9150509250929050565b5f602082019050612e265f830184612cb2565b92915050565b5f60208284031215612e4157612e40612b59565b5b5f612e4e84828501612dc1565b91505092915050565b5f805f60608486031215612e6e57612e6d612b59565b5b5f612e7b86828701612ba3565b9350506020612e8c86828701612ba3565b9250506040612e9d86828701612cfe565b9150509250925092565b5f60ff82169050919050565b612ebc81612ea7565b82525050565b5f602082019050612ed55f830184612eb3565b92915050565b5f60208284031215612ef057612eef612b59565b5b5f612efd84828501612cfe565b91505092915050565b5f61ffff82169050919050565b612f1c81612f06565b8114612f26575f80fd5b50565b5f81359050612f3781612f13565b92915050565b5f60208284031215612f5257612f51612b59565b5b5f612f5f84828501612f29565b91505092915050565b612f7181612be2565b8114612f7b575f80fd5b50565b5f81359050612f8c81612f68565b92915050565b5f60208284031215612fa757612fa6612b59565b5b5f612fb484828501612f7e565b91505092915050565b5f8060408385031215612fd357612fd2612b59565b5b5f612fe085828601612cfe565b9250506020612ff185828601612cfe565b9150509250929050565b5f806040838503121561301157613010612b59565b5b5f61301e85828601612ba3565b925050602061302f85828601612ba3565b9150509250929050565b61304281612f06565b82525050565b5f60208201905061305b5f830184613039565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61309882612ca9565b91506130a383612ca9565b92508282039050818111156130bb576130ba613061565b5b92915050565b5f6130cb82612f06565b91506130d683612f06565b9250828203905061ffff8111156130f0576130ef613061565b5b92915050565b5f61310082612ca9565b915061310b83612ca9565b925082820261311981612ca9565b915082820484148315176131305761312f613061565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61316e82612ca9565b915061317983612ca9565b92508261318957613188613137565b5b828204905092915050565b5f61319e82612ca9565b91506131a983612ca9565b92508282019050808211156131c1576131c0613061565b5b92915050565b5f815190506131d581612b8d565b92915050565b5f602082840312156131f0576131ef612b59565b5b5f6131fd848285016131c7565b91505092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f61323a602083612c23565b915061324582613206565b602082019050919050565b5f6020820190508181035f8301526132678161322e565b9050919050565b7f4552433331343a207472616e7366657220616d6f756e742065786365656473205f8201527f616c6c6f77616e63650000000000000000000000000000000000000000000000602082015250565b5f6132c8602983612c23565b91506132d38261326e565b604082019050919050565b5f6020820190508181035f8301526132f5816132bc565b9050919050565b7f6d617820352520666565000000000000000000000000000000000000000000005f82015250565b5f613330600a83612c23565b915061333b826132fc565b602082019050919050565b5f6020820190508181035f83015261335d81613324565b9050919050565b7f4c697175696469747920616c72656164792061646465640000000000000000005f82015250565b5f613398601783612c23565b91506133a382613364565b602082019050919050565b5f6020820190508181035f8301526133c58161338c565b9050919050565b7f4e6f204554482073656e740000000000000000000000000000000000000000005f82015250565b5f613400600b83612c23565b915061340b826133cc565b602082019050919050565b5f6020820190508181035f83015261342d816133f4565b9050919050565b5f6040820190506134475f830185612bf1565b6134546020830184612cb2565b9392505050565b5f81905092915050565b50565b5f6134735f8361345b565b915061347e82613465565b5f82019050919050565b5f61349282613468565b9150819050919050565b7f5472616e73666572206f6620666163746f7279207368617265206661696c65645f82015250565b5f6134d0602083612c23565b91506134db8261349c565b602082019050919050565b5f6020820190508181035f8301526134fd816134c4565b9050919050565b7f5472616e73666572206f66206f776e6572207368617265206661696c656400005f82015250565b5f613538601e83612c23565b915061354382613504565b602082019050919050565b5f6020820190508181035f8301526135658161352c565b9050919050565b7f54726164696e67206e6f7420656e61626c6500000000000000000000000000005f82015250565b5f6135a0601283612c23565b91506135ab8261356c565b602082019050919050565b5f6020820190508181035f8301526135cd81613594565b9050919050565b7f496e73756666696369656e742045544820696e207265736572766573000000005f82015250565b5f613608601c83612c23565b9150613613826135d4565b602082019050919050565b5f6020820190508181035f830152613635816135fc565b9050919050565b7f53656c6c20616d6f756e7420746f6f206c6f77000000000000000000000000005f82015250565b5f613670601383612c23565b915061367b8261363c565b602082019050919050565b5f6020820190508181035f83015261369d81613664565b9050919050565b7f736c6970706167652072656163686564000000000000000000000000000000005f82015250565b5f6136d8601083612c23565b91506136e3826136a4565b602082019050919050565b5f6020820190508181035f830152613705816136cc565b9050919050565b7f436f756c64206e6f742073656c6c0000000000000000000000000000000000005f82015250565b5f613740600e83612c23565b915061374b8261370c565b602082019050919050565b5f6020820190508181035f83015261376d81613734565b9050919050565b5f819050919050565b5f819050919050565b5f6137a061379b61379684613774565b61377d565b612ca9565b9050919050565b6137b081613786565b82525050565b5f6080820190506137c95f8301876137a7565b6137d66020830186612cb2565b6137e36040830185612cb2565b6137f060608301846137a7565b95945050505050565b7f426f7567687420616d6f756e7420746f6f206c6f7700000000000000000000005f82015250565b5f61382d601583612c23565b9150613838826137f9565b602082019050919050565b5f6020820190508181035f83015261385a81613821565b9050919050565b7f4d61782077616c6c6574206578636565646564000000000000000000000000005f82015250565b5f613895601383612c23565b91506138a082613861565b602082019050919050565b5f6020820190508181035f8301526138c281613889565b9050919050565b5f6080820190506138dc5f830187612cb2565b6138e960208301866137a7565b6138f660408301856137a7565b6139036060830184612cb2565b95945050505050565b7f596f7520617265206e6f7420746865206c69717569646974792070726f7669645f8201527f6572000000000000000000000000000000000000000000000000000000000000602082015250565b5f613966602283612c23565b91506139718261390c565b604082019050919050565b5f6020820190508181035f8301526139938161395a565b9050919050565b5f815190506139a881612ce8565b92915050565b5f602082840312156139c3576139c2612b59565b5b5f6139d08482850161399a565b91505092915050565b7f4552433331343a20617070726f76652066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f613a33602583612c23565b9150613a3e826139d9565b604082019050919050565b5f6020820190508181035f830152613a6081613a27565b9050919050565b7f4552433331343a20617070726f766520746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f613ac1602383612c23565b9150613acc82613a67565b604082019050919050565b5f6020820190508181035f830152613aee81613ab5565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f613b4f602683612c23565b9150613b5a82613af5565b604082019050919050565b5f6020820190508181035f830152613b7c81613b43565b905091905056fea2646970667358221220713e9029334bdb3912330fee8016488b612935cfa63f51377900ccab7834190664736f6c634300081a0033