[ { "inputs": [], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [], "name": "ReentrancyGuardReentrantCall", "type": "error" }, { "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": "address", "name": "", "type": "address" }, { "indexed": false, "internalType": "bool", "name": "", "type": "bool" } ], "name": "ExcludeStatus", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "previousOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "RecoveredETH", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "RecoveredTokens", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "bool", "name": "enabled", "type": "bool" } ], "name": "SwapAndLiquifyEnabledUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "amountIn", "type": "uint256" }, { "indexed": false, "internalType": "address[]", "name": "path", "type": "address[]" } ], "name": "SwapTokensForETH", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "bool", "name": "", "type": "bool" } ], "name": "TransferStatus", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "UpdateBuyFee", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "", "type": "address" } ], "name": "UpdateMarketingWallet", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "UpdateSellFee", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "UpdateTokensToSwap", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "UpdateTransferFee", "type": "event" }, { "inputs": [ { "internalType": "address", "name": "_owner", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" } ], "name": "allowance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "approve", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "buyFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "subtractedValue", "type": "uint256" } ], "name": "decreaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "inSwapAndLiquify", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "includeInFee", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "addedValue", "type": "uint256" } ], "name": "increaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "isPresaleNoFee", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "marketingTokensCollected", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "marketingWallet", "outputs": [ { "internalType": "address payable", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "minimumTokensBeforeSwap", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "recoverETHfromContract", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_tokenAddress", "type": "address" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "name": "recoverTokensFromContract", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "sellFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "setFiveFee", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_marketingWallet", "type": "address" } ], "name": "setMarketingWallet", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "setPresaleAddress", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "_enabled", "type": "bool" } ], "name": "setSwapAndLiquifyEnabled", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_minimumTokensBeforeSwap", "type": "uint256" } ], "name": "setTokensToSwap", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "setZeroFee", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "swapAndLiquify", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "swapAndLiquifyEnabled", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "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": [], "name": "transferFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "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": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "uniswapV2Pair", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "uniswapV2Router", "outputs": [ { "internalType": "contract IUniswapV2Router02", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "stateMutability": "payable", "type": "receive" } ]
60e06040526a084595161401484a00000060055573d1469753892df565b160317ad228b201921dd1cc600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060056007556000600855600f6009556000600a5569021e19e0c9bab2400000600b556001600c60016101000a81548160ff021916908315150217905550348015620000b257600080fd5b50620000d3620000c76200081660201b60201c565b6200081e60201b60201c565b6001808190555060055460026000620000f16200081660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600060384603620001c3577310ed43c718714eb63d5aa57b78b54704e256024e905060016004600073407993575c91ce7643a4d4ccacc9a98c36ee1bbe73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555062000465565b60614603620002555773d99d1c33f9fc3444f8101754abc46c52416550d19050600160046000735e5b9be5fd939c578abe5800a90c566eeeba44a573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555062000464565b61a86a46036200027c577360ae616a2155ee3d9a68541ba4544862310933d4905062000463565b60894603620002a25773a5e0829caced8ffdd4de3c43696c57f7d7a678ff905062000462565b6117b24603620002c957734169db906fcbfb8b12dbd20d98850aee05b7d889905062000461565b60fa4603620002ef5773f491e7b69e4244ad4002bc14e878a34207e38c29905062000460565b61a4b146036200038257731b02da8cb0d097eb8d57a175b88c7d8b47997506905060016004600073ebb415084ce323338cfd3174162964cc23753dfd73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506200045f565b6001461480620003925750600546145b156200042157737a250d5630b4cf539739df2c5dacb4c659f2488d90506001600460007371b5759d73262fbb223956913ecf4ecc5105764173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506200045e565b6040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620004559062000b3d565b60405180910390fd5b5b5b5b5b5b5b5b60008190508073ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620004b6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004dc919062000bc9565b73ffffffffffffffffffffffffffffffffffffffff1660c08173ffffffffffffffffffffffffffffffffffffffff16815250508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200055b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000581919062000bc9565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060c0516040518363ffffffff1660e01b8152600401620005bf92919062000c0c565b6020604051808303816000875af1158015620005df573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000605919062000bc9565b73ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff16815250508073ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff1681525050620006a1336080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff620008e260201b60201c565b620006d6306080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff620008e260201b60201c565b600160046000620006ec62000ab360201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620007a56200081660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60055460405162000806919062000c54565b60405180910390a3505062000da1565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160362000954576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200094b9062000ce7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603620009c6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620009bd9062000d7f565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405162000aa6919062000c54565b60405180910390a3505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600082825260208201905092915050565b7f4e6f742074686520636f727265637420726f7574652e00000000000000000000600082015250565b600062000b2560168362000adc565b915062000b328262000aed565b602082019050919050565b6000602082019050818103600083015262000b588162000b16565b9050919050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000b918262000b64565b9050919050565b62000ba38162000b84565b811462000baf57600080fd5b50565b60008151905062000bc38162000b98565b92915050565b60006020828403121562000be25762000be162000b5f565b5b600062000bf28482850162000bb2565b91505092915050565b62000c068162000b84565b82525050565b600060408201905062000c23600083018562000bfb565b62000c32602083018462000bfb565b9392505050565b6000819050919050565b62000c4e8162000c39565b82525050565b600060208201905062000c6b600083018462000c43565b92915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600062000ccf60248362000adc565b915062000cdc8262000c71565b604082019050919050565b6000602082019050818103600083015262000d028162000cc0565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b600062000d6760228362000adc565b915062000d748262000d09565b604082019050919050565b6000602082019050818103600083015262000d9a8162000d58565b9050919050565b60805160a05160c05161356962000ded6000396000611fbb015260008181610b5501528181611b690152611bbc01526000818161086c0152818161202e015261205501526135696000f3fe6080604052600436106102085760003560e01c80636fd7575711610118578063b29ad50a116100a0578063d2d7ad831161006f578063d2d7ad8314610730578063dd62ed3e1461075b578063e6be4a7214610798578063ea2f0b37146107c1578063f2fde38b146107ea5761020f565b8063b29ad50a146106b0578063bdb9f28d146106c7578063c49b9a80146106f0578063ce831ed5146107195761020f565b80638da5cb5b116100e75780638da5cb5b146105b557806395d89b41146105e0578063a457c2d71461060b578063a9059cbb14610648578063acb2ad6f146106855761020f565b80636fd757571461051f57806370a0823114610536578063715018a61461057357806375f0a8741461058a5761020f565b8063313ce5671161019b57806349bd5a5e1161016a57806349bd5a5e1461045e5780634a74bb02146104895780635d098b38146104b457806365247804146104dd5780636ca60bc6146104f45761020f565b8063313ce567146103a257806339509351146103cd578063461d94761461040a57806347062402146104335761020f565b80631ed88ec9116101d75780631ed88ec9146102d2578063220f66961461030f57806323b872dd1461033a5780632b14ca56146103775761020f565b806306fdde0314610214578063095ea7b31461023f5780631694505e1461027c57806318160ddd146102a75761020f565b3661020f57005b600080fd5b34801561022057600080fd5b50610229610813565b60405161023691906123cb565b60405180910390f35b34801561024b57600080fd5b5061026660048036038101906102619190612486565b61084c565b60405161027391906124e1565b60405180910390f35b34801561028857600080fd5b5061029161086a565b60405161029e919061255b565b60405180910390f35b3480156102b357600080fd5b506102bc61088e565b6040516102c99190612585565b60405180910390f35b3480156102de57600080fd5b506102f960048036038101906102f491906125a0565b610898565b60405161030691906124e1565b60405180910390f35b34801561031b57600080fd5b506103246108ee565b60405161033191906124e1565b60405180910390f35b34801561034657600080fd5b50610361600480360381019061035c91906125cd565b610901565b60405161036e91906124e1565b60405180910390f35b34801561038357600080fd5b5061038c610a01565b6040516103999190612585565b60405180910390f35b3480156103ae57600080fd5b506103b7610a07565b6040516103c4919061263c565b60405180910390f35b3480156103d957600080fd5b506103f460048036038101906103ef9190612486565b610a0c565b60405161040191906124e1565b60405180910390f35b34801561041657600080fd5b50610431600480360381019061042c9190612657565b610ab8565b005b34801561043f57600080fd5b50610448610b4d565b6040516104559190612585565b60405180910390f35b34801561046a57600080fd5b50610473610b53565b6040516104809190612693565b60405180910390f35b34801561049557600080fd5b5061049e610b77565b6040516104ab91906124e1565b60405180910390f35b3480156104c057600080fd5b506104db60048036038101906104d691906125a0565b610b8a565b005b3480156104e957600080fd5b506104f2610c9e565b005b34801561050057600080fd5b50610509610db4565b6040516105169190612585565b60405180910390f35b34801561052b57600080fd5b50610534610dba565b005b34801561054257600080fd5b5061055d600480360381019061055891906125a0565b610ed0565b60405161056a9190612585565b60405180910390f35b34801561057f57600080fd5b50610588610f19565b005b34801561059657600080fd5b5061059f610f2d565b6040516105ac91906126cf565b60405180910390f35b3480156105c157600080fd5b506105ca610f53565b6040516105d79190612693565b60405180910390f35b3480156105ec57600080fd5b506105f5610f7c565b60405161060291906123cb565b60405180910390f35b34801561061757600080fd5b50610632600480360381019061062d9190612486565b610fb5565b60405161063f91906124e1565b60405180910390f35b34801561065457600080fd5b5061066f600480360381019061066a9190612486565b611061565b60405161067c91906124e1565b60405180910390f35b34801561069157600080fd5b5061069a61107f565b6040516106a79190612585565b60405180910390f35b3480156106bc57600080fd5b506106c5611085565b005b3480156106d357600080fd5b506106ee60048036038101906106e991906125a0565b61110e565b005b3480156106fc57600080fd5b5061071760048036038101906107129190612716565b61123e565b005b34801561072557600080fd5b5061072e6112ef565b005b34801561073c57600080fd5b50610745611404565b6040516107529190612585565b60405180910390f35b34801561076757600080fd5b50610782600480360381019061077d9190612743565b61140a565b60405161078f9190612585565b60405180910390f35b3480156107a457600080fd5b506107bf60048036038101906107ba9190612486565b611491565b005b3480156107cd57600080fd5b506107e860048036038101906107e391906125a0565b611626565b005b3480156107f657600080fd5b50610811600480360381019061080c91906125a0565b611756565b005b6040518060400160405280600881526020017f4f6e69786520414900000000000000000000000000000000000000000000000081525081565b60006108606108596117d9565b84846117e1565b6001905092915050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000600554905090565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600c60009054906101000a900460ff1681565b600080600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061094d6117d9565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050828110156109cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109c4906127f5565b60405180910390fd5b6109d88585856119aa565b6109f5856109e46117d9565b85846109f09190612844565b6117e1565b60019150509392505050565b60095481565b601281565b6000610aae610a196117d9565b848460036000610a276117d9565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610aa99190612878565b6117e1565b6001905092915050565b610ac0611dda565b68056bc75e2d63100000811015610b0c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b039061291e565b60405180910390fd5b80600b819055507f17339d8f3c3323d3df3b092130f1bedb79d8e20de4d3ff176b316e89be357cbe81604051610b429190612585565b60405180910390a150565b60075481565b7f000000000000000000000000000000000000000000000000000000000000000081565b600c60019054906101000a900460ff1681565b610b92611dda565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610c01576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bf89061298a565b60405180910390fd5b80600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f335aad0eda24dacfa324b3d651daa091864338cf7d4af9d5087ba1c5ee1174f0600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051610c9391906129cb565b60405180910390a150565b610ca6611dda565b600060095403610ceb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ce290612a32565b60405180910390fd5b600060075403610d30576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d2790612a9e565b60405180910390fd5b600060098190555060006007819055507fa480a3a15a511fbdc37ae77ae3f490e03ab3688adde11456ce779e6c1e0abaa2600754604051610d719190612585565b60405180910390a17f7d59573ec4acab62b908b5c1cde109eb12273d011506abaa850256636a42d54a600954604051610daa9190612585565b60405180910390a1565b600a5481565b610dc2611dda565b600560095403610e07576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dfe90612b0a565b60405180910390fd5b600560075403610e4c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e4390612b76565b60405180910390fd5b600560098190555060056007819055507fa480a3a15a511fbdc37ae77ae3f490e03ab3688adde11456ce779e6c1e0abaa2600754604051610e8d9190612585565b60405180910390a17f7d59573ec4acab62b908b5c1cde109eb12273d011506abaa850256636a42d54a600954604051610ec69190612585565b60405180910390a1565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610f21611dda565b610f2b6000611e58565b565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6040518060400160405280600581526020017f4f4e49584500000000000000000000000000000000000000000000000000000081525081565b6000611057610fc26117d9565b848460036000610fd06117d9565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546110529190612844565b6117e1565b6001905092915050565b600061107561106e6117d9565b84846119aa565b6001905092915050565b60085481565b6001600c60006101000a81548160ff02191690831515021790555060006110ab30610ed0565b90506110b681611f1c565b60004790506110e7600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682612124565b6000600a8190555050506000600c60006101000a81548160ff021916908315150217905550565b611116611dda565b60011515600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515036111a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111a090612be2565b60405180910390fd5b6001600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f09cdf0cfa7a040edd81ed835da9c0da414b3b1bc89788f88ba53288ce596b5fa816001604051611233929190612c02565b60405180910390a150565b611246611dda565b801515600c60019054906101000a900460ff1615150361129b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161129290612c77565b60405180910390fd5b80600c60016101000a81548160ff0219169083151502179055507f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc159816040516112e491906124e1565b60405180910390a150565b6112f76121d6565b60004790506000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168260405161134490612cc8565b60006040518083038185875af1925050503d8060008114611381576040519150601f19603f3d011682016040523d82523d6000602084013e611386565b606091505b505090507fc9946980dc929f521b40f678c5eeae1c213b0c26c005bd48d44905450951166e816040516113b991906124e1565b60405180910390a17ffc3b2917f34bc4fba1516519d275441646d5088542342f58de8eea6a7cb5c2ab826040516113f09190612585565b60405180910390a1505061140261221c565b565b600b5481565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6114996121d6565b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611507576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114fe90612d4f565b60405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846040518363ffffffff1660e01b8152600401611566929190612d6f565b6020604051808303816000875af1158015611585573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115a99190612dad565b90507fc9946980dc929f521b40f678c5eeae1c213b0c26c005bd48d44905450951166e816040516115da91906124e1565b60405180910390a17f9717b3559fe85dc5c6941748cdc56fc5ca4e06048d7b836c700c174f78369bef826040516116119190612585565b60405180910390a15061162261221c565b5050565b61162e611dda565b60001515600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515036116c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116b890612e26565b60405180910390fd5b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f09cdf0cfa7a040edd81ed835da9c0da414b3b1bc89788f88ba53288ce596b5fa81600060405161174b929190612c02565b60405180910390a150565b61175e611dda565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036117cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117c490612eb8565b60405180910390fd5b6117d681611e58565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611850576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161184790612f4a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036118bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118b690612fdc565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161199d9190612585565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611a19576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a109061306e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611a88576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a7f90613100565b60405180910390fd5b60008111611acb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ac290613192565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015611b4d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b4490613224565b60405180910390fd5b6000611b5830610ed0565b90506000600b5482101590506000807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff1614905060007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff16149050600c60009054906101000a900460ff16158015611c26575081155b8015611c2f5750835b8015611c475750600c60019054906101000a900460ff165b15611c5557611c54611085565b5b6000600460008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161590506000600460008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16159050828015611d035750815b15611d2957606488600954611d189190613244565b611d2291906132b5565b9450611d87565b838015611d335750805b15611d5957606488600754611d489190613244565b611d5291906132b5565b9450611d86565b808015611d635750815b15611d8557606488600854611d789190613244565b611d8291906132b5565b94505b5b5b8488611d939190612844565b97506000851115611dc357611da98a3087612225565b84600a6000828254611dbb9190612878565b925050819055505b611dce8a8a8a612225565b50505050505050505050565b611de26117d9565b73ffffffffffffffffffffffffffffffffffffffff16611e00610f53565b73ffffffffffffffffffffffffffffffffffffffff1614611e56576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e4d90613332565b60405180910390fd5b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000600267ffffffffffffffff811115611f3957611f38613352565b5b604051908082528060200260200182016040528015611f675781602001602082028036833780820191505090505b5090503081600081518110611f7f57611f7e613381565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f000000000000000000000000000000000000000000000000000000000000000081600181518110611fee57611fed613381565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050612053307f0000000000000000000000000000000000000000000000000000000000000000846117e1565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016120b59594939291906134a9565b600060405180830381600087803b1580156120cf57600080fd5b505af11580156120e3573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a78282604051612118929190613503565b60405180910390a15050565b60008103156121d25760008273ffffffffffffffffffffffffffffffffffffffff168260405161215390612cc8565b60006040518083038185875af1925050503d8060008114612190576040519150601f19603f3d011682016040523d82523d6000602084013e612195565b606091505b505090507fc9946980dc929f521b40f678c5eeae1c213b0c26c005bd48d44905450951166e816040516121c891906124e1565b60405180910390a1505b5050565b600260015403612212576040517f3ee5aeb500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002600181905550565b60018081905550565b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546122749190612844565b9250508190555080600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546122ca9190612878565b925050819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161232e9190612585565b60405180910390a3505050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561237557808201518184015260208101905061235a565b60008484015250505050565b6000601f19601f8301169050919050565b600061239d8261233b565b6123a78185612346565b93506123b7818560208601612357565b6123c081612381565b840191505092915050565b600060208201905081810360008301526123e58184612392565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061241d826123f2565b9050919050565b61242d81612412565b811461243857600080fd5b50565b60008135905061244a81612424565b92915050565b6000819050919050565b61246381612450565b811461246e57600080fd5b50565b6000813590506124808161245a565b92915050565b6000806040838503121561249d5761249c6123ed565b5b60006124ab8582860161243b565b92505060206124bc85828601612471565b9150509250929050565b60008115159050919050565b6124db816124c6565b82525050565b60006020820190506124f660008301846124d2565b92915050565b6000819050919050565b600061252161251c612517846123f2565b6124fc565b6123f2565b9050919050565b600061253382612506565b9050919050565b600061254582612528565b9050919050565b6125558161253a565b82525050565b6000602082019050612570600083018461254c565b92915050565b61257f81612450565b82525050565b600060208201905061259a6000830184612576565b92915050565b6000602082840312156125b6576125b56123ed565b5b60006125c48482850161243b565b91505092915050565b6000806000606084860312156125e6576125e56123ed565b5b60006125f48682870161243b565b93505060206126058682870161243b565b925050604061261686828701612471565b9150509250925092565b600060ff82169050919050565b61263681612620565b82525050565b6000602082019050612651600083018461262d565b92915050565b60006020828403121561266d5761266c6123ed565b5b600061267b84828501612471565b91505092915050565b61268d81612412565b82525050565b60006020820190506126a86000830184612684565b92915050565b60006126b9826123f2565b9050919050565b6126c9816126ae565b82525050565b60006020820190506126e460008301846126c0565b92915050565b6126f3816124c6565b81146126fe57600080fd5b50565b600081359050612710816126ea565b92915050565b60006020828403121561272c5761272b6123ed565b5b600061273a84828501612701565b91505092915050565b6000806040838503121561275a576127596123ed565b5b60006127688582860161243b565b92505060206127798582860161243b565b9150509250929050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b60006127df602883612346565b91506127ea82612783565b604082019050919050565b6000602082019050818103600083015261280e816127d2565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061284f82612450565b915061285a83612450565b925082820390508181111561287257612871612815565b5b92915050565b600061288382612450565b915061288e83612450565b92508282019050808211156128a6576128a5612815565b5b92915050565b7f596f75206e65656420746f20656e746572206d6f7265207468616e203130302060008201527f746f6b656e732e00000000000000000000000000000000000000000000000000602082015250565b6000612908602783612346565b9150612913826128ac565b604082019050919050565b60006020820190508181036000830152612937816128fb565b9050919050565b7f7365746d61726b6574696e6757616c6c65743a205a45524f0000000000000000600082015250565b6000612974601883612346565b915061297f8261293e565b602082019050919050565b600060208201905081810360008301526129a381612967565b9050919050565b60006129b582612528565b9050919050565b6129c5816129aa565b82525050565b60006020820190506129e060008301846129bc565b92915050565b7f53656c6c2046656520697320616c726561647920302500000000000000000000600082015250565b6000612a1c601683612346565b9150612a27826129e6565b602082019050919050565b60006020820190508181036000830152612a4b81612a0f565b9050919050565b7f4275792046656520697320616c7265617a792030250000000000000000000000600082015250565b6000612a88601583612346565b9150612a9382612a52565b602082019050919050565b60006020820190508181036000830152612ab781612a7b565b9050919050565b7f53656c6c2046656520697320616c726561647920352500000000000000000000600082015250565b6000612af4601683612346565b9150612aff82612abe565b602082019050919050565b60006020820190508181036000830152612b2381612ae7565b9050919050565b7f4275792046656520697320616c7265617a792035250000000000000000000000600082015250565b6000612b60601583612346565b9150612b6b82612b2a565b602082019050919050565b60006020820190508181036000830152612b8f81612b53565b9050919050565b7f5468652077616c6c657420697320616c7265616479206578636c756465642100600082015250565b6000612bcc601f83612346565b9150612bd782612b96565b602082019050919050565b60006020820190508181036000830152612bfb81612bbf565b9050919050565b6000604082019050612c176000830185612684565b612c2460208301846124d2565b9392505050565b7f56616c756520616c726561647920736574000000000000000000000000000000600082015250565b6000612c61601183612346565b9150612c6c82612c2b565b602082019050919050565b60006020820190508181036000830152612c9081612c54565b9050919050565b600081905092915050565b50565b6000612cb2600083612c97565b9150612cbd82612ca2565b600082019050919050565b6000612cd382612ca5565b9150819050919050565b7f4f776e65722063616e277420636c61696d20636f6e747261637427732062616c60008201527f616e6365206f6620697473206f776e20746f6b656e7300000000000000000000602082015250565b6000612d39603683612346565b9150612d4482612cdd565b604082019050919050565b60006020820190508181036000830152612d6881612d2c565b9050919050565b6000604082019050612d8460008301856129bc565b612d916020830184612576565b9392505050565b600081519050612da7816126ea565b92915050565b600060208284031215612dc357612dc26123ed565b5b6000612dd184828501612d98565b91505092915050565b7f5468652077616c6c657420697320616c726561647920696e636c756465642100600082015250565b6000612e10601f83612346565b9150612e1b82612dda565b602082019050919050565b60006020820190508181036000830152612e3f81612e03565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000612ea2602683612346565b9150612ead82612e46565b604082019050919050565b60006020820190508181036000830152612ed181612e95565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612f34602483612346565b9150612f3f82612ed8565b604082019050919050565b60006020820190508181036000830152612f6381612f27565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612fc6602283612346565b9150612fd182612f6a565b604082019050919050565b60006020820190508181036000830152612ff581612fb9565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000613058602583612346565b915061306382612ffc565b604082019050919050565b600060208201905081810360008301526130878161304b565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006130ea602383612346565b91506130f58261308e565b604082019050919050565b60006020820190508181036000830152613119816130dd565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b600061317c602983612346565b915061318782613120565b604082019050919050565b600060208201905081810360008301526131ab8161316f565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b600061320e602683612346565b9150613219826131b2565b604082019050919050565b6000602082019050818103600083015261323d81613201565b9050919050565b600061324f82612450565b915061325a83612450565b925082820261326881612450565b9150828204841483151761327f5761327e612815565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006132c082612450565b91506132cb83612450565b9250826132db576132da613286565b5b828204905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061331c602083612346565b9150613327826132e6565b602082019050919050565b6000602082019050818103600083015261334b8161330f565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000819050919050565b60006133d56133d06133cb846133b0565b6124fc565b612450565b9050919050565b6133e5816133ba565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61342081612412565b82525050565b60006134328383613417565b60208301905092915050565b6000602082019050919050565b6000613456826133eb565b61346081856133f6565b935061346b83613407565b8060005b8381101561349c5781516134838882613426565b975061348e8361343e565b92505060018101905061346f565b5085935050505092915050565b600060a0820190506134be6000830188612576565b6134cb60208301876133dc565b81810360408301526134dd818661344b565b90506134ec6060830185612684565b6134f96080830184612576565b9695505050505050565b60006040820190506135186000830185612576565b818103602083015261352a818461344b565b9050939250505056fea2646970667358221220a53510bb3ed84ce13601ba85720fec684da7d411adb0bd7eced0e92205e7525c64736f6c63430008130033