[ { "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": "developmentWallet", "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": "excludeFrommaximumTransactionAllowed", "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": "isExcludedFromFees", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "isExcludemaximumTransactionAllowed", "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": "maximumTransactionAllowed", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "maximumWalletAllowed", "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": "addr", "type": "address" }, { "internalType": "bool", "name": "enable", "type": "bool" } ], "name": "setBlackList", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "swapBackThreshold", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "swapEnabled", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "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": "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": "newNum", "type": "uint256" } ], "name": "updatemaximumTransactionAllowed", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "newNum", "type": "uint256" } ], "name": "updatemaximumWalletAllowed", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "newAmount", "type": "uint256" } ], "name": "updateswapBackThreshold", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "stateMutability": "payable", "type": "receive" } ]
60a06040526000600860146101000a81548160ff0219169083151502179055506000600860156101000a81548160ff0219169083151502179055506001600860166101000a81548160ff0219169083151502179055503480156200006257600080fd5b506040518060400160405280601881526020017f456c656374696f6e2052657075626c6963616e20436f696e00000000000000008152506040518060400160405280600681526020017f45524332373000000000000000000000000000000000000000000000000000008152508160009080519060200190620000e792919062000a78565b5080600190805190602001906200010092919062000a78565b5050506200012362000117620007fc60201b60201c565b6200080460201b60201c565b71baf664b779a4f8e3c26bc15b9bc5a2cb2285600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550715ea2ffee1eafedf378419d5f9eab8e96bb98600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff168152505060805173ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200025f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000285919062000b92565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060805173ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002ef573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000315919062000b92565b6040518363ffffffff1660e01b81526004016200033492919062000bd5565b6020604051808303816000875af115801562000354573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200037a919062000b92565b600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060016018600060805173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160186000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160186000620004a4620008ca60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601860003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016018600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160176000620005bd620008ca60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601760003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016017600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160156000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060006b01bd05ee709aab645a000000905061c3506005826200075d919062000c3b565b62000769919062000ccb565b600a819055506a0473426267f25a9a8000006009819055506a0473426267f25a9a800000600b81905550600a600f819055506000601081905550601054600f54620007b5919062000d03565b600e8190555060466012819055506000601381905550601354601254620007dd919062000d03565b601181905550620007f53382620008f460201b60201c565b5062000e76565b600033905090565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141562000967576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200095e9062000dc1565b60405180910390fd5b6200097b6000838362000a6e60201b60201c565b80600260008282546200098f919062000d03565b9250508190555080600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254620009e7919062000d03565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405162000a4e919062000df4565b60405180910390a362000a6a6000838362000a7360201b60201c565b5050565b505050565b505050565b82805462000a869062000e40565b90600052602060002090601f01602090048101928262000aaa576000855562000af6565b82601f1062000ac557805160ff191683800117855562000af6565b8280016001018555821562000af6579182015b8281111562000af557825182559160200191906001019062000ad8565b5b50905062000b05919062000b09565b5090565b5b8082111562000b2457600081600090555060010162000b0a565b5090565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000b5a8262000b2d565b9050919050565b62000b6c8162000b4d565b811462000b7857600080fd5b50565b60008151905062000b8c8162000b61565b92915050565b60006020828403121562000bab5762000baa62000b28565b5b600062000bbb8482850162000b7b565b91505092915050565b62000bcf8162000b4d565b82525050565b600060408201905062000bec600083018562000bc4565b62000bfb602083018462000bc4565b9392505050565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600062000c488262000c02565b915062000c558362000c02565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562000c915762000c9062000c0c565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600062000cd88262000c02565b915062000ce58362000c02565b92508262000cf85762000cf762000c9c565b5b828204905092915050565b600062000d108262000c02565b915062000d1d8362000c02565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111562000d555762000d5462000c0c565b5b828201905092915050565b600082825260208201905092915050565b7f4552433237303a206d696e7420746f20746865207a65726f2061646472657373600082015250565b600062000da960208362000d60565b915062000db68262000d71565b602082019050919050565b6000602082019050818103600083015262000ddc8162000d9a565b9050919050565b62000dee8162000c02565b82525050565b600060208201905062000e0b600083018462000de3565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168062000e5957607f821691505b6020821081141562000e705762000e6f62000e11565b5b50919050565b608051614baf62000ea760003960008181611846015281816133cb015281816134ac01526134d30152614baf6000f3fe6080604052600436106102975760003560e01c8063735de9f71161015a578063a9059cbb116100c1578063cff16b2f1161007a578063cff16b2f14610a2b578063d57052a914610a56578063d85ba06314610a7f578063dd62ed3e14610aaa578063e4a1b95f14610ae7578063f2fde38b14610b125761029e565b8063a9059cbb1461092d578063bbc0c7421461096a578063c024666814610995578063c04a5414146109be578063c816841b146109e9578063c9567bf914610a145761029e565b80639c3b4fdc116101135780639c3b4fdc146107f55780639fccce3214610820578063a0d82dc51461084b578063a457c2d714610876578063a72905a2146108b3578063a781dc35146108f05761029e565b8063735de9f7146106f5578063751039fc1461072057806375f0a8741461074b5780638da5cb5b14610776578063924de9b7146107a157806395d89b41146107ca5761029e565b80634a62bb65116101fe5780636a486a8e116101b75780636a486a8e146105e35780636ddd17131461060e5780636e1b6cda1461063957806370a0823114610664578063715018a6146106a15780637328afae146106b85761029e565b80634a62bb65146104d75780634fbee193146105025780636323d7cb1461053f578063655ec6391461056857806366ca9b831461059157806368092bd9146105ba5761029e565b806323b872dd1161025057806323b872dd146103b35780632d99d32e146103f0578063313ce5671461041957806335b5fb631461044457806337da26ca1461046f578063395093511461049a5761029e565b806302dbd8f8146102a357806306fdde03146102cc578063095ea7b3146102f75780630e14852d1461033457806318160ddd1461035d5780631f7ea8da146103885761029e565b3661029e57005b600080fd5b3480156102af57600080fd5b506102ca60048036038101906102c591906135ba565b610b3b565b005b3480156102d857600080fd5b506102e1610bef565b6040516102ee9190613693565b60405180910390f35b34801561030357600080fd5b5061031e60048036038101906103199190613713565b610c81565b60405161032b919061376e565b60405180910390f35b34801561034057600080fd5b5061035b600480360381019061035691906137b5565b610c9f565b005b34801561036957600080fd5b50610372610d76565b60405161037f9190613804565b60405180910390f35b34801561039457600080fd5b5061039d610d80565b6040516103aa9190613804565b60405180910390f35b3480156103bf57600080fd5b506103da60048036038101906103d5919061381f565b610d86565b6040516103e7919061376e565b60405180910390f35b3480156103fc57600080fd5b50610417600480360381019061041291906137b5565b610e7e565b005b34801561042557600080fd5b5061042e610fe6565b60405161043b919061388e565b60405180910390f35b34801561045057600080fd5b50610459610fef565b6040516104669190613804565b60405180910390f35b34801561047b57600080fd5b50610484610ff5565b6040516104919190613804565b60405180910390f35b3480156104a657600080fd5b506104c160048036038101906104bc9190613713565b610ffb565b6040516104ce919061376e565b60405180910390f35b3480156104e357600080fd5b506104ec6110a7565b6040516104f9919061376e565b60405180910390f35b34801561050e57600080fd5b50610529600480360381019061052491906138a9565b6110ba565b604051610536919061376e565b60405180910390f35b34801561054b57600080fd5b5061056660048036038101906105619190613938565b6110da565b005b34801561057457600080fd5b5061058f600480360381019061058a919061398b565b611365565b005b34801561059d57600080fd5b506105b860048036038101906105b391906135ba565b611474565b005b3480156105c657600080fd5b506105e160048036038101906105dc91906137b5565b611528565b005b3480156105ef57600080fd5b506105f86115ff565b6040516106059190613804565b60405180910390f35b34801561061a57600080fd5b50610623611605565b604051610630919061376e565b60405180910390f35b34801561064557600080fd5b5061064e611618565b60405161065b9190613804565b60405180910390f35b34801561067057600080fd5b5061068b600480360381019061068691906138a9565b61161e565b6040516106989190613804565b60405180910390f35b3480156106ad57600080fd5b506106b6611667565b005b3480156106c457600080fd5b506106df60048036038101906106da919061398b565b6116ef565b6040516106ec919061376e565b60405180910390f35b34801561070157600080fd5b5061070a611844565b6040516107179190613a17565b60405180910390f35b34801561072c57600080fd5b50610735611868565b604051610742919061376e565b60405180910390f35b34801561075757600080fd5b50610760611908565b60405161076d9190613a41565b60405180910390f35b34801561078257600080fd5b5061078b61192e565b6040516107989190613a41565b60405180910390f35b3480156107ad57600080fd5b506107c860048036038101906107c39190613a5c565b611958565b005b3480156107d657600080fd5b506107df6119f1565b6040516107ec9190613693565b60405180910390f35b34801561080157600080fd5b5061080a611a83565b6040516108179190613804565b60405180910390f35b34801561082c57600080fd5b50610835611a89565b6040516108429190613804565b60405180910390f35b34801561085757600080fd5b50610860611a8f565b60405161086d9190613804565b60405180910390f35b34801561088257600080fd5b5061089d60048036038101906108989190613713565b611a95565b6040516108aa919061376e565b60405180910390f35b3480156108bf57600080fd5b506108da60048036038101906108d591906138a9565b611b80565b6040516108e7919061376e565b60405180910390f35b3480156108fc57600080fd5b50610917600480360381019061091291906138a9565b611ba0565b604051610924919061376e565b60405180910390f35b34801561093957600080fd5b50610954600480360381019061094f9190613713565b611bc0565b604051610961919061376e565b60405180910390f35b34801561097657600080fd5b5061097f611bde565b60405161098c919061376e565b60405180910390f35b3480156109a157600080fd5b506109bc60048036038101906109b791906137b5565b611bf1565b005b3480156109ca57600080fd5b506109d3611cc8565b6040516109e09190613a41565b60405180910390f35b3480156109f557600080fd5b506109fe611cee565b604051610a0b9190613a41565b60405180910390f35b348015610a2057600080fd5b50610a29611d14565b005b348015610a3757600080fd5b50610a40611dc8565b604051610a4d9190613804565b60405180910390f35b348015610a6257600080fd5b50610a7d6004803603810190610a78919061398b565b611dce565b005b348015610a8b57600080fd5b50610a94611edd565b604051610aa19190613804565b60405180910390f35b348015610ab657600080fd5b50610ad16004803603810190610acc9190613a89565b611ee3565b604051610ade9190613804565b60405180910390f35b348015610af357600080fd5b50610afc611f6a565b604051610b099190613804565b60405180910390f35b348015610b1e57600080fd5b50610b396004803603810190610b3491906138a9565b611f70565b005b610b43612068565b73ffffffffffffffffffffffffffffffffffffffff16610b6161192e565b73ffffffffffffffffffffffffffffffffffffffff1614610bb7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bae90613b15565b60405180910390fd5b8160128190555080601381905550601354601254610bd59190613b64565b60118190555060636011541115610beb57600080fd5b5050565b606060008054610bfe90613be9565b80601f0160208091040260200160405190810160405280929190818152602001828054610c2a90613be9565b8015610c775780601f10610c4c57610100808354040283529160200191610c77565b820191906000526020600020905b815481529060010190602001808311610c5a57829003601f168201915b5050505050905090565b6000610c95610c8e612068565b8484612070565b6001905092915050565b610ca7612068565b73ffffffffffffffffffffffffffffffffffffffff16610cc561192e565b73ffffffffffffffffffffffffffffffffffffffff1614610d1b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d1290613b15565b60405180910390fd5b80601860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6000600254905090565b600c5481565b6000610d9384848461223b565b6000600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610dde612068565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610e5e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e5590613c8d565b60405180910390fd5b610e7285610e6a612068565b858403612070565b60019150509392505050565b610e86612068565b73ffffffffffffffffffffffffffffffffffffffff16610ea461192e565b73ffffffffffffffffffffffffffffffffffffffff1614610efa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ef190613b15565b60405180910390fd5b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610f8b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f8290613d1f565b60405180910390fd5b80601560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60006012905090565b60125481565b600b5481565b600061109d611008612068565b848460046000611016612068565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546110989190613b64565b612070565b6001905092915050565b600860169054906101000a900460ff1681565b60176020528060005260406000206000915054906101000a900460ff1681565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6040518060400160405280600d81526020017f54726164696e6720546f6b656e00000000000000000000000000000000000000815250805190602001206040518060400160405280600181526020017f310000000000000000000000000000000000000000000000000000000000000081525080519060200120463060405160200161118d959493929190613d4e565b60405160208183030381529060405280519060200120905060007f7dfdbf06c6260804b81338506aa4a709bd9f04b68ca0d2d054b8627926c90ae46040518060400160405280600e81526020017f456e61626c652054726164696e6700000000000000000000000000000000000081525080519060200120600060405160200161121993929190613da1565b60405160208183030381529060405280519060200120905060008282604051602001611246929190613e50565b6040516020818303038152906040528051906020012090506000600182888888604051600081526020016040526040516112839493929190613e87565b6020604051602081039080840390855afa1580156112a5573d6000803e3d6000fd5b5050506020604051035190506112b961192e565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614611326576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161131d90613f18565b60405180910390fd5b6001600860146101000a81548160ff0219169083151502179055506001600860156101000a81548160ff02191690831515021790555050505050505050565b61136d612068565b73ffffffffffffffffffffffffffffffffffffffff1661138b61192e565b73ffffffffffffffffffffffffffffffffffffffff16146113e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113d890613b15565b60405180910390fd5b670de0b6b3a76400006103e860016113f7610d76565b6114019190613f38565b61140b9190613fc1565b6114159190613fc1565b811015611457576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161144e90614064565b60405180910390fd5b670de0b6b3a76400008161146b9190613f38565b60098190555050565b61147c612068565b73ffffffffffffffffffffffffffffffffffffffff1661149a61192e565b73ffffffffffffffffffffffffffffffffffffffff16146114f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114e790613b15565b60405180910390fd5b81600f8190555080601081905550601054600f5461150e9190613b64565b600e819055506063600e54111561152457600080fd5b5050565b611530612068565b73ffffffffffffffffffffffffffffffffffffffff1661154e61192e565b73ffffffffffffffffffffffffffffffffffffffff16146115a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161159b90613b15565b60405180910390fd5b80601660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60115481565b600860159054906101000a900460ff1681565b600a5481565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61166f612068565b73ffffffffffffffffffffffffffffffffffffffff1661168d61192e565b73ffffffffffffffffffffffffffffffffffffffff16146116e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116da90613b15565b60405180910390fd5b6116ed6000612dc1565b565b60006116f9612068565b73ffffffffffffffffffffffffffffffffffffffff1661171761192e565b73ffffffffffffffffffffffffffffffffffffffff161461176d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161176490613b15565b60405180910390fd5b620186a0600161177b610d76565b6117859190613f38565b61178f9190613fc1565b8210156117d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117c8906140f6565b60405180910390fd5b6103e860056117de610d76565b6117e89190613f38565b6117f29190613fc1565b821115611834576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161182b90614188565b60405180910390fd5b81600a8190555060019050919050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000611872612068565b73ffffffffffffffffffffffffffffffffffffffff1661189061192e565b73ffffffffffffffffffffffffffffffffffffffff16146118e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118dd90613b15565b60405180910390fd5b6000600860166101000a81548160ff0219169083151502179055506001905090565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b611960612068565b73ffffffffffffffffffffffffffffffffffffffff1661197e61192e565b73ffffffffffffffffffffffffffffffffffffffff16146119d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119cb90613b15565b60405180910390fd5b80600860156101000a81548160ff02191690831515021790555050565b606060018054611a0090613be9565b80601f0160208091040260200160405190810160405280929190818152602001828054611a2c90613be9565b8015611a795780601f10611a4e57610100808354040283529160200191611a79565b820191906000526020600020905b815481529060010190602001808311611a5c57829003601f168201915b5050505050905090565b60105481565b600d5481565b60135481565b60008060046000611aa4612068565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015611b61576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b589061421a565b60405180910390fd5b611b75611b6c612068565b85858403612070565b600191505092915050565b60156020528060005260406000206000915054906101000a900460ff1681565b60186020528060005260406000206000915054906101000a900460ff1681565b6000611bd4611bcd612068565b848461223b565b6001905092915050565b600860149054906101000a900460ff1681565b611bf9612068565b73ffffffffffffffffffffffffffffffffffffffff16611c1761192e565b73ffffffffffffffffffffffffffffffffffffffff1614611c6d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c6490613b15565b60405180910390fd5b80601760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b611d1c612068565b73ffffffffffffffffffffffffffffffffffffffff16611d3a61192e565b73ffffffffffffffffffffffffffffffffffffffff1614611d90576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d8790613b15565b60405180910390fd5b6001600860146101000a81548160ff0219169083151502179055506001600860156101000a81548160ff021916908315150217905550565b60095481565b611dd6612068565b73ffffffffffffffffffffffffffffffffffffffff16611df461192e565b73ffffffffffffffffffffffffffffffffffffffff1614611e4a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e4190613b15565b60405180910390fd5b670de0b6b3a76400006103e86005611e60610d76565b611e6a9190613f38565b611e749190613fc1565b611e7e9190613fc1565b811015611ec0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611eb7906142ac565b60405180910390fd5b670de0b6b3a764000081611ed49190613f38565b600b8190555050565b600e5481565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600f5481565b611f78612068565b73ffffffffffffffffffffffffffffffffffffffff16611f9661192e565b73ffffffffffffffffffffffffffffffffffffffff1614611fec576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fe390613b15565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561205c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120539061433e565b60405180910390fd5b61206581612dc1565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156120e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120d7906143d0565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612150576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161214790614462565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161222e9190613804565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156122ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122a2906144f4565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561231b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161231290614586565b60405180910390fd5b601660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156123a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161239f906145f2565b60405180910390fd5b601660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615612435576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161242c9061465e565b60405180910390fd5b600081141561244f5761244a83836000612e87565b612dbc565b600860169054906101000a900460ff161561294a5761246c61192e565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156124da57506124aa61192e565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156125135750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561254d575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156125665750601460009054906101000a900460ff16155b1561294957600860149054906101000a900460ff1661266057601760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806126205750601760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b61265f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612656906146ca565b60405180910390fd5b5b601560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156127035750601860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156127aa5760095481111561274d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127449061475c565b60405180910390fd5b600b546127598361161e565b826127649190613b64565b11156127a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161279c906147c8565b60405180910390fd5b612948565b601560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16801561284d5750601860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561289c57600954811115612897576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161288e9061485a565b60405180910390fd5b612947565b601860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661294657600b546128f98361161e565b826129049190613b64565b1115612945576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161293c906147c8565b60405180910390fd5b5b5b5b5b5b60006129553061161e565b90506000600a54821015905080801561297a5750600860159054906101000a900460ff165b80156129935750601460009054906101000a900460ff16155b80156129e95750601560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015612a3f5750601760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015612a955750601760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15612ad9576001601460006101000a81548160ff021916908315150217905550612abd61310b565b6000601460006101000a81548160ff0219169083151502179055505b6000601460009054906101000a900460ff16159050601760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680612b8f5750601760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15612b9957600090505b60008115612dac57601560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015612bfc57506000601154115b15612c9657612c296064612c1b601154886132f690919063ffffffff16565b61330c90919063ffffffff16565b905060115460135482612c3c9190613f38565b612c469190613fc1565b600d6000828254612c579190613b64565b9250508190555060115460125482612c6f9190613f38565b612c799190613fc1565b600c6000828254612c8a9190613b64565b92505081905550612d88565b601560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015612cf157506000600e54115b15612d8757612d1e6064612d10600e54886132f690919063ffffffff16565b61330c90919063ffffffff16565b9050600e5460105482612d319190613f38565b612d3b9190613fc1565b600d6000828254612d4c9190613b64565b92505081905550600e54600f5482612d649190613f38565b612d6e9190613fc1565b600c6000828254612d7f9190613b64565b925050819055505b5b6000811115612d9d57612d9c873083612e87565b5b8085612da9919061487a565b94505b612db7878787612e87565b505050505b505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612ef7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612eee906144f4565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612f67576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612f5e90614586565b60405180910390fd5b612f72838383613322565b6000600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015612ff9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ff090614920565b60405180910390fd5b818103600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461308e9190613b64565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516130f29190613804565b60405180910390a3613105848484613327565b50505050565b60006131163061161e565b90506000600d54600c5461312a9190613b64565b905060008083148061313c5750600082145b15613149575050506132f4565b6014600a546131589190613f38565b831115613171576014600a5461316e9190613f38565b92505b600047905061317f8461332c565b6000613194824761356990919063ffffffff16565b905060006131bf856131b1600d54856132f690919063ffffffff16565b61330c90919063ffffffff16565b90506000600c819055506000600d81905550600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168160405161321790614971565b60006040518083038185875af1925050503d8060008114613254576040519150601f19603f3d011682016040523d82523d6000602084013e613259565b606091505b505080945050600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16476040516132a590614971565b60006040518083038185875af1925050503d80600081146132e2576040519150601f19603f3d011682016040523d82523d6000602084013e6132e7565b606091505b5050809450505050505050505b565b600081836133049190613f38565b905092915050565b6000818361331a9190613fc1565b905092915050565b505050565b505050565b6000600267ffffffffffffffff81111561334957613348614986565b5b6040519080825280602002602001820160405280156133775781602001602082028036833780820191505090505b509050308160008151811061338f5761338e6149b5565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015613434573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061345891906149f9565b8160018151811061346c5761346b6149b5565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506134d1307f000000000000000000000000000000000000000000000000000000000000000084612070565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401613533959493929190614b1f565b600060405180830381600087803b15801561354d57600080fd5b505af1158015613561573d6000803e3d6000fd5b505050505050565b60008183613577919061487a565b905092915050565b600080fd5b6000819050919050565b61359781613584565b81146135a257600080fd5b50565b6000813590506135b48161358e565b92915050565b600080604083850312156135d1576135d061357f565b5b60006135df858286016135a5565b92505060206135f0858286016135a5565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b60005b83811015613634578082015181840152602081019050613619565b83811115613643576000848401525b50505050565b6000601f19601f8301169050919050565b6000613665826135fa565b61366f8185613605565b935061367f818560208601613616565b61368881613649565b840191505092915050565b600060208201905081810360008301526136ad818461365a565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006136e0826136b5565b9050919050565b6136f0816136d5565b81146136fb57600080fd5b50565b60008135905061370d816136e7565b92915050565b6000806040838503121561372a5761372961357f565b5b6000613738858286016136fe565b9250506020613749858286016135a5565b9150509250929050565b60008115159050919050565b61376881613753565b82525050565b6000602082019050613783600083018461375f565b92915050565b61379281613753565b811461379d57600080fd5b50565b6000813590506137af81613789565b92915050565b600080604083850312156137cc576137cb61357f565b5b60006137da858286016136fe565b92505060206137eb858286016137a0565b9150509250929050565b6137fe81613584565b82525050565b600060208201905061381960008301846137f5565b92915050565b6000806000606084860312156138385761383761357f565b5b6000613846868287016136fe565b9350506020613857868287016136fe565b9250506040613868868287016135a5565b9150509250925092565b600060ff82169050919050565b61388881613872565b82525050565b60006020820190506138a3600083018461387f565b92915050565b6000602082840312156138bf576138be61357f565b5b60006138cd848285016136fe565b91505092915050565b6138df81613872565b81146138ea57600080fd5b50565b6000813590506138fc816138d6565b92915050565b6000819050919050565b61391581613902565b811461392057600080fd5b50565b6000813590506139328161390c565b92915050565b6000806000606084860312156139515761395061357f565b5b600061395f868287016138ed565b935050602061397086828701613923565b925050604061398186828701613923565b9150509250925092565b6000602082840312156139a1576139a061357f565b5b60006139af848285016135a5565b91505092915050565b6000819050919050565b60006139dd6139d86139d3846136b5565b6139b8565b6136b5565b9050919050565b60006139ef826139c2565b9050919050565b6000613a01826139e4565b9050919050565b613a11816139f6565b82525050565b6000602082019050613a2c6000830184613a08565b92915050565b613a3b816136d5565b82525050565b6000602082019050613a566000830184613a32565b92915050565b600060208284031215613a7257613a7161357f565b5b6000613a80848285016137a0565b91505092915050565b60008060408385031215613aa057613a9f61357f565b5b6000613aae858286016136fe565b9250506020613abf858286016136fe565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000613aff602083613605565b9150613b0a82613ac9565b602082019050919050565b60006020820190508181036000830152613b2e81613af2565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000613b6f82613584565b9150613b7a83613584565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115613baf57613bae613b35565b5b828201905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680613c0157607f821691505b60208210811415613c1557613c14613bba565b5b50919050565b7f4552433237303a207472616e7366657220616d6f756e7420657863656564732060008201527f616c6c6f77616e63650000000000000000000000000000000000000000000000602082015250565b6000613c77602983613605565b9150613c8282613c1b565b604082019050919050565b60006020820190508181036000830152613ca681613c6a565b9050919050565b7f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060008201527f616d6d5061697273000000000000000000000000000000000000000000000000602082015250565b6000613d09602883613605565b9150613d1482613cad565b604082019050919050565b60006020820190508181036000830152613d3881613cfc565b9050919050565b613d4881613902565b82525050565b600060a082019050613d636000830188613d3f565b613d706020830187613d3f565b613d7d6040830186613d3f565b613d8a60608301856137f5565b613d976080830184613a32565b9695505050505050565b6000606082019050613db66000830186613d3f565b613dc36020830185613d3f565b613dd060408301846137f5565b949350505050565b600081905092915050565b7f1901000000000000000000000000000000000000000000000000000000000000600082015250565b6000613e19600283613dd8565b9150613e2482613de3565b600282019050919050565b6000819050919050565b613e4a613e4582613902565b613e2f565b82525050565b6000613e5b82613e0c565b9150613e678285613e39565b602082019150613e778284613e39565b6020820191508190509392505050565b6000608082019050613e9c6000830187613d3f565b613ea9602083018661387f565b613eb66040830185613d3f565b613ec36060830184613d3f565b95945050505050565b7f496e76616c6964207369676e6174757265000000000000000000000000000000600082015250565b6000613f02601183613605565b9150613f0d82613ecc565b602082019050919050565b60006020820190508181036000830152613f3181613ef5565b9050919050565b6000613f4382613584565b9150613f4e83613584565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615613f8757613f86613b35565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000613fcc82613584565b9150613fd783613584565b925082613fe757613fe6613f92565b5b828204905092915050565b7f43616e6e6f7420736574206d6178696d756d5472616e73616374696f6e416c6c60008201527f6f776564206c6f776572207468616e20302e3125000000000000000000000000602082015250565b600061404e603483613605565b915061405982613ff2565b604082019050919050565b6000602082019050818103600083015261407d81614041565b9050919050565b7f5377617020616d6f756e742063616e6e6f74206265206c6f776572207468616e60008201527f20302e3030312520746f74616c20737570706c792e0000000000000000000000602082015250565b60006140e0603583613605565b91506140eb82614084565b604082019050919050565b6000602082019050818103600083015261410f816140d3565b9050919050565b7f5377617020616d6f756e742063616e6e6f74206265206869676865722074686160008201527f6e20302e352520746f74616c20737570706c792e000000000000000000000000602082015250565b6000614172603483613605565b915061417d82614116565b604082019050919050565b600060208201905081810360008301526141a181614165565b9050919050565b7f4552433237303a2064656372656173656420616c6c6f77616e63652062656c6f60008201527f77207a65726f0000000000000000000000000000000000000000000000000000602082015250565b6000614204602683613605565b915061420f826141a8565b604082019050919050565b60006020820190508181036000830152614233816141f7565b9050919050565b7f43616e6e6f7420736574206d6178696d756d57616c6c6574416c6c6f7765642060008201527f6c6f776572207468616e20302e35250000000000000000000000000000000000602082015250565b6000614296602f83613605565b91506142a18261423a565b604082019050919050565b600060208201905081810360008301526142c581614289565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000614328602683613605565b9150614333826142cc565b604082019050919050565b600060208201905081810360008301526143578161431b565b9050919050565b7f4552433237303a20617070726f76652066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006143ba602583613605565b91506143c58261435e565b604082019050919050565b600060208201905081810360008301526143e9816143ad565b9050919050565b7f4552433237303a20617070726f766520746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061444c602383613605565b9150614457826143f0565b604082019050919050565b6000602082019050818103600083015261447b8161443f565b9050919050565b7f4552433237303a207472616e736665722066726f6d20746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006144de602683613605565b91506144e982614482565b604082019050919050565b6000602082019050818103600083015261450d816144d1565b9050919050565b7f4552433237303a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000614570602483613605565b915061457b82614514565b604082019050919050565b6000602082019050818103600083015261459f81614563565b9050919050565b7f5b66726f6d5d20626c61636b206c697374000000000000000000000000000000600082015250565b60006145dc601183613605565b91506145e7826145a6565b602082019050919050565b6000602082019050818103600083015261460b816145cf565b9050919050565b7f5b746f5d20626c61636b206c6973740000000000000000000000000000000000600082015250565b6000614648600f83613605565b915061465382614612565b602082019050919050565b600060208201905081810360008301526146778161463b565b9050919050565b7f54726164696e67206973206e6f74206163746976652e00000000000000000000600082015250565b60006146b4601683613605565b91506146bf8261467e565b602082019050919050565b600060208201905081810360008301526146e3816146a7565b9050919050565b7f427579207472616e7366657220616d6f756e742065786365656473207468652060008201527f6d6178696d756d5472616e73616374696f6e416c6c6f7765642e000000000000602082015250565b6000614746603a83613605565b9150614751826146ea565b604082019050919050565b6000602082019050818103600083015261477581614739565b9050919050565b7f4d61782077616c6c657420657863656564656400000000000000000000000000600082015250565b60006147b2601383613605565b91506147bd8261477c565b602082019050919050565b600060208201905081810360008301526147e1816147a5565b9050919050565b7f53656c6c207472616e7366657220616d6f756e7420657863656564732074686560008201527f206d6178696d756d5472616e73616374696f6e416c6c6f7765642e0000000000602082015250565b6000614844603b83613605565b915061484f826147e8565b604082019050919050565b6000602082019050818103600083015261487381614837565b9050919050565b600061488582613584565b915061489083613584565b9250828210156148a3576148a2613b35565b5b828203905092915050565b7f4552433237303a207472616e7366657220616d6f756e7420657863656564732060008201527f62616c616e636500000000000000000000000000000000000000000000000000602082015250565b600061490a602783613605565b9150614915826148ae565b604082019050919050565b60006020820190508181036000830152614939816148fd565b9050919050565b600081905092915050565b50565b600061495b600083614940565b91506149668261494b565b600082019050919050565b600061497c8261494e565b9150819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000815190506149f3816136e7565b92915050565b600060208284031215614a0f57614a0e61357f565b5b6000614a1d848285016149e4565b91505092915050565b6000819050919050565b6000614a4b614a46614a4184614a26565b6139b8565b613584565b9050919050565b614a5b81614a30565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b614a96816136d5565b82525050565b6000614aa88383614a8d565b60208301905092915050565b6000602082019050919050565b6000614acc82614a61565b614ad68185614a6c565b9350614ae183614a7d565b8060005b83811015614b12578151614af98882614a9c565b9750614b0483614ab4565b925050600181019050614ae5565b5085935050505092915050565b600060a082019050614b3460008301886137f5565b614b416020830187614a52565b8181036040830152614b538186614ac1565b9050614b626060830185613a32565b614b6f60808301846137f5565b969550505050505056fea2646970667358221220a1cead9449d1b7fdc38314b8e23f9e7c41d900ece7bd678c9879071b9f22646564736f6c634300080a0033