[ { "inputs": [], "stateMutability": "nonpayable", "type": "constructor" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "spender", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Approval", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "previousOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "inputs": [ { "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": "", "type": "address" } ], "name": "ammPairs", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "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": "buyDevFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "buyMarketFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "buyTotalFees", "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": "devWallet", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "bool", "name": "value", "type": "bool" } ], "name": "excludeFromFees", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "addr", "type": "address" }, { "internalType": "bool", "name": "value", "type": "bool" } ], "name": "excludeFromMaxTransaction", "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": "", "type": "address" } ], "name": "isExcludeMaxTransaction", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "isExcludedFromFees", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "limitsInEffect", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "marketingWallet", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "maxTransaction", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "maxWalletSize", "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": "openTrading", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint8", "name": "v", "type": "uint8" }, { "internalType": "bytes32", "name": "r", "type": "bytes32" }, { "internalType": "bytes32", "name": "s", "type": "bytes32" } ], "name": "openTradingWithPermit", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "removeLimits", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "sellDevFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "sellMarketFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "sellTotalFees", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "pair", "type": "address" }, { "internalType": "bool", "name": "value", "type": "bool" } ], "name": "setAMMPair", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newAntiDrainer", "type": "address" } ], "name": "setAntiDrainer", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "addr", "type": "address" }, { "internalType": "bool", "name": "enable", "type": "bool" } ], "name": "setBlackList", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "swapEnabled", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "swapTokensAtAmount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "tokensForDev", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "tokensForMarket", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "tradingActive", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "recipient", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "transfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "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": "uniswapPair", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "uniswapRouter", "outputs": [ { "internalType": "contract IUniswapV2Router02", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "newMarketFee", "type": "uint256" }, { "internalType": "uint256", "name": "newDevFee", "type": "uint256" } ], "name": "updateBuyFees", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "newNum", "type": "uint256" } ], "name": "updateMaxTransaction", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "newNum", "type": "uint256" } ], "name": "updateMaxWalletSize", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "newMarketFee", "type": "uint256" }, { "internalType": "uint256", "name": "newDevFee", "type": "uint256" } ], "name": "updateSellFees", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "enabled", "type": "bool" } ], "name": "updateSwapEnabled", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "newAmount", "type": "uint256" } ], "name": "updateSwapTokensAtAmount", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "stateMutability": "payable", "type": "receive" } ]
60a06040526000600860146101000a81548160ff0219169083151502179055506000600860156101000a81548160ff0219169083151502179055506001600860166101000a81548160ff0219169083151502179055503480156200006257600080fd5b506040518060400160405280600481526020017f7a4b4d4c000000000000000000000000000000000000000000000000000000008152506040518060400160405280600481526020017f5a4b4d4c000000000000000000000000000000000000000000000000000000008152508160009080519060200190620000e792919062000ad0565b5080600190805190602001906200010092919062000ad0565b50505062000123620001176200085460201b60201c565b6200085c60201b60201c565b737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff168152505060805173ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001b9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001df919062000bea565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060805173ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000249573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200026f919062000bea565b6040518363ffffffff1660e01b81526004016200028e92919062000c2d565b6020604051808303816000875af1158015620002ae573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002d4919062000bea565b600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073aeff36b089c9b2ec05558baf67df508c5b6865c0601460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507352adb54707eb5f5b63f2afbe14ea14266cbf0c88600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073261dd1387287d5730232f6f74d49f9e8337b3605600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060016017600060805173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160176000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160176000620004fd6200092260201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601760003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016017600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160166000620006166200092260201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016016600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160186000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060006a52b7d2dcc80cd2e40000009050612710600582620007b5919062000c93565b620007c1919062000d23565b600a819055506a011349242670ce848000006009819055506a011349242670ce84800000600b819055506014600d81905550600a600e81905550600e54600d546200080d919062000d5b565b600c81905550601e601081905550601460118190555060115460105462000835919062000d5b565b600f819055506200084d33826200094c60201b60201c565b5062000ece565b600033905090565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415620009bf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620009b69062000e19565b60405180910390fd5b620009d36000838362000ac660201b60201c565b8060026000828254620009e7919062000d5b565b9250508190555080600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825462000a3f919062000d5b565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405162000aa6919062000e4c565b60405180910390a362000ac26000838362000acb60201b60201c565b5050565b505050565b505050565b82805462000ade9062000e98565b90600052602060002090601f01602090048101928262000b02576000855562000b4e565b82601f1062000b1d57805160ff191683800117855562000b4e565b8280016001018555821562000b4e579182015b8281111562000b4d57825182559160200191906001019062000b30565b5b50905062000b5d919062000b61565b5090565b5b8082111562000b7c57600081600090555060010162000b62565b5090565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000bb28262000b85565b9050919050565b62000bc48162000ba5565b811462000bd057600080fd5b50565b60008151905062000be48162000bb9565b92915050565b60006020828403121562000c035762000c0262000b80565b5b600062000c138482850162000bd3565b91505092915050565b62000c278162000ba5565b82525050565b600060408201905062000c44600083018562000c1c565b62000c53602083018462000c1c565b9392505050565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600062000ca08262000c5a565b915062000cad8362000c5a565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562000ce95762000ce862000c64565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600062000d308262000c5a565b915062000d3d8362000c5a565b92508262000d505762000d4f62000cf4565b5b828204905092915050565b600062000d688262000c5a565b915062000d758362000c5a565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111562000dad5762000dac62000c64565b5b828201905092915050565b600082825260208201905092915050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b600062000e01601f8362000db8565b915062000e0e8262000dc9565b602082019050919050565b6000602082019050818103600083015262000e348162000df2565b9050919050565b62000e468162000c5a565b82525050565b600060208201905062000e63600083018462000e3b565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168062000eb157607f821691505b6020821081141562000ec85762000ec762000e69565b5b50919050565b60805161517562000eff600039600081816117cd015281816137aa0152818161388b01526138b201526151756000f3fe6080604052600436106102b25760003560e01c806375f0a87411610175578063a9059cbb116100dc578063c9567bf911610095578063dd62ed3e1161006f578063dd62ed3e14610ac3578063e2f4560514610b00578063e4a1b95f14610b2b578063f2fde38b14610b56576102b9565b8063c9567bf914610a44578063d257b34f14610a5b578063d85ba06314610a98576102b9565b8063a9059cbb14610934578063bae14e1d14610971578063bbc0c7421461099a578063c0246668146109c5578063c3f70b52146109ee578063c816841b14610a19576102b9565b806395d89b411161012e57806395d89b411461080e5780639c3b4fdc146108395780639fccce3214610864578063a0d82dc51461088f578063a457c2d7146108ba578063a72905a2146108f7576102b9565b806375f0a874146106fc5780638da5cb5b146107275780638ea5220f146107525780638f3fa8601461077d578063924de9b7146107a8578063953e0463146107d1576102b9565b80634a62bb65116102195780636ddd1713116101d25780636ddd1713146105fe57806370a0823114610629578063715018a614610666578063735de9f71461067d578063751039fc146106a85780637571336a146106d3576102b9565b80634a62bb65146104f05780634fbee1931461051b5780636323d7cb1461055857806366ca9b831461058157806368092bd9146105aa5780636a486a8e146105d3576102b9565b806323b872dd1161026b57806323b872dd146103ce57806324887e801461040b5780632d99d32e14610434578063313ce5671461045d57806335b5fb631461048857806339509351146104b3576102b9565b806302dbd8f8146102be5780630517d13d146102e757806306fdde0314610310578063095ea7b31461033b57806318160ddd146103785780631f7ea8da146103a3576102b9565b366102b957005b600080fd5b3480156102ca57600080fd5b506102e560048036038101906102e09190613999565b610b7f565b005b3480156102f357600080fd5b5061030e600480360381019061030991906139d9565b610c69565b005b34801561031c57600080fd5b50610325610d78565b6040516103329190613a9f565b60405180910390f35b34801561034757600080fd5b50610362600480360381019061035d9190613b1f565b610e0a565b60405161036f9190613b7a565b60405180910390f35b34801561038457600080fd5b5061038d610e28565b60405161039a9190613ba4565b60405180910390f35b3480156103af57600080fd5b506103b8610e32565b6040516103c59190613ba4565b60405180910390f35b3480156103da57600080fd5b506103f560048036038101906103f09190613bbf565b610e38565b6040516104029190613b7a565b60405180910390f35b34801561041757600080fd5b50610432600480360381019061042d91906139d9565b610f30565b005b34801561044057600080fd5b5061045b60048036038101906104569190613c3e565b61103f565b005b34801561046957600080fd5b506104726111a7565b60405161047f9190613c9a565b60405180910390f35b34801561049457600080fd5b5061049d6111b0565b6040516104aa9190613ba4565b60405180910390f35b3480156104bf57600080fd5b506104da60048036038101906104d59190613b1f565b6111b6565b6040516104e79190613b7a565b60405180910390f35b3480156104fc57600080fd5b50610505611262565b6040516105129190613b7a565b60405180910390f35b34801561052757600080fd5b50610542600480360381019061053d9190613cb5565b611275565b60405161054f9190613b7a565b60405180910390f35b34801561056457600080fd5b5061057f600480360381019061057a9190613d44565b611295565b005b34801561058d57600080fd5b506105a860048036038101906105a39190613999565b611520565b005b3480156105b657600080fd5b506105d160048036038101906105cc9190613c3e565b61160a565b005b3480156105df57600080fd5b506105e86116e1565b6040516105f59190613ba4565b60405180910390f35b34801561060a57600080fd5b506106136116e7565b6040516106209190613b7a565b60405180910390f35b34801561063557600080fd5b50610650600480360381019061064b9190613cb5565b6116fa565b60405161065d9190613ba4565b60405180910390f35b34801561067257600080fd5b5061067b611743565b005b34801561068957600080fd5b506106926117cb565b60405161069f9190613df6565b60405180910390f35b3480156106b457600080fd5b506106bd6117ef565b6040516106ca9190613b7a565b60405180910390f35b3480156106df57600080fd5b506106fa60048036038101906106f59190613c3e565b61188f565b005b34801561070857600080fd5b50610711611966565b60405161071e9190613e20565b60405180910390f35b34801561073357600080fd5b5061073c61198c565b6040516107499190613e20565b60405180910390f35b34801561075e57600080fd5b506107676119b6565b6040516107749190613e20565b60405180910390f35b34801561078957600080fd5b506107926119dc565b60405161079f9190613ba4565b60405180910390f35b3480156107b457600080fd5b506107cf60048036038101906107ca9190613e3b565b6119e2565b005b3480156107dd57600080fd5b506107f860048036038101906107f39190613cb5565b611a7b565b6040516108059190613b7a565b60405180910390f35b34801561081a57600080fd5b50610823611a9b565b6040516108309190613a9f565b60405180910390f35b34801561084557600080fd5b5061084e611b2d565b60405161085b9190613ba4565b60405180910390f35b34801561087057600080fd5b50610879611b33565b6040516108869190613ba4565b60405180910390f35b34801561089b57600080fd5b506108a4611b39565b6040516108b19190613ba4565b60405180910390f35b3480156108c657600080fd5b506108e160048036038101906108dc9190613b1f565b611b3f565b6040516108ee9190613b7a565b60405180910390f35b34801561090357600080fd5b5061091e60048036038101906109199190613cb5565b611c2a565b60405161092b9190613b7a565b60405180910390f35b34801561094057600080fd5b5061095b60048036038101906109569190613b1f565b611c4a565b6040516109689190613b7a565b60405180910390f35b34801561097d57600080fd5b5061099860048036038101906109939190613cb5565b611c68565b005b3480156109a657600080fd5b506109af611d98565b6040516109bc9190613b7a565b60405180910390f35b3480156109d157600080fd5b506109ec60048036038101906109e79190613c3e565b611dab565b005b3480156109fa57600080fd5b50610a03611e82565b604051610a109190613ba4565b60405180910390f35b348015610a2557600080fd5b50610a2e611e88565b604051610a3b9190613e20565b60405180910390f35b348015610a5057600080fd5b50610a59611eae565b005b348015610a6757600080fd5b50610a826004803603810190610a7d91906139d9565b611f62565b604051610a8f9190613b7a565b60405180910390f35b348015610aa457600080fd5b50610aad6120b7565b604051610aba9190613ba4565b60405180910390f35b348015610acf57600080fd5b50610aea6004803603810190610ae59190613e68565b6120bd565b604051610af79190613ba4565b60405180910390f35b348015610b0c57600080fd5b50610b15612144565b604051610b229190613ba4565b60405180910390f35b348015610b3757600080fd5b50610b4061214a565b604051610b4d9190613ba4565b60405180910390f35b348015610b6257600080fd5b50610b7d6004803603810190610b789190613cb5565b612150565b005b610b87612248565b73ffffffffffffffffffffffffffffffffffffffff16610ba561198c565b73ffffffffffffffffffffffffffffffffffffffff1614610bfb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bf290613ef4565b60405180910390fd5b8160108190555080601181905550601154601054610c199190613f43565b600f819055506019600f541115610c65576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c5c90613fe5565b60405180910390fd5b5050565b610c71612248565b73ffffffffffffffffffffffffffffffffffffffff16610c8f61198c565b73ffffffffffffffffffffffffffffffffffffffff1614610ce5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cdc90613ef4565b60405180910390fd5b670de0b6b3a76400006103e86001610cfb610e28565b610d059190614005565b610d0f919061408e565b610d19919061408e565b811015610d5b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d5290614131565b60405180910390fd5b670de0b6b3a764000081610d6f9190614005565b60098190555050565b606060008054610d8790614180565b80601f0160208091040260200160405190810160405280929190818152602001828054610db390614180565b8015610e005780601f10610dd557610100808354040283529160200191610e00565b820191906000526020600020905b815481529060010190602001808311610de357829003601f168201915b5050505050905090565b6000610e1e610e17612248565b8484612250565b6001905092915050565b6000600254905090565b60125481565b6000610e4584848461241b565b6000600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610e90612248565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610f10576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f0790614224565b60405180910390fd5b610f2485610f1c612248565b858403612250565b60019150509392505050565b610f38612248565b73ffffffffffffffffffffffffffffffffffffffff16610f5661198c565b73ffffffffffffffffffffffffffffffffffffffff1614610fac576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fa390613ef4565b60405180910390fd5b670de0b6b3a76400006103e86005610fc2610e28565b610fcc9190614005565b610fd6919061408e565b610fe0919061408e565b811015611022576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611019906142b6565b60405180910390fd5b670de0b6b3a7640000816110369190614005565b600b8190555050565b611047612248565b73ffffffffffffffffffffffffffffffffffffffff1661106561198c565b73ffffffffffffffffffffffffffffffffffffffff16146110bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110b290613ef4565b60405180910390fd5b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561114c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161114390614348565b60405180910390fd5b80601860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60006012905090565b60105481565b60006112586111c3612248565b8484600460006111d1612248565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546112539190613f43565b612250565b6001905092915050565b600860169054906101000a900460ff1681565b60166020528060005260406000206000915054906101000a900460ff1681565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6040518060400160405280600d81526020017f54726164696e6720546f6b656e00000000000000000000000000000000000000815250805190602001206040518060400160405280600181526020017f3100000000000000000000000000000000000000000000000000000000000000815250805190602001204630604051602001611348959493929190614377565b60405160208183030381529060405280519060200120905060007f7dfdbf06c6260804b81338506aa4a709bd9f04b68ca0d2d054b8627926c90ae46040518060400160405280600e81526020017f456e61626c652054726164696e670000000000000000000000000000000000008152508051906020012060006040516020016113d4939291906143ca565b60405160208183030381529060405280519060200120905060008282604051602001611401929190614479565b60405160208183030381529060405280519060200120905060006001828888886040516000815260200160405260405161143e94939291906144b0565b6020604051602081039080840390855afa158015611460573d6000803e3d6000fd5b50505060206040510351905061147461198c565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146114e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114d890614541565b60405180910390fd5b6001600860146101000a81548160ff0219169083151502179055506001600860156101000a81548160ff02191690831515021790555050505050505050565b611528612248565b73ffffffffffffffffffffffffffffffffffffffff1661154661198c565b73ffffffffffffffffffffffffffffffffffffffff161461159c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161159390613ef4565b60405180910390fd5b81600d8190555080600e81905550600e54600d546115ba9190613f43565b600c819055506019600c541115611606576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115fd90613fe5565b60405180910390fd5b5050565b611612612248565b73ffffffffffffffffffffffffffffffffffffffff1661163061198c565b73ffffffffffffffffffffffffffffffffffffffff1614611686576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161167d90613ef4565b60405180910390fd5b80601560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600f5481565b600860159054906101000a900460ff1681565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61174b612248565b73ffffffffffffffffffffffffffffffffffffffff1661176961198c565b73ffffffffffffffffffffffffffffffffffffffff16146117bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117b690613ef4565b60405180910390fd5b6117c960006131ab565b565b7f000000000000000000000000000000000000000000000000000000000000000081565b60006117f9612248565b73ffffffffffffffffffffffffffffffffffffffff1661181761198c565b73ffffffffffffffffffffffffffffffffffffffff161461186d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161186490613ef4565b60405180910390fd5b6000600860166101000a81548160ff0219169083151502179055506001905090565b611897612248565b73ffffffffffffffffffffffffffffffffffffffff166118b561198c565b73ffffffffffffffffffffffffffffffffffffffff161461190b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161190290613ef4565b60405180910390fd5b80601760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600b5481565b6119ea612248565b73ffffffffffffffffffffffffffffffffffffffff16611a0861198c565b73ffffffffffffffffffffffffffffffffffffffff1614611a5e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a5590613ef4565b60405180910390fd5b80600860156101000a81548160ff02191690831515021790555050565b60176020528060005260406000206000915054906101000a900460ff1681565b606060018054611aaa90614180565b80601f0160208091040260200160405190810160405280929190818152602001828054611ad690614180565b8015611b235780601f10611af857610100808354040283529160200191611b23565b820191906000526020600020905b815481529060010190602001808311611b0657829003601f168201915b5050505050905090565b600e5481565b60135481565b60115481565b60008060046000611b4e612248565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015611c0b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c02906145d3565b60405180910390fd5b611c1f611c16612248565b85858403612250565b600191505092915050565b60186020528060005260406000206000915054906101000a900460ff1681565b6000611c5e611c57612248565b848461241b565b6001905092915050565b611c70612248565b73ffffffffffffffffffffffffffffffffffffffff16611c8e61198c565b73ffffffffffffffffffffffffffffffffffffffff1614611ce4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cdb90613ef4565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611d54576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d4b9061463f565b60405180910390fd5b80601460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600860149054906101000a900460ff1681565b611db3612248565b73ffffffffffffffffffffffffffffffffffffffff16611dd161198c565b73ffffffffffffffffffffffffffffffffffffffff1614611e27576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e1e90613ef4565b60405180910390fd5b80601660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60095481565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b611eb6612248565b73ffffffffffffffffffffffffffffffffffffffff16611ed461198c565b73ffffffffffffffffffffffffffffffffffffffff1614611f2a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f2190613ef4565b60405180910390fd5b6001600860146101000a81548160ff0219169083151502179055506001600860156101000a81548160ff021916908315150217905550565b6000611f6c612248565b73ffffffffffffffffffffffffffffffffffffffff16611f8a61198c565b73ffffffffffffffffffffffffffffffffffffffff1614611fe0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fd790613ef4565b60405180910390fd5b620186a06001611fee610e28565b611ff89190614005565b612002919061408e565b821015612044576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161203b906146d1565b60405180910390fd5b6103e86005612051610e28565b61205b9190614005565b612065919061408e565b8211156120a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161209e90614763565b60405180910390fd5b81600a8190555060019050919050565b600c5481565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600a5481565b600d5481565b612158612248565b73ffffffffffffffffffffffffffffffffffffffff1661217661198c565b73ffffffffffffffffffffffffffffffffffffffff16146121cc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121c390613ef4565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561223c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612233906147f5565b60405180910390fd5b612245816131ab565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156122c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122b790614887565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612330576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161232790614919565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161240e9190613ba4565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561248b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612482906149ab565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156124fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124f290614a3d565b60405180910390fd5b601560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615612588576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161257f90614aa9565b60405180910390fd5b601560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615612615576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161260c90614b15565b60405180910390fd5b600081141561262f5761262a83836000613271565b6131a6565b600860169054906101000a900460ff1615612b285761264c61198c565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156126ba575061268a61198c565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156126f35750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561272d575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015612744575060148054906101000a900460ff16155b15612b2757600860149054906101000a900460ff1661283e57601660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806127fe5750601660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b61283d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161283490614b81565b60405180910390fd5b5b601860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156128e15750601760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156129885760095481111561292b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161292290614c13565b60405180910390fd5b600b54612937836116fa565b826129429190613f43565b1115612983576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161297a90614c7f565b60405180910390fd5b612b26565b601860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015612a2b5750601760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15612a7a57600954811115612a75576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a6c90614d11565b60405180910390fd5b612b25565b601760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16612b2457600b54612ad7836116fa565b82612ae29190613f43565b1115612b23576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b1a90614c7f565b60405180910390fd5b5b5b5b5b5b600073ffffffffffffffffffffffffffffffffffffffff16601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614158015612c1f5750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639015d371306040518263ffffffff1660e01b8152600401612bdd9190613e20565b602060405180830381865afa158015612bfa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c1e9190614d46565b5b15612d3a576000601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a20527fc8585600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600b54600954600a546040518763ffffffff1660e01b8152600401612cb396959493929190614d73565b6020604051808303816000875af1158015612cd2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612cf69190614d46565b905080612d38576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d2f90614e20565b60405180910390fd5b505b6000612d45306116fa565b90506000600a548210159050808015612d6a5750600860159054906101000a900460ff165b8015612d81575060148054906101000a900460ff16155b8015612dd75750601860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015612e2d5750601660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015612e835750601660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15612ec55760016014806101000a81548160ff021916908315150217905550612eaa6134f5565b60006014806101000a81548160ff0219169083151502179055505b600060148054906101000a900460ff16159050601660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680612f795750601660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15612f8357600090505b6000811561319657601860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015612fe657506000600f54115b15613080576130136064613005600f54886136d590919063ffffffff16565b6136eb90919063ffffffff16565b9050600f54601154826130269190614005565b613030919061408e565b601360008282546130419190613f43565b92505081905550600f54601054826130599190614005565b613063919061408e565b601260008282546130749190613f43565b92505081905550613172565b601860008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156130db57506000600c54115b156131715761310860646130fa600c54886136d590919063ffffffff16565b6136eb90919063ffffffff16565b9050600c54600e548261311b9190614005565b613125919061408e565b601360008282546131369190613f43565b92505081905550600c54600d548261314e9190614005565b613158919061408e565b601260008282546131699190613f43565b925050819055505b5b600081111561318757613186873083613271565b5b80856131939190614e40565b94505b6131a1878787613271565b505050505b505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156132e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016132d8906149ab565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415613351576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161334890614a3d565b60405180910390fd5b61335c838383613701565b6000600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156133e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016133da90614ee6565b60405180910390fd5b818103600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546134789190613f43565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516134dc9190613ba4565b60405180910390a36134ef848484613706565b50505050565b6000613500306116fa565b905060006013546012546135149190613f43565b9050600080831415613528575050506136d3565b6014600a546135379190614005565b831115613550576014600a5461354d9190614005565b92505b600047905061355e8461370b565b6000613573824761394890919063ffffffff16565b9050600061359e85613590601354856136d590919063ffffffff16565b6136eb90919063ffffffff16565b905060006012819055506000601381905550600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16816040516135f690614f37565b60006040518083038185875af1925050503d8060008114613633576040519150601f19603f3d011682016040523d82523d6000602084013e613638565b606091505b505080945050600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff164760405161368490614f37565b60006040518083038185875af1925050503d80600081146136c1576040519150601f19603f3d011682016040523d82523d6000602084013e6136c6565b606091505b5050809450505050505050505b565b600081836136e39190614005565b905092915050565b600081836136f9919061408e565b905092915050565b505050565b505050565b6000600267ffffffffffffffff81111561372857613727614f4c565b5b6040519080825280602002602001820160405280156137565781602001602082028036833780820191505090505b509050308160008151811061376e5761376d614f7b565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015613813573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138379190614fbf565b8160018151811061384b5761384a614f7b565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506138b0307f000000000000000000000000000000000000000000000000000000000000000084612250565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016139129594939291906150e5565b600060405180830381600087803b15801561392c57600080fd5b505af1158015613940573d6000803e3d6000fd5b505050505050565b600081836139569190614e40565b905092915050565b600080fd5b6000819050919050565b61397681613963565b811461398157600080fd5b50565b6000813590506139938161396d565b92915050565b600080604083850312156139b0576139af61395e565b5b60006139be85828601613984565b92505060206139cf85828601613984565b9150509250929050565b6000602082840312156139ef576139ee61395e565b5b60006139fd84828501613984565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015613a40578082015181840152602081019050613a25565b83811115613a4f576000848401525b50505050565b6000601f19601f8301169050919050565b6000613a7182613a06565b613a7b8185613a11565b9350613a8b818560208601613a22565b613a9481613a55565b840191505092915050565b60006020820190508181036000830152613ab98184613a66565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000613aec82613ac1565b9050919050565b613afc81613ae1565b8114613b0757600080fd5b50565b600081359050613b1981613af3565b92915050565b60008060408385031215613b3657613b3561395e565b5b6000613b4485828601613b0a565b9250506020613b5585828601613984565b9150509250929050565b60008115159050919050565b613b7481613b5f565b82525050565b6000602082019050613b8f6000830184613b6b565b92915050565b613b9e81613963565b82525050565b6000602082019050613bb96000830184613b95565b92915050565b600080600060608486031215613bd857613bd761395e565b5b6000613be686828701613b0a565b9350506020613bf786828701613b0a565b9250506040613c0886828701613984565b9150509250925092565b613c1b81613b5f565b8114613c2657600080fd5b50565b600081359050613c3881613c12565b92915050565b60008060408385031215613c5557613c5461395e565b5b6000613c6385828601613b0a565b9250506020613c7485828601613c29565b9150509250929050565b600060ff82169050919050565b613c9481613c7e565b82525050565b6000602082019050613caf6000830184613c8b565b92915050565b600060208284031215613ccb57613cca61395e565b5b6000613cd984828501613b0a565b91505092915050565b613ceb81613c7e565b8114613cf657600080fd5b50565b600081359050613d0881613ce2565b92915050565b6000819050919050565b613d2181613d0e565b8114613d2c57600080fd5b50565b600081359050613d3e81613d18565b92915050565b600080600060608486031215613d5d57613d5c61395e565b5b6000613d6b86828701613cf9565b9350506020613d7c86828701613d2f565b9250506040613d8d86828701613d2f565b9150509250925092565b6000819050919050565b6000613dbc613db7613db284613ac1565b613d97565b613ac1565b9050919050565b6000613dce82613da1565b9050919050565b6000613de082613dc3565b9050919050565b613df081613dd5565b82525050565b6000602082019050613e0b6000830184613de7565b92915050565b613e1a81613ae1565b82525050565b6000602082019050613e356000830184613e11565b92915050565b600060208284031215613e5157613e5061395e565b5b6000613e5f84828501613c29565b91505092915050565b60008060408385031215613e7f57613e7e61395e565b5b6000613e8d85828601613b0a565b9250506020613e9e85828601613b0a565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000613ede602083613a11565b9150613ee982613ea8565b602082019050919050565b60006020820190508181036000830152613f0d81613ed1565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000613f4e82613963565b9150613f5983613963565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115613f8e57613f8d613f14565b5b828201905092915050565b7f4d757374206b656570206665657320617420323525206f72206c657373000000600082015250565b6000613fcf601d83613a11565b9150613fda82613f99565b602082019050919050565b60006020820190508181036000830152613ffe81613fc2565b9050919050565b600061401082613963565b915061401b83613963565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561405457614053613f14565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061409982613963565b91506140a483613963565b9250826140b4576140b361405f565b5b828204905092915050565b7f43616e6e6f7420736574206d61785472616e73616374696f6e206c6f7765722060008201527f7468616e20302e31250000000000000000000000000000000000000000000000602082015250565b600061411b602983613a11565b9150614126826140bf565b604082019050919050565b6000602082019050818103600083015261414a8161410e565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061419857607f821691505b602082108114156141ac576141ab614151565b5b50919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b600061420e602883613a11565b9150614219826141b2565b604082019050919050565b6000602082019050818103600083015261423d81614201565b9050919050565b7f43616e6e6f7420736574206d617857616c6c657453697a65206c6f776572207460008201527f68616e20302e3525000000000000000000000000000000000000000000000000602082015250565b60006142a0602883613a11565b91506142ab82614244565b604082019050919050565b600060208201905081810360008301526142cf81614293565b9050919050565b7f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060008201527f616d6d5061697273000000000000000000000000000000000000000000000000602082015250565b6000614332602883613a11565b915061433d826142d6565b604082019050919050565b6000602082019050818103600083015261436181614325565b9050919050565b61437181613d0e565b82525050565b600060a08201905061438c6000830188614368565b6143996020830187614368565b6143a66040830186614368565b6143b36060830185613b95565b6143c06080830184613e11565b9695505050505050565b60006060820190506143df6000830186614368565b6143ec6020830185614368565b6143f96040830184613b95565b949350505050565b600081905092915050565b7f1901000000000000000000000000000000000000000000000000000000000000600082015250565b6000614442600283614401565b915061444d8261440c565b600282019050919050565b6000819050919050565b61447361446e82613d0e565b614458565b82525050565b600061448482614435565b91506144908285614462565b6020820191506144a08284614462565b6020820191508190509392505050565b60006080820190506144c56000830187614368565b6144d26020830186613c8b565b6144df6040830185614368565b6144ec6060830184614368565b95945050505050565b7f496e76616c6964207369676e6174757265000000000000000000000000000000600082015250565b600061452b601183613a11565b9150614536826144f5565b602082019050919050565b6000602082019050818103600083015261455a8161451e565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b60006145bd602583613a11565b91506145c882614561565b604082019050919050565b600060208201905081810360008301526145ec816145b0565b9050919050565b7f496e76616c696420616e74692d647261696e6572000000000000000000000000600082015250565b6000614629601483613a11565b9150614634826145f3565b602082019050919050565b600060208201905081810360008301526146588161461c565b9050919050565b7f5377617020616d6f756e742063616e6e6f74206265206c6f776572207468616e60008201527f20302e3030312520746f74616c20737570706c792e0000000000000000000000602082015250565b60006146bb603583613a11565b91506146c68261465f565b604082019050919050565b600060208201905081810360008301526146ea816146ae565b9050919050565b7f5377617020616d6f756e742063616e6e6f74206265206869676865722074686160008201527f6e20302e352520746f74616c20737570706c792e000000000000000000000000602082015250565b600061474d603483613a11565b9150614758826146f1565b604082019050919050565b6000602082019050818103600083015261477c81614740565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006147df602683613a11565b91506147ea82614783565b604082019050919050565b6000602082019050818103600083015261480e816147d2565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000614871602483613a11565b915061487c82614815565b604082019050919050565b600060208201905081810360008301526148a081614864565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000614903602283613a11565b915061490e826148a7565b604082019050919050565b60006020820190508181036000830152614932816148f6565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000614995602583613a11565b91506149a082614939565b604082019050919050565b600060208201905081810360008301526149c481614988565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000614a27602383613a11565b9150614a32826149cb565b604082019050919050565b60006020820190508181036000830152614a5681614a1a565b9050919050565b7f5b66726f6d5d20626c61636b206c697374000000000000000000000000000000600082015250565b6000614a93601183613a11565b9150614a9e82614a5d565b602082019050919050565b60006020820190508181036000830152614ac281614a86565b9050919050565b7f5b746f5d20626c61636b206c6973740000000000000000000000000000000000600082015250565b6000614aff600f83613a11565b9150614b0a82614ac9565b602082019050919050565b60006020820190508181036000830152614b2e81614af2565b9050919050565b7f54726164696e67206973206e6f74206163746976652e00000000000000000000600082015250565b6000614b6b601683613a11565b9150614b7682614b35565b602082019050919050565b60006020820190508181036000830152614b9a81614b5e565b9050919050565b7f427579207472616e7366657220616d6f756e742065786365656473207468652060008201527f6d61785472616e73616374696f6e2e0000000000000000000000000000000000602082015250565b6000614bfd602f83613a11565b9150614c0882614ba1565b604082019050919050565b60006020820190508181036000830152614c2c81614bf0565b9050919050565b7f4d61782077616c6c657420657863656564656400000000000000000000000000600082015250565b6000614c69601383613a11565b9150614c7482614c33565b602082019050919050565b60006020820190508181036000830152614c9881614c5c565b9050919050565b7f53656c6c207472616e7366657220616d6f756e7420657863656564732074686560008201527f206d61785472616e73616374696f6e2e00000000000000000000000000000000602082015250565b6000614cfb603083613a11565b9150614d0682614c9f565b604082019050919050565b60006020820190508181036000830152614d2a81614cee565b9050919050565b600081519050614d4081613c12565b92915050565b600060208284031215614d5c57614d5b61395e565b5b6000614d6a84828501614d31565b91505092915050565b600060c082019050614d886000830189613e11565b614d956020830188613e11565b614da26040830187613e11565b614daf6060830186613b95565b614dbc6080830185613b95565b614dc960a0830184613b95565b979650505050505050565b7f416e746920447261696e657220456e61626c6564000000000000000000000000600082015250565b6000614e0a601483613a11565b9150614e1582614dd4565b602082019050919050565b60006020820190508181036000830152614e3981614dfd565b9050919050565b6000614e4b82613963565b9150614e5683613963565b925082821015614e6957614e68613f14565b5b828203905092915050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000614ed0602683613a11565b9150614edb82614e74565b604082019050919050565b60006020820190508181036000830152614eff81614ec3565b9050919050565b600081905092915050565b50565b6000614f21600083614f06565b9150614f2c82614f11565b600082019050919050565b6000614f4282614f14565b9150819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050614fb981613af3565b92915050565b600060208284031215614fd557614fd461395e565b5b6000614fe384828501614faa565b91505092915050565b6000819050919050565b600061501161500c61500784614fec565b613d97565b613963565b9050919050565b61502181614ff6565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61505c81613ae1565b82525050565b600061506e8383615053565b60208301905092915050565b6000602082019050919050565b600061509282615027565b61509c8185615032565b93506150a783615043565b8060005b838110156150d85781516150bf8882615062565b97506150ca8361507a565b9250506001810190506150ab565b5085935050505092915050565b600060a0820190506150fa6000830188613b95565b6151076020830187615018565b81810360408301526151198186615087565b90506151286060830185613e11565b6151356080830184613b95565b969550505050505056fea264697066735822122082abb4f4da2018c8c3a6f45de88c5646b3dc3d9b12ac13da0197ec502035222564736f6c634300080a0033