[ { "inputs": [], "stateMutability": "nonpayable", "type": "constructor" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "spender", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Approval", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "Burn", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "timestamp", "type": "uint256" } ], "name": "Halving", "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": "tokensSwapped", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "ethReceived", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "tokensIntoLiqudity", "type": "uint256" } ], "name": "SwapAndLiquify", "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": "_buyBearFee", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_buyBullFee", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_buyFee", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_deadAddress", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_halvingAmount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_idexPair", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_idexV2Router", "outputs": [ { "internalType": "contract IDEXRouter", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_market", "outputs": [ { "internalType": "enum PatriotParty.MarketType", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_maxTotalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "_rewards", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_sellBearFee", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_sellBullFee", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_sellFee", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_swapAndLiquifyByLimitOnly", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_swapAndLiquifyEnabled", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_walletLimitCheck", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_walletMaxPercetualOfTS", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenAmount", "type": "uint256" }, { "internalType": "uint256", "name": "ethAmount", "type": "uint256" } ], "name": "addLiquidity", "outputs": [], "stateMutability": "nonpayable", "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": "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" }, { "internalType": "bool", "name": "halvingToken", "type": "bool" } ], "name": "burn", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "enum PatriotParty.MarketType", "name": "marketType", "type": "uint8" } ], "name": "changeMarket", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getCirculatingSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getTime", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getWalletLimit", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "halving", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "isExcludedFromFee", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "isMarketPair", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "isWalletLimitExempt", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "liquidityCountCycle", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "manualSellTaxTokens", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "marketingWalletAddress", "outputs": [ { "internalType": "address payable", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "minimumTokensBeforeSwapAmount", "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": "recoveryEth", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "recoveryTax", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "components": [ { "internalType": "uint256", "name": "amount", "type": "uint256" }, { "internalType": "address", "name": "wallet", "type": "address" } ], "internalType": "struct PatriotParty.HolderStatus[]", "name": "rewardsUpdate", "type": "tuple[]" } ], "name": "rewardsDistribution", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "bool", "name": "newValue", "type": "bool" } ], "name": "setIsExcludedFromFee", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "holder", "type": "address" }, { "internalType": "bool", "name": "exempt", "type": "bool" } ], "name": "setIsWalletLimitExempt", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "bool", "name": "newValue", "type": "bool" } ], "name": "setMarketPairStatus", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint8", "name": "sellBearTax", "type": "uint8" }, { "internalType": "uint8", "name": "buyBearTax", "type": "uint8" }, { "internalType": "uint8", "name": "sellBullTax", "type": "uint8" }, { "internalType": "uint8", "name": "buyBullTax", "type": "uint8" } ], "name": "setMarketTaxs", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newAddress", "type": "address" } ], "name": "setMarketingWalletAddress", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "newLimit", "type": "uint256" } ], "name": "setNumTokensBeforeSwap", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint8", "name": "valueCount", "type": "uint8" }, { "internalType": "uint8", "name": "valueFrequency", "type": "uint8" } ], "name": "setSwapAndLiquidityCountAndFrequency", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "newValue", "type": "bool" } ], "name": "setSwapAndLiquifyByLimitOnly", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "_enabled", "type": "bool" } ], "name": "setSwapAndLiquifyEnabled", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint8", "name": "sellTax", "type": "uint8" }, { "internalType": "uint8", "name": "buyTax", "type": "uint8" } ], "name": "setTaxs", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint8", "name": "newLimit", "type": "uint8" } ], "name": "setWalletLimit", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "swapAndLiquidityCount", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "swapAndLiquidityFrequency", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "value", "type": "bool" } ], "name": "switchLiquidityCountCycle", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "value", "type": "bool" } ], "name": "switchWalletCheck", "outputs": [], "stateMutability": "nonpayable", "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": [ { "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": [ { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "updateHalvingAmount", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "components": [ { "internalType": "uint256", "name": "amount", "type": "uint256" }, { "internalType": "address", "name": "wallet", "type": "address" } ], "internalType": "struct PatriotParty.HolderStatus[]", "name": "rewardsUpdate", "type": "tuple[]" } ], "name": "updateRewards", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "stateMutability": "payable", "type": "receive" } ]
60e0604052600d60a09081526c50415452494f5420504152545960981b60c05260029061002c9082610700565b50604080518082019091526007815266141055149253d560ca1b60208201526003906100589082610700565b506004805460ff1916600990811790915561007490600a6108b3565b610082906301312d006108c8565b6005556004546100969060ff16600a6108b3565b6100a4906302160ec06108c8565b6006556004546100b89060ff16600a6108b3565b6100c59062057e406108c8565b6007556008805473a123556efd6ab13eb5cf0ccd936662bfabbf9d426001600160a01b031990911617905561dead608052600f805465ffffffffffff1916650101020201011790556010805462ffffff60a81b19166201010160a81b1790555f6011556012805464ffffffffff1916641901020000179055348015610148575f5ffd5b505f8054336001600160a01b031991821681178355600180549092168117909155604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350466038036101d257600f8054600160301b600160d01b0319167910ed43c718714eb63d5aa57b78b54704e256024e000000000000179055610316565b4660010361020e57600f8054600160301b600160d01b031916797a250d5630b4cf539739df2c5dacb4c659f2488d000000000000179055610316565b4660050361024a57600f8054600160301b600160d01b03191679eff92a263d31888d860bd50809a8d171709b7b1c000000000000179055610316565b4661a4b10361028757600f8054600160301b600160d01b031916791b02da8cb0d097eb8d57a175b88c7d8b47997506000000000000179055610316565b466061036102c357600f8054600160301b600160d01b03191679d99d1c33f9fc3444f8101754abc46c52416550d1000000000000179055610316565b6040516e02bb937b7339021b430b4b71024b21608d1b602082015246602f820152604f0160408051601f198184030181529082905262461bcd60e51b825261030d916004016108df565b60405180910390fd5b600f60069054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610367573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061038b9190610914565b6001600160a01b031663c9c6539630600f60069054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156103eb573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061040f9190610914565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610459573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061047d9190610914565b601080546001600160a01b0319166001600160a01b03928316179055600554305f908152600a60209081526040808320600f5466010000000000009004909516835293905291822055600190600c906104dd5f546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182015f908120805495151560ff19968716179055308152600c909352818320805485166001908117909155600854821684528284208054861682179055608051909116835290822080549093168117909255600e9061055c5f546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182015f908120805495151560ff19968716179055308152600e845282812080548616600190811790915560108054841683528483208054881683179055600854841683528483208054881683179055608051841683528483208054881683179055549092168152600d909352908220805490931617909155600554906009906105fb3390565b6001600160a01b0316815260208101919091526040015f2055336001600160a01b03165f6001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60055460405161065b91815260200190565b60405180910390a361093a565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061069057607f821691505b6020821081036106ae57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156106fb57805f5260205f20601f840160051c810160208510156106d95750805b601f840160051c820191505b818110156106f8575f81556001016106e5565b50505b505050565b81516001600160401b0381111561071957610719610668565b61072d81610727845461067c565b846106b4565b6020601f82116001811461075f575f83156107485750848201515b5f19600385901b1c1916600184901b1784556106f8565b5f84815260208120601f198516915b8281101561078e578785015182556020948501946001909201910161076e565b50848210156107ab57868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52601160045260245ffd5b6001815b6001841115610809578085048111156107ed576107ed6107ba565b60018416156107fb57908102905b60019390931c9280026107d2565b935093915050565b5f8261081f575060016108ad565b8161082b57505f6108ad565b8160018114610841576002811461084b57610867565b60019150506108ad565b60ff84111561085c5761085c6107ba565b50506001821b6108ad565b5060208310610133831016604e8410600b841016171561088a575081810a6108ad565b6108965f1984846107ce565b805f19048211156108a9576108a96107ba565b0290505b92915050565b5f6108c160ff841683610811565b9392505050565b80820281158282048414176108ad576108ad6107ba565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f60208284031215610924575f5ffd5b81516001600160a01b03811681146108c1575f5ffd5b608051612c5a6109675f395f8181610a5001528181610df6015281816114d301526115650152612c5a5ff3fe6080604052600436106103ab575f3560e01c8063715018a6116101e9578063bd469ec911610108578063d05e22711161009d578063e8ce19241161006d578063e8ce192414610b34578063ef422a1814610b53578063f2fde38b14610b72578063f42b10e914610b91575f5ffd5b8063d05e227114610a92578063d158272d14610ab1578063dd62ed3e14610ad0578063e5c381a514610b14575f5ffd5b8063c867d60b116100d8578063c867d60b146109fd578063c8df245a14610a2b578063c93eb86614610a3f578063cbecede014610a72575f5ffd5b8063bd469ec914610997578063be5beae3146109ab578063c3d48690146109ca578063c49b9a80146109de575f5ffd5b8063988cf8011161017e578063a5d69d1f1161014e578063a5d69d1f1461091b578063a871376b1461093a578063a9059cbb14610959578063b388c5c214610978575f5ffd5b8063988cf801146108a35780639cd441da146108c95780639fac68cb146108e8578063a073d37f14610907575f5ffd5b8063844d591c116101b9578063844d591c146108335780638da5cb5b14610852578063942610441461086e57806395d89b411461088f575f5ffd5b8063715018a6146107b4578063796cb241146107c85780637d6dfb7e146107e85780637e4c25ac14610813575f5ffd5b80633ecad271116102d557806353b4e8611161026a5780636ea576061161023a5780636ea57606146107235780636f52c822146107425780636fce6ef21461076157806370a0823114610780575f5ffd5b806353b4e861146106be578063557ed1ba146106de578063590f897e146106f05780635ee9069e1461070e575f5ffd5b80634cb80fd5116102a55780634cb80fd51461063e5780634eb1e7c31461065d578063517e511a1461067c5780635342acb414610690575f5ffd5b80633ecad271146105b657806340b9a54b146105e45780634116d113146105fd57806349f8138b1461061c575f5ffd5b806323b872dd1161034b578063313ce5671161031b578063313ce5671461054c5780633245a2a6146105635780633730837c146105825780633b97084a14610597575f5ffd5b806323b872dd146104bc5780632b112e49146104db5780632b15eb9f146104ef5780632c2a42401461050e575f5ffd5b806318160ddd1161038657806318160ddd146104405780632198cf6c1461045e5780632277b4891461047f578063235315301461049d575f5ffd5b806306fdde03146103b6578063095ea7b3146103e05780631341602c1461040f575f5ffd5b366103b257005b5f5ffd5b3480156103c1575f5ffd5b506103ca610bb2565b6040516103d7919061261f565b60405180910390f35b3480156103eb575f5ffd5b506103ff6103fa366004612668565b610c42565b60405190151581526020016103d7565b34801561041a575f5ffd5b5060125461042e9062010000900460ff1681565b60405160ff90911681526020016103d7565b34801561044b575f5ffd5b506005545b6040519081526020016103d7565b348015610469575f5ffd5b5061047d6104783660046126a6565b610c58565b005b34801561048a575f5ffd5b5060125461042e90610100900460ff1681565b3480156104a8575f5ffd5b5061047d6104b73660046126e9565b610cbd565b3480156104c7575f5ffd5b506103ff6104d6366004612711565b610d17565b3480156104e6575f5ffd5b50610450610dec565b3480156104fa575f5ffd5b5061047d6105093660046127bd565b610e36565b348015610519575f5ffd5b50600f5461053490600160301b90046001600160a01b031681565b6040516001600160a01b0390911681526020016103d7565b348015610557575f5ffd5b5060045460ff1661042e565b34801561056e575f5ffd5b5061047d61057d36600461289b565b610f18565b34801561058d575f5ffd5b5061045060065481565b3480156105a2575f5ffd5b5061047d6105b13660046128ec565b61105e565b3480156105c1575f5ffd5b506103ff6105d0366004612903565b600d6020525f908152604090205460ff1681565b3480156105ef575f5ffd5b50600f5461042e9060ff1681565b348015610608575f5ffd5b5061047d61061736600461291e565b61108f565b348015610627575f5ffd5b50600f5461042e9065010000000000900460ff1681565b348015610649575f5ffd5b5061047d610658366004612903565b611184565b348015610668575f5ffd5b50601054610534906001600160a01b031681565b348015610687575f5ffd5b506104506111d2565b34801561069b575f5ffd5b506103ff6106aa366004612903565b600c6020525f908152604090205460ff1681565b3480156106c9575f5ffd5b506010546103ff90600160b81b900460ff1681565b3480156106e9575f5ffd5b5042610450565b3480156106fb575f5ffd5b50600f5461042e90610100900460ff1681565b348015610719575f5ffd5b5061045060115481565b34801561072e575f5ffd5b5061047d61073d3660046128ec565b6111fd565b34801561074d575f5ffd5b5061047d61075c36600461293c565b611248565b34801561076c575f5ffd5b50600f5461042e9062010000900460ff1681565b34801561078b575f5ffd5b5061045061079a366004612903565b6001600160a01b03165f9081526009602052604090205490565b3480156107bf575f5ffd5b5061047d611292565b3480156107d3575f5ffd5b50600f5461042e906301000000900460ff1681565b3480156107f3575f5ffd5b50610450610802366004612903565b600b6020525f908152604090205481565b34801561081e575f5ffd5b506012546103ff906301000000900460ff1681565b34801561083e575f5ffd5b5061047d61084d3660046126a6565b61130c565b34801561085d575f5ffd5b505f546001600160a01b0316610534565b348015610879575f5ffd5b50600f5461042e90640100000000900460ff1681565b34801561089a575f5ffd5b506103ca611362565b3480156108ae575f5ffd5b506012546108bc9060ff1681565b6040516103d79190612969565b3480156108d4575f5ffd5b5061047d6108e336600461298f565b611371565b3480156108f3575f5ffd5b5061047d6109023660046129af565b61147d565b348015610912575f5ffd5b50600754610450565b348015610926575f5ffd5b5061047d61093536600461293c565b61158a565b348015610945575f5ffd5b5061047d6109543660046126e9565b6115d4565b348015610964575f5ffd5b506103ff610973366004612668565b611676565b348015610983575f5ffd5b5061047d6109923660046128ec565b611682565b3480156109a2575f5ffd5b5061047d6116df565b3480156109b6575f5ffd5b5061047d6109c53660046127bd565b61171d565b3480156109d5575f5ffd5b5061047d6117fe565b3480156109e9575f5ffd5b5061047d6109f836600461293c565b61186f565b348015610a08575f5ffd5b506103ff610a17366004612903565b600e6020525f908152604090205460ff1681565b348015610a36575f5ffd5b5061047d6118b9565b348015610a4a575f5ffd5b506105347f000000000000000000000000000000000000000000000000000000000000000081565b348015610a7d575f5ffd5b506010546103ff90600160a81b900460ff1681565b348015610a9d575f5ffd5b5061047d610aac36600461293c565b611966565b348015610abc575f5ffd5b50600854610534906001600160a01b031681565b348015610adb575f5ffd5b50610450610aea3660046129d0565b6001600160a01b039182165f908152600a6020908152604080832093909416825291909152205490565b348015610b1f575f5ffd5b506010546103ff90600160b01b900460ff1681565b348015610b3f575f5ffd5b5061047d610b4e366004612a07565b6119b0565b348015610b5e575f5ffd5b5061047d610b6d3660046126a6565b611a51565b348015610b7d575f5ffd5b5061047d610b8c366004612903565b611aa7565b348015610b9c575f5ffd5b5060125461042e90640100000000900460ff1681565b606060028054610bc190612a20565b80601f0160208091040260200160405190810160405280929190818152602001828054610bed90612a20565b8015610c385780601f10610c0f57610100808354040283529160200191610c38565b820191905f5260205f20905b815481529060010190602001808311610c1b57829003601f168201915b5050505050905090565b5f610c4e338484611b91565b5060015b92915050565b6001610c68565b60405180910390fd5b6001546001600160a01b03163314610c925760405162461bcd60e51b8152600401610c5f90612a8d565b506001600160a01b03919091165f908152600e60205260409020805460ff1916911515919091179055565b600180546001600160a01b03163314610ce85760405162461bcd60e51b8152600401610c5f90612a8d565b506012805462ffff00191661010060ff9485160262ff0000191617620100009290931691909102919091179055565b5f610d23848484611cb4565b506001600160a01b0384165f908152600a60209081526040808320338452909152902054821115610da75760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b6064820152608401610c5f565b6001600160a01b0384165f908152600a6020908152604080832033808552925290912054610de1918691610ddc908690612ae5565b611b91565b5060015b9392505050565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000165f90815260096020526040812054600554610e319190612ae5565b905090565b600180546001600160a01b03163314610e615760405162461bcd60e51b8152600401610c5f90612a8d565b5f5b8251811015610f1357828181518110610e7e57610e7e612af8565b60200260200101515f015160115410610f0b57828181518110610ea357610ea3612af8565b60200260200101515f015160115f828254610ebe9190612ae5565b92505081905550610f0930848381518110610edb57610edb612af8565b602002602001015160200151858481518110610ef957610ef9612af8565b60200260200101515f0151611f4c565b505b600101610e63565b505050565b5f80546001600160a01b03163314610f425760405162461bcd60e51b8152600401610c5f90612a58565b6019610f4e8587612b0c565b60ff161115610f9f5760405162461bcd60e51b815260206004820152601b60248201527f42656172205461786573206578636565647320746865203235252e00000000006044820152606401610c5f565b6019610fab8484612b0c565b60ff161115610ffc5760405162461bcd60e51b815260206004820152601b60248201527f42756c6c205461786573206578636565647320746865203235252e00000000006044820152606401610c5f565b50600f805463ffff000019166201000060ff9687160263ff0000001916176301000000948616949094029390931765ffff0000000019166401000000009185169190910265ff0000000000191617650100000000009190931602919091179055565b600180546001600160a01b031633146110895760405162461bcd60e51b8152600401610c5f90612a8d565b50600755565b600180546001600160a01b031633146110ba5760405162461bcd60e51b8152600401610c5f90612a8d565b6012805483919060ff191660018360028111156110d9576110d9612955565b021790555060018260028111156110f2576110f2612955565b1461110857600f5462010000900460ff16611117565b600f54640100000000900460ff165b600f805460ff191660ff92909216919091179055600182600281111561113f5761113f612955565b1461115657600f546301000000900460ff16611166565b600f5465010000000000900460ff165b600f60016101000a81548160ff021916908360ff1602179055505050565b600180546001600160a01b031633146111af5760405162461bcd60e51b8152600401610c5f90612a8d565b50600880546001600160a01b0319166001600160a01b0392909216919091179055565b6005546012545f916103e8916111f39190640100000000900460ff16612b25565b610e319190612b3c565b600180546001600160a01b031633146112285760405162461bcd60e51b8152600401610c5f90612a8d565b305f908152600960205260409020548210156112445760118290555b5050565b600180546001600160a01b031633146112735760405162461bcd60e51b8152600401610c5f90612a8d565b506012805491151563010000000263ff00000019909216919091179055565b600180546001600160a01b031633146112bd5760405162461bcd60e51b8152600401610c5f90612a8d565b5f805460405161dead926001600160a01b03909216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3505f80546001600160a01b03191661dead179055565b600180546001600160a01b031633146113375760405162461bcd60e51b8152600401610c5f90612a8d565b506001600160a01b03919091165f908152600d60205260409020805460ff1916911515919091179055565b606060038054610bc190612a20565b600180546001600160a01b0316331461139c5760405162461bcd60e51b8152600401610c5f90612a8d565b600f546113bb903090600160301b90046001600160a01b031685611b91565b600f546001600160a01b03600160301b9091041663f305d7198330865f806113ea5f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015611450573d5f5f3e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906114759190612b5b565b505050505050565b600180546001600160a01b031633146114a85760405162461bcd60e51b8152600401610c5f90612a8d565b8180156114b757508260115410155b1561153157826011546114ca9190612ae5565b6011556114f8307f000000000000000000000000000000000000000000000000000000000000000085611f4c565b506040518381527fb90306ad06b2a6ff86ddc9327db583062895ef6540e62dc50add009db5b356eb9060200160405180910390a1505050565b8115801561155a5750601154305f90815260096020526040902054849161155791612ae5565b10155b15610f13576114f8307f000000000000000000000000000000000000000000000000000000000000000085611f4c565b600180546001600160a01b031633146115b55760405162461bcd60e51b8152600401610c5f90612a8d565b5060108054911515600160b01b0260ff60b01b19909216919091179055565b5f80546001600160a01b031633146115fe5760405162461bcd60e51b8152600401610c5f90612a58565b601961160a8385612b0c565b60ff1611156116545760405162461bcd60e51b81526020600482015260166024820152752a30bc32b99032bc31b2b2b239903a343290191a929760511b6044820152606401610c5f565b50600f805460ff9384166101000261ffff199091169390921692909217179055565b5f610de1338484611cb4565b600180546001600160a01b031633146116ad5760405162461bcd60e51b8152600401610c5f90612a8d565b6112445f83116116d957601154305f908152600960205260409020545b6116d49190612ae5565b612061565b82612061565b600180546001600160a01b0316331461170a5760405162461bcd60e51b8152600401610c5f90612a8d565b471561171a5761171a33476120a6565b50565b600180546001600160a01b031633146117485760405162461bcd60e51b8152600401610c5f90612a8d565b5f5b8251811015610f135782818151811061176557611765612af8565b60200260200101515f0151600b5f85848151811061178557611785612af8565b6020026020010151602001516001600160a01b03166001600160a01b031681526020019081526020015f20546117bb9190612b86565b600b5f8584815181106117d0576117d0612af8565b6020908102919091018101518101516001600160a01b031682528101919091526040015f205560010161174a565b600180546001600160a01b031633146118295760405162461bcd60e51b8152600401610c5f90612a8d565b305f908152600960205260409020541561170a575f601181905530808252600960205260409091205461185e91903390611f4c565b50471561171a5761171a33476120a6565b600180546001600160a01b0316331461189a5760405162461bcd60e51b8152600401610c5f90612a8d565b5060108054911515600160a81b0260ff60a81b19909216919091179055565b600180546001600160a01b031633146118e45760405162461bcd60e51b8152600401610c5f90612a8d565b600554600654111561171a575f60026005546006546119039190612ae5565b61190d9190612b3c565b90508060115461191d9190612b86565b60115561192a30826120d9565b604080518281524260208201527f394823b0bcaf78cd8f5876a52c05dbab91512a05f5da2a31e239a11ab66d605f910160405180910390a15050565b600180546001600160a01b031633146119915760405162461bcd60e51b8152600401610c5f90612a8d565b5060108054911515600160b81b0260ff60b81b19909216919091179055565b5f80546001600160a01b031633146119da5760405162461bcd60e51b8152600401610c5f90612a58565b600a8260ff161015611a2e5760405162461bcd60e51b815260206004820152601960248201527f49742063616e6e6f74206265206c657373207468616e203125000000000000006044820152606401610c5f565b506012805460ff9092166401000000000264ff0000000019909216919091179055565b600180546001600160a01b03163314611a7c5760405162461bcd60e51b8152600401610c5f90612a8d565b506001600160a01b03919091165f908152600c60205260409020805460ff1916911515919091179055565b600180546001600160a01b03163314611ad25760405162461bcd60e51b8152600401610c5f90612a8d565b6001600160a01b038216611b375760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610c5f565b5f80546040516001600160a01b03808616939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3505f80546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316611bf35760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610c5f565b6001600160a01b038216611c545760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610c5f565b6001600160a01b038381165f818152600a602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b5f6001600160a01b038416611d195760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610c5f565b6001600160a01b038316611d7b5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610c5f565b6001600160a01b0384165f90815260096020526040902054821115611dd95760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742042616c616e636560601b6044820152606401610c5f565b601054600160a01b900460ff1615611dfd57611df6848484611f4c565b9050610de5565b5f611e078561212c565b6001600160a01b0386165f908152600c60205260408120549192509060ff1680611e4857506001600160a01b0385165f908152600c602052604090205460ff165b80611e505750815b611e6457611e5f868686612285565b611e66565b835b9050611e7285826123c1565b6001600160a01b0386165f90815260096020526040902054611e95908590612ae5565b6001600160a01b0387165f90815260096020526040902055611eb685612474565b611ec09082612b86565b6001600160a01b0386165f90815260096020526040902054909150611ee6908290612b86565b6001600160a01b038087165f8181526009602052604090819020939093559151908816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611f399085815260200190565b60405180910390a3600192505050610de5565b6001600160a01b0383165f90815260096020526040812054821115611faa5760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742042616c616e636560601b6044820152606401610c5f565b6001600160a01b0384165f90815260096020526040902054611fcd908390612ae5565b6001600160a01b038086165f908152600960205260408082209390935590851681522054611ffc908390612b86565b6001600160a01b038085165f8181526009602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061204f9086815260200190565b60405180910390a35060019392505050565b6010805460ff60a01b1916600160a01b17905561207d816124b0565b6008544790612095906001600160a01b0316826120a6565b50506010805460ff60a01b19169055565b6040516001600160a01b0383169082156108fc029083905f818181858888f19350505050158015610f13573d5f5f3e3d5ffd5b806005546120e79190612b86565b6005556001600160a01b0382165f9081526009602052604090205461210d908290612b86565b6001600160a01b039092165f9081526009602052604090209190915550565b305f9081526009602052604081205460115482911061216b57600754601154305f908152600960205260409020546121649190612ae5565b101561216d565b5f5b90508080156121865750601054600160a01b900460ff16155b80156121aa57506001600160a01b0383165f908152600d602052604090205460ff16155b80156121bf5750601054600160a81b900460ff165b1561227d5760125460ff6201000082048116610100909204161015806121ef57506012546301000000900460ff16155b1561224557601054600160b01b900460ff161561221657612211600754612061565b612232565b601154305f9081526009602052604090205461223291906116ca565b50506012805461ff001916905550600190565b6001601260018282829054906101000a900460ff166122649190612b0c565b92506101000a81548160ff021916908360ff1602179055505b505f92915050565b6001600160a01b0383165f908152600d6020526040812054819060ff1680156122b25750600f5460ff1615155b156122db57600f546064906122ca9060ff1685612b25565b6122d49190612b3c565b9050612335565b6001600160a01b0384165f908152600d602052604090205460ff16801561230b5750600f54610100900460ff1615155b1561233557600f5460649061232890610100900460ff1685612b25565b6123329190612b3c565b90505b80156123ae57305f90815260096020526040902054612355908290612b86565b305f81815260096020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906123a59085815260200190565b60405180910390a35b6123b88184612ae5565b95945050505050565b6001600160a01b0382165f908152600960205260408120546123e4908390612b86565b601054909150600160b81b900460ff16801561241857506001600160a01b0383165f908152600e602052604090205460ff16155b15610f13576124256111d2565b811115610f135760405162461bcd60e51b815260206004820181905260248201527f596f752061726520657863656564696e67206d617857616c6c65744c696d69746044820152606401610c5f565b6001600160a01b0381165f908152600b60205260408120548015610c52576001600160a01b0383165f908152600b602052604081205592915050565b6040805160028082526060820183525f9260208301908036833701905050905030815f815181106124e3576124e3612af8565b60200260200101906001600160a01b031690816001600160a01b031681525050600f60069054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612554573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125789190612b99565b8160018151811061258b5761258b612af8565b6001600160a01b039283166020918202929092010152600f546125b8913091600160301b90041684611b91565b600f5460405163791ac94760e01b8152600160301b9091046001600160a01b03169063791ac947906125f69085905f90869030904290600401612bb4565b5f604051808303815f87803b15801561260d575f5ffd5b505af1158015611475573d5f5f3e3d5ffd5b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b038116811461171a575f5ffd5b5f5f60408385031215612679575f5ffd5b823561268481612654565b946020939093013593505050565b803580151581146126a1575f5ffd5b919050565b5f5f604083850312156126b7575f5ffd5b82356126c281612654565b91506126d060208401612692565b90509250929050565b803560ff811681146126a1575f5ffd5b5f5f604083850312156126fa575f5ffd5b612703836126d9565b91506126d0602084016126d9565b5f5f5f60608486031215612723575f5ffd5b833561272e81612654565b9250602084013561273e81612654565b929592945050506040919091013590565b634e487b7160e01b5f52604160045260245ffd5b6040805190810167ffffffffffffffff811182821017156127865761278661274f565b60405290565b604051601f8201601f1916810167ffffffffffffffff811182821017156127b5576127b561274f565b604052919050565b5f602082840312156127cd575f5ffd5b813567ffffffffffffffff8111156127e3575f5ffd5b8201601f810184136127f3575f5ffd5b803567ffffffffffffffff81111561280d5761280d61274f565b61281c60208260051b0161278c565b8082825260208201915060208360061b85010192508683111561283d575f5ffd5b6020840193505b82841015612891576040848803121561285b575f5ffd5b612863612763565b84358152602085013561287581612654565b8060208301525080835250602082019150604084019350612844565b9695505050505050565b5f5f5f5f608085870312156128ae575f5ffd5b6128b7856126d9565b93506128c5602086016126d9565b92506128d3604086016126d9565b91506128e1606086016126d9565b905092959194509250565b5f602082840312156128fc575f5ffd5b5035919050565b5f60208284031215612913575f5ffd5b8135610de581612654565b5f6020828403121561292e575f5ffd5b813560038110610de5575f5ffd5b5f6020828403121561294c575f5ffd5b610de582612692565b634e487b7160e01b5f52602160045260245ffd5b602081016003831061298957634e487b7160e01b5f52602160045260245ffd5b91905290565b5f5f604083850312156129a0575f5ffd5b50508035926020909101359150565b5f5f604083850312156129c0575f5ffd5b823591506126d060208401612692565b5f5f604083850312156129e1575f5ffd5b82356129ec81612654565b915060208301356129fc81612654565b809150509250929050565b5f60208284031215612a17575f5ffd5b610de5826126d9565b600181811c90821680612a3457607f821691505b602082108103612a5257634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526024908201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f6c64206f6040820152633bb732b960e11b606082015260800190565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610c5257610c52612ad1565b634e487b7160e01b5f52603260045260245ffd5b60ff8181168382160190811115610c5257610c52612ad1565b8082028115828204841417610c5257610c52612ad1565b5f82612b5657634e487b7160e01b5f52601260045260245ffd5b500490565b5f5f5f60608486031215612b6d575f5ffd5b5050815160208301516040909301519094929350919050565b80820180821115610c5257610c52612ad1565b5f60208284031215612ba9575f5ffd5b8151610de581612654565b5f60a0820187835286602084015260a0604084015280865180835260c0850191506020880192505f5b81811015612c045783516001600160a01b0316835260209384019390920191600101612bdd565b50506001600160a01b03959095166060840152505060800152939250505056fea2646970667358221220ae85e9f56b4b5bf33b6d6829cf9f99c071a288ae0af0dc71579f7363ce6cb13c64736f6c634300081c0033