[ { "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": [], "name": "AutoNukeLP", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "account", "type": "address" }, { "indexed": false, "internalType": "bool", "name": "isExcluded", "type": "bool" } ], "name": "ExcludeFromFees", "type": "event" }, { "anonymous": false, "inputs": [], "name": "ManualNukeLP", "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": "pair", "type": "address" }, { "indexed": true, "internalType": "bool", "name": "value", "type": "bool" } ], "name": "SetAutomatedMarketMakerPair", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "tokensSwapped", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "ethReceived", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "tokensIntoLiquidity", "type": "uint256" } ], "name": "SwapAndLiquify", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "newAddress", "type": "address" }, { "indexed": true, "internalType": "address", "name": "oldAddress", "type": "address" } ], "name": "UpdateUniswapV2Router", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "newWallet", "type": "address" }, { "indexed": true, "internalType": "address", "name": "oldWallet", "type": "address" } ], "name": "devWalletUpdated", "type": "event" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "_isExcludedMaxTransactionAmount", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" } ], "name": "allowance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "approve", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "areLimitsOn", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "automatedMarketMakerPairs", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "balance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "commenceDecentralization", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "contractSellTreshold", "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": "despairETH", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "despairGenesis", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "devBuyTax", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "devSellTax", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "emptyContractFull", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "bool", "name": "excluded", "type": "bool" } ], "name": "excludeFromFees", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "updAds", "type": "address" }, { "internalType": "bool", "name": "isEx", "type": "bool" } ], "name": "excludeFromMaxTransaction", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "enabled", "type": "bool" } ], "name": "freeThemNow", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "addedValue", "type": "uint256" } ], "name": "increaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "isExcludedFromFees", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "liqBuyTax", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "liqSellTax", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "maxTransaction", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "maxWalletHolding", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "mineGenesisBlock", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "pair", "type": "address" }, { "internalType": "bool", "name": "value", "type": "bool" } ], "name": "setAutomatedMarketMakerPair", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_devBuy", "type": "uint256" }, { "internalType": "uint256", "name": "_devSell", "type": "uint256" }, { "internalType": "uint256", "name": "_liqBuy", "type": "uint256" }, { "internalType": "uint256", "name": "_liqSell", "type": "uint256" } ], "name": "setDAOPercent", "outputs": [], "stateMutability": "nonpayable", "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": "tokensForLiquidity", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalBuyTax", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSellTax", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "recipient", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "transfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "address", "name": "recipient", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "transferFrom", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "uniswapV2Pair", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "uniswapV2Router", "outputs": [ { "internalType": "contract IUniswapV2Router02", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newDevWallet", "type": "address" } ], "name": "updateDevWallet", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "stateMutability": "payable", "type": "receive" } ]
60806040526040518061068001604052806106508152602001620056e161065091396006908162000031919062000bb5565b506040518060400160405280600781526020017f47454e45534953000000000000000000000000000000000000000000000000008152506007908162000078919062000bb5565b506001600f5f6101000a81548160ff0219169083151502179055505f600f60016101000a81548160ff021916908315150217905550348015620000b9575f80fd5b5060068054620000c990620009b5565b80601f0160208091040260200160405190810160405280929190818152602001828054620000f790620009b5565b8015620001465780601f106200011c5761010080835404028352916020019162000146565b820191905f5260205f20905b8154815290600101906020018083116200012857829003601f168201915b5050505050600780546200015a90620009b5565b80601f01602080910402602001604051908101604052809291908181526020018280546200018890620009b5565b8015620001d75780601f10620001ad57610100808354040283529160200191620001d7565b820191905f5260205f20905b815481529060010190602001808311620001b957829003601f168201915b50505050508160039081620001ed919062000bb5565b508060049081620001ff919062000bb5565b5050505f62000213620004dc60201b60201c565b90508060055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3505f600190505f80600190505f806a3b8e97d229a2d54800000090506103e8601482620002dd919062000cc6565b620002e9919062000d3d565b600c819055506103e860148262000301919062000cc6565b6200030d919062000d3d565b600e819055506103e860018262000325919062000cc6565b62000331919062000d3d565b600d81905550846011819055508360128190555060125460115462000357919062000d74565b60108190555082601481905550816015819055506015546014546200037d919062000d74565b60138190555033600b5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620003e5620003d7620004e360201b60201c565b60016200050b60201b60201c565b620003f83060016200050b60201b60201c565b6200040d61dead60016200050b60201b60201c565b62000441600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660016200050b60201b60201c565b6200046362000455620004e360201b60201c565b60016200065460201b60201c565b620004763060016200065460201b60201c565b6200048b61dead60016200065460201b60201c565b620004bf600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660016200065460201b60201c565b620004d133826200074d60201b60201c565b505050505062000f6b565b5f33905090565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6200051b620004dc60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614620005ac576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620005a39062000e0c565b60405180910390fd5b8060195f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df78260405162000648919062000e48565b60405180910390a25050565b62000664620004dc60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614620006f5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620006ec9062000e0c565b60405180910390fd5b80601a5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603620007be576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620007b59062000eb1565b60405180910390fd5b620007d15f8383620008ea60201b60201c565b620007e881600254620008ef60201b90919060201c565b6002819055506200083f815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054620008ef60201b90919060201c565b5f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051620008de919062000ee2565b60405180910390a35050565b505050565b5f808284620008ff919062000d74565b90508381101562000947576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200093e9062000f4b565b60405180910390fd5b8091505092915050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680620009cd57607f821691505b602082108103620009e357620009e262000988565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f6008830262000a477fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000a0a565b62000a53868362000a0a565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f62000a9d62000a9762000a918462000a6b565b62000a74565b62000a6b565b9050919050565b5f819050919050565b62000ab88362000a7d565b62000ad062000ac78262000aa4565b84845462000a16565b825550505050565b5f90565b62000ae662000ad8565b62000af381848462000aad565b505050565b5b8181101562000b1a5762000b0e5f8262000adc565b60018101905062000af9565b5050565b601f82111562000b695762000b3381620009e9565b62000b3e84620009fb565b8101602085101562000b4e578190505b62000b6662000b5d85620009fb565b83018262000af8565b50505b505050565b5f82821c905092915050565b5f62000b8b5f198460080262000b6e565b1980831691505092915050565b5f62000ba5838362000b7a565b9150826002028217905092915050565b62000bc08262000951565b67ffffffffffffffff81111562000bdc5762000bdb6200095b565b5b62000be88254620009b5565b62000bf582828562000b1e565b5f60209050601f83116001811462000c2b575f841562000c16578287015190505b62000c22858262000b98565b86555062000c91565b601f19841662000c3b86620009e9565b5f5b8281101562000c645784890151825560018201915060208501945060208101905062000c3d565b8683101562000c84578489015162000c80601f89168262000b7a565b8355505b6001600288020188555050505b505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f62000cd28262000a6b565b915062000cdf8362000a6b565b925082820262000cef8162000a6b565b9150828204841483151762000d095762000d0862000c99565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f62000d498262000a6b565b915062000d568362000a6b565b92508262000d695762000d6862000d10565b5b828204905092915050565b5f62000d808262000a6b565b915062000d8d8362000a6b565b925082820190508082111562000da85762000da762000c99565b5b92915050565b5f82825260208201905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f62000df460208362000dae565b915062000e018262000dbe565b602082019050919050565b5f6020820190508181035f83015262000e258162000de6565b9050919050565b5f8115159050919050565b62000e428162000e2c565b82525050565b5f60208201905062000e5d5f83018462000e37565b92915050565b7f45524332303a206d696e7420746f20746865207a65726f2061646472657373005f82015250565b5f62000e99601f8362000dae565b915062000ea68262000e63565b602082019050919050565b5f6020820190508181035f83015262000eca8162000e8b565b9050919050565b62000edc8162000a6b565b82525050565b5f60208201905062000ef75f83018462000ed1565b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f62000f33601b8362000dae565b915062000f408262000efd565b602082019050919050565b5f6020820190508181035f83015262000f648162000f25565b9050919050565b6147688062000f795f395ff3fe60806040526004361061025f575f3560e01c80635de0f2a011610143578063a9059cbb116100b5578063c3f70b5211610079578063c3f70b52146108d6578063d9ed588f14610900578063dd62ed3e14610916578063df6f93be14610952578063f2fde38b1461097c578063fdfa10a1146109a457610266565b8063a9059cbb146107e2578063b62496f51461081e578063b69ef8a81461085a578063be85750414610884578063c0246668146108ae57610266565b80638da5cb5b116101075780638da5cb5b146106d6578063945674fe1461070057806395d89b411461072a5780639a7a23d6146107545780639fccce321461077c578063a457c2d7146107a657610266565b80635de0f2a0146106085780636c7e15c91461063257806370a082311461065c578063715018a6146106985780637571336a146106ae57610266565b806322eb6631116101dc57806341d560da116101a057806341d560da146104fe57806346469afb1461052657806347579d3d1461055057806348d791551461057857806349bd5a5e146105a25780634fbee193146105cc57610266565b806322eb66311461041c57806323b872dd14610446578063278c525614610482578063313ce5671461049857806339509351146104c257610266565b806318160ddd1161022357806318160ddd146103605780631816467f1461038a5780631a8145bb146103b25780631bff7898146103dc578063220fff7e1461040657610266565b806306fdde031461026a578063095ea7b3146102945780630e947809146102d057806310d5de53146102fa5780631694505e1461033657610266565b3661026657005b5f80fd5b348015610275575f80fd5b5061027e6109ba565b60405161028b9190613692565b60405180910390f35b34801561029f575f80fd5b506102ba60048036038101906102b59190613743565b610a4a565b6040516102c7919061379b565b60405180910390f35b3480156102db575f80fd5b506102e4610a67565b6040516102f1919061379b565b60405180910390f35b348015610305575f80fd5b50610320600480360381019061031b91906137b4565b610a79565b60405161032d919061379b565b60405180910390f35b348015610341575f80fd5b5061034a610a96565b604051610357919061383a565b60405180910390f35b34801561036b575f80fd5b50610374610abb565b6040516103819190613862565b60405180910390f35b348015610395575f80fd5b506103b060048036038101906103ab91906137b4565b610ac4565b005b3480156103bd575f80fd5b506103c6610c18565b6040516103d39190613862565b60405180910390f35b3480156103e7575f80fd5b506103f0610c1e565b6040516103fd9190613862565b60405180910390f35b348015610411575f80fd5b5061041a610c24565b005b348015610427575f80fd5b50610430610d37565b60405161043d9190613862565b60405180910390f35b348015610451575f80fd5b5061046c6004803603810190610467919061387b565b610d3d565b604051610479919061379b565b60405180910390f35b34801561048d575f80fd5b50610496610e11565b005b3480156104a3575f80fd5b506104ac610fba565b6040516104b991906138e6565b60405180910390f35b3480156104cd575f80fd5b506104e860048036038101906104e39190613743565b610fc2565b6040516104f5919061379b565b60405180910390f35b348015610509575f80fd5b50610524600480360381019061051f9190613929565b611070565b005b348015610531575f80fd5b5061053a611123565b6040516105479190613862565b60405180910390f35b34801561055b575f80fd5b5061057660048036038101906105719190613954565b611129565b005b348015610583575f80fd5b5061058c611299565b6040516105999190613862565b60405180910390f35b3480156105ad575f80fd5b506105b661129f565b6040516105c391906139c7565b60405180910390f35b3480156105d7575f80fd5b506105f260048036038101906105ed91906137b4565b6112c4565b6040516105ff919061379b565b60405180910390f35b348015610613575f80fd5b5061061c611316565b6040516106299190613862565b60405180910390f35b34801561063d575f80fd5b5061064661131c565b6040516106539190613862565b60405180910390f35b348015610667575f80fd5b50610682600480360381019061067d91906137b4565b611322565b60405161068f9190613862565b60405180910390f35b3480156106a3575f80fd5b506106ac611367565b005b3480156106b9575f80fd5b506106d460048036038101906106cf91906139e0565b6114ba565b005b3480156106e1575f80fd5b506106ea6115a8565b6040516106f791906139c7565b60405180910390f35b34801561070b575f80fd5b506107146115d0565b604051610721919061379b565b60405180910390f35b348015610735575f80fd5b5061073e6115e3565b60405161074b9190613692565b60405180910390f35b34801561075f575f80fd5b5061077a600480360381019061077591906139e0565b611673565b005b348015610787575f80fd5b506107906117a6565b60405161079d9190613862565b60405180910390f35b3480156107b1575f80fd5b506107cc60048036038101906107c79190613743565b6117ac565b6040516107d9919061379b565b60405180910390f35b3480156107ed575f80fd5b5061080860048036038101906108039190613743565b611874565b604051610815919061379b565b60405180910390f35b348015610829575f80fd5b50610844600480360381019061083f91906137b4565b611891565b604051610851919061379b565b60405180910390f35b348015610865575f80fd5b5061086e6118ae565b60405161087b9190613862565b60405180910390f35b34801561088f575f80fd5b506108986118b4565b6040516108a59190613862565b60405180910390f35b3480156108b9575f80fd5b506108d460048036038101906108cf91906139e0565b6118ba565b005b3480156108e1575f80fd5b506108ea6119f6565b6040516108f79190613862565b60405180910390f35b34801561090b575f80fd5b506109146119fc565b005b348015610921575f80fd5b5061093c60048036038101906109379190613a1e565b611aad565b6040516109499190613862565b60405180910390f35b34801561095d575f80fd5b50610966611b2f565b6040516109739190613862565b60405180910390f35b348015610987575f80fd5b506109a2600480360381019061099d91906137b4565b611b35565b005b3480156109af575f80fd5b506109b8611c89565b005b6060600380546109c990613a89565b80601f01602080910402602001604051908101604052809291908181526020018280546109f590613a89565b8015610a405780601f10610a1757610100808354040283529160200191610a40565b820191905f5260205f20905b815481529060010190602001808311610a2357829003601f168201915b5050505050905090565b5f610a5d610a5661208f565b8484612096565b6001905092915050565b600f5f9054906101000a900460ff1681565b601a602052805f5260405f205f915054906101000a900460ff1681565b60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f600254905090565b610acc61208f565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b5a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b5190613b03565b60405180910390fd5b600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f90b8024c4923d3873ff5b9fcb43d0360d4b9217fa41225d07ba379993552e74360405160405180910390a380600b5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60165481565b60135481565b610c2c61208f565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610cba576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cb190613b03565b60405180910390fd5b5f610cc430611322565b90505f8111610d08576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cff90613b91565b60405180910390fd5b610d3430600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683612259565b50565b60145481565b5f610d49848484612259565b610e0684610d5561208f565b610e01856040518060600160405280602881526020016146e66028913960015f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f610db861208f565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054612b7e9092919063ffffffff16565b612096565b600190509392505050565b610e1961208f565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ea7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e9e90613b03565b60405180910390fd5b5f4790505f8111610eed576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ee490613c1f565b60405180910390fd5b5f600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1682604051610f3390613c6a565b5f6040518083038185875af1925050503d805f8114610f6d576040519150601f19603f3d011682016040523d82523d5f602084013e610f72565b606091505b5050905080610fb6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fad90613cc8565b60405180910390fd5b5050565b5f6012905090565b5f611066610fce61208f565b846110618560015f610fde61208f565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054612be090919063ffffffff16565b612096565b6001905092915050565b61107861208f565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611106576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110fd90613b03565b60405180910390fd5b80600f60016101000a81548160ff02191690831515021790555050565b60105481565b61113161208f565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146111bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111b690613b03565b60405180910390fd5b83601181905550816012819055506012546011546111dd9190613d13565b60108190555082601481905550806015819055506015546014546112019190613d13565b601381905550601e601054111561124d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161124490613d90565b60405180910390fd5b601e6013541115611293576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161128a90613d90565b60405180910390fd5b50505050565b600e5481565b60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f60195f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b600d5481565b60115481565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b61136f61208f565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146113fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113f490613b03565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f60055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6114c261208f565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611550576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161154790613b03565b60405180910390fd5b80601a5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600f60019054906101000a900460ff1681565b6060600480546115f290613a89565b80601f016020809104026020016040519081016040528092919081815260200182805461161e90613a89565b80156116695780601f1061164057610100808354040283529160200191611669565b820191905f5260205f20905b81548152906001019060200180831161164c57829003601f168201915b5050505050905090565b61167b61208f565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611709576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161170090613b03565b60405180910390fd5b60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611798576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161178f90613e1e565b60405180910390fd5b6117a28282612c3d565b5050565b60175481565b5f61186a6117b861208f565b846118658560405180606001604052806025815260200161470e6025913960015f6117e161208f565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054612b7e9092919063ffffffff16565b612096565b6001905092915050565b5f61188761188061208f565b8484612259565b6001905092915050565b601b602052805f5260405f205f915054906101000a900460ff1681565b600a5481565b60155481565b6118c261208f565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611950576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161194790613b03565b60405180910390fd5b8060195f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7826040516119ea919061379b565b60405180910390a25050565b600c5481565b611a0461208f565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611a92576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a8990613b03565b60405180910390fd5b5f600f5f6101000a81548160ff021916908315150217905550565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b60125481565b611b3d61208f565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611bcb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bc290613b03565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a38060055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b611c9161208f565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611d1f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d1690613b03565b60405180910390fd5b5f737a250d5630b4cf539739df2c5dacb4c659f2488d9050611d428160016114ba565b8060085f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611dcb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611def9190613e50565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611e54573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e789190613e50565b6040518363ffffffff1660e01b8152600401611e95929190613e7b565b6020604051808303815f875af1158015611eb1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ed59190613e50565b60095f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611f4060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660016114ba565b611f6c60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166001612c3d565b5f4790505f60646050611f7e30611322565b611f889190613ea2565b611f929190613f10565b9050611fc03060085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683612096565b60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7198330845f80600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518863ffffffff1660e01b815260040161204696959493929190613f79565b60606040518083038185885af1158015612062573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906120879190613fec565b505050505050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612104576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120fb906140ac565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612172576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121699061413a565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161224c9190613862565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036122c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122be906141c8565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612335576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161232c90614256565b60405180910390fd5b5f810361234c5761234783835f612cdb565b612b79565b600f5f9054906101000a900460ff1615612741576123686115a8565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156123d657506123a66115a8565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561240e57505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015612448575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156124615750600960149054906101000a900460ff16155b1561274057601b5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680156125035750601a5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156125aa57600c5481111561254d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612544906142e4565b60405180910390fd5b600e5461255983611322565b826125649190613d13565b11156125a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161259c9061434c565b60405180910390fd5b61273f565b601b5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680156126475750601a5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561269657600c54811115612691576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612688906143da565b60405180910390fd5b61273e565b601a5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1661273d57600e546126f083611322565b826126fb9190613d13565b111561273c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127339061434c565b60405180910390fd5b5b5b5b5b5b5f61274b30611322565b90505f600d5482101590508080156127705750600960149054906101000a900460ff16155b80156127c35750601b5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b8015612816575060195f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b8015612869575060195f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156128ac576001600960146101000a81548160ff021916908315150217905550612891612f64565b5f600960146101000a81548160ff0219169083151502179055505b5f600960149054906101000a900460ff1615905060195f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168061295b575060195f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b15612964575f90505b5f8115612b6957601b5f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680156129c257505f601354115b15612a5a576129ef60646129e16013548861318a90919063ffffffff16565b61320190919063ffffffff16565b905060135460155482612a029190613ea2565b612a0c9190613f10565b60165f828254612a1c9190613d13565b9250508190555060135460145482612a349190613ea2565b612a3e9190613f10565b60175f828254612a4e9190613d13565b92505081905550612b46565b601b5f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015612ab157505f601054115b15612b4557612ade6064612ad06010548861318a90919063ffffffff16565b61320190919063ffffffff16565b905060105460125482612af19190613ea2565b612afb9190613f10565b60165f828254612b0b9190613d13565b9250508190555060105460115482612b239190613ea2565b612b2d9190613f10565b60175f828254612b3d9190613d13565b925050819055505b5b5f811115612b5a57612b59873083612cdb565b5b8085612b6691906143f8565b94505b612b74878787612cdb565b505050505b505050565b5f838311158290612bc5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612bbc9190613692565b60405180910390fd5b505f8385612bd391906143f8565b9050809150509392505050565b5f808284612bee9190613d13565b905083811015612c33576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c2a90614475565b60405180910390fd5b8091505092915050565b80601b5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508015158273ffffffffffffffffffffffffffffffffffffffff167fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab60405160405180910390a35050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612d49576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d40906141c8565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612db7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612dae90614256565b60405180910390fd5b612dc283838361324a565b612e2b816040518060600160405280602681526020016146c0602691395f808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054612b7e9092919063ffffffff16565b5f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550612eba815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054612be090919063ffffffff16565b5f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612f579190613862565b60405180910390a3505050565b5f612f6e30611322565b90505f601754601654612f819190613d13565b90505f80831480612f9157505f82145b15612f9e57505050613188565b5f1515600f60019054906101000a900460ff16151503612fe5576014600d54612fc79190613ea2565b831115612fe0576014600d54612fdd9190613ea2565b92505b612ff1565b612fee30611322565b92505b5f600283601654866130039190613ea2565b61300d9190613f10565b6130179190613f10565b90505f61302d828661324f90919063ffffffff16565b90505f47905061303c82613298565b5f613050824761324f90919063ffffffff16565b90505f61307a8761306c6017548561318a90919063ffffffff16565b61320190919063ffffffff16565b90505f818361308991906143f8565b90505f6016819055505f6017819055505f861180156130a757505f81115b156130f4576130b686826134ce565b7f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb56185826016546040516130eb93929190614493565b60405180910390a15b600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff164760405161313990613c6a565b5f6040518083038185875af1925050503d805f8114613173576040519150601f19603f3d011682016040523d82523d5f602084013e613178565b606091505b5050809750505050505050505050505b565b5f80830361319a575f90506131fb565b5f82846131a79190613ea2565b90508284826131b69190613f10565b146131f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016131ed90614538565b60405180910390fd5b809150505b92915050565b5f61324283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506135a7565b905092915050565b505050565b5f61329083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612b7e565b905092915050565b5f600267ffffffffffffffff8111156132b4576132b3614556565b5b6040519080825280602002602001820160405280156132e25781602001602082028036833780820191505090505b50905030815f815181106132f9576132f8614583565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561339d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906133c19190613e50565b816001815181106133d5576133d4614583565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061343b3060085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684612096565b60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b815260040161349d959493929190614667565b5f604051808303815f87803b1580156134b4575f80fd5b505af11580156134c6573d5f803e3d5ffd5b505050505050565b6134fa3060085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684612096565b60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7198230855f8030426040518863ffffffff1660e01b815260040161355f96959493929190613f79565b60606040518083038185885af115801561357b573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906135a09190613fec565b5050505050565b5f80831182906135ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016135e49190613692565b60405180910390fd5b505f83856135fb9190613f10565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b8381101561363f578082015181840152602081019050613624565b5f8484015250505050565b5f601f19601f8301169050919050565b5f61366482613608565b61366e8185613612565b935061367e818560208601613622565b6136878161364a565b840191505092915050565b5f6020820190508181035f8301526136aa818461365a565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6136df826136b6565b9050919050565b6136ef816136d5565b81146136f9575f80fd5b50565b5f8135905061370a816136e6565b92915050565b5f819050919050565b61372281613710565b811461372c575f80fd5b50565b5f8135905061373d81613719565b92915050565b5f8060408385031215613759576137586136b2565b5b5f613766858286016136fc565b92505060206137778582860161372f565b9150509250929050565b5f8115159050919050565b61379581613781565b82525050565b5f6020820190506137ae5f83018461378c565b92915050565b5f602082840312156137c9576137c86136b2565b5b5f6137d6848285016136fc565b91505092915050565b5f819050919050565b5f6138026137fd6137f8846136b6565b6137df565b6136b6565b9050919050565b5f613813826137e8565b9050919050565b5f61382482613809565b9050919050565b6138348161381a565b82525050565b5f60208201905061384d5f83018461382b565b92915050565b61385c81613710565b82525050565b5f6020820190506138755f830184613853565b92915050565b5f805f60608486031215613892576138916136b2565b5b5f61389f868287016136fc565b93505060206138b0868287016136fc565b92505060406138c18682870161372f565b9150509250925092565b5f60ff82169050919050565b6138e0816138cb565b82525050565b5f6020820190506138f95f8301846138d7565b92915050565b61390881613781565b8114613912575f80fd5b50565b5f81359050613923816138ff565b92915050565b5f6020828403121561393e5761393d6136b2565b5b5f61394b84828501613915565b91505092915050565b5f805f806080858703121561396c5761396b6136b2565b5b5f6139798782880161372f565b945050602061398a8782880161372f565b935050604061399b8782880161372f565b92505060606139ac8782880161372f565b91505092959194509250565b6139c1816136d5565b82525050565b5f6020820190506139da5f8301846139b8565b92915050565b5f80604083850312156139f6576139f56136b2565b5b5f613a03858286016136fc565b9250506020613a1485828601613915565b9150509250929050565b5f8060408385031215613a3457613a336136b2565b5b5f613a41858286016136fc565b9250506020613a52858286016136fc565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680613aa057607f821691505b602082108103613ab357613ab2613a5c565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f613aed602083613612565b9150613af882613ab9565b602082019050919050565b5f6020820190508181035f830152613b1a81613ae1565b9050919050565b7f546f6b656e2062616c616e6365206d75737420626520677265617465722074685f8201527f616e203000000000000000000000000000000000000000000000000000000000602082015250565b5f613b7b602483613612565b9150613b8682613b21565b604082019050919050565b5f6020820190508181035f830152613ba881613b6f565b9050919050565b7f4554482062616c616e6365206d7573742062652067726561746572207468616e5f8201527f2030000000000000000000000000000000000000000000000000000000000000602082015250565b5f613c09602283613612565b9150613c1482613baf565b604082019050919050565b5f6020820190508181035f830152613c3681613bfd565b9050919050565b5f81905092915050565b50565b5f613c555f83613c3d565b9150613c6082613c47565b5f82019050919050565b5f613c7482613c4a565b9150819050919050565b7f4661696c656420746f20636c656172204554482062616c616e636500000000005f82015250565b5f613cb2601b83613612565b9150613cbd82613c7e565b602082019050919050565b5f6020820190508181035f830152613cdf81613ca6565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f613d1d82613710565b9150613d2883613710565b9250828201905080821115613d4057613d3f613ce6565b5b92915050565b7f4d4158203330252074617820616c6c6f776564000000000000000000000000005f82015250565b5f613d7a601383613612565b9150613d8582613d46565b602082019050919050565b5f6020820190508181035f830152613da781613d6e565b9050919050565b7f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d205f8201527f6175746f6d617465644d61726b65744d616b6572506169727300000000000000602082015250565b5f613e08603983613612565b9150613e1382613dae565b604082019050919050565b5f6020820190508181035f830152613e3581613dfc565b9050919050565b5f81519050613e4a816136e6565b92915050565b5f60208284031215613e6557613e646136b2565b5b5f613e7284828501613e3c565b91505092915050565b5f604082019050613e8e5f8301856139b8565b613e9b60208301846139b8565b9392505050565b5f613eac82613710565b9150613eb783613710565b9250828202613ec581613710565b91508282048414831517613edc57613edb613ce6565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f613f1a82613710565b9150613f2583613710565b925082613f3557613f34613ee3565b5b828204905092915050565b5f819050919050565b5f613f63613f5e613f5984613f40565b6137df565b613710565b9050919050565b613f7381613f49565b82525050565b5f60c082019050613f8c5f8301896139b8565b613f996020830188613853565b613fa66040830187613f6a565b613fb36060830186613f6a565b613fc060808301856139b8565b613fcd60a0830184613853565b979650505050505050565b5f81519050613fe681613719565b92915050565b5f805f60608486031215614003576140026136b2565b5b5f61401086828701613fd8565b935050602061402186828701613fd8565b925050604061403286828701613fd8565b9150509250925092565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f614096602483613612565b91506140a18261403c565b604082019050919050565b5f6020820190508181035f8301526140c38161408a565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f614124602283613612565b915061412f826140ca565b604082019050919050565b5f6020820190508181035f83015261415181614118565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f6141b2602583613612565b91506141bd82614158565b604082019050919050565b5f6020820190508181035f8301526141df816141a6565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f614240602383613612565b915061424b826141e6565b604082019050919050565b5f6020820190508181035f83015261426d81614234565b9050919050565b7f427579207472616e7366657220616d6f756e74206578636565647320746865205f8201527f6d61785472616e73616374696f6e416d6f756e742e0000000000000000000000602082015250565b5f6142ce603583613612565b91506142d982614274565b604082019050919050565b5f6020820190508181035f8301526142fb816142c2565b9050919050565b7f4d61782077616c6c6574206578636565646564000000000000000000000000005f82015250565b5f614336601383613612565b915061434182614302565b602082019050919050565b5f6020820190508181035f8301526143638161432a565b9050919050565b7f53656c6c207472616e7366657220616d6f756e742065786365656473207468655f8201527f206d61785472616e73616374696f6e416d6f756e742e00000000000000000000602082015250565b5f6143c4603683613612565b91506143cf8261436a565b604082019050919050565b5f6020820190508181035f8301526143f1816143b8565b9050919050565b5f61440282613710565b915061440d83613710565b925082820390508181111561442557614424613ce6565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f61445f601b83613612565b915061446a8261442b565b602082019050919050565b5f6020820190508181035f83015261448c81614453565b9050919050565b5f6060820190506144a65f830186613853565b6144b36020830185613853565b6144c06040830184613853565b949350505050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f614522602183613612565b915061452d826144c8565b604082019050919050565b5f6020820190508181035f83015261454f81614516565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6145e2816136d5565b82525050565b5f6145f383836145d9565b60208301905092915050565b5f602082019050919050565b5f614615826145b0565b61461f81856145ba565b935061462a836145ca565b805f5b8381101561465a57815161464188826145e8565b975061464c836145ff565b92505060018101905061462d565b5085935050505092915050565b5f60a08201905061467a5f830188613853565b6146876020830187613f6a565b8181036040830152614699818661460b565b90506146a860608301856139b8565b6146b56080830184613853565b969550505050505056fe45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212200b82ce73e646afa122c6eeb1ef07bffa8efa5ce7f809a43218456b4c0a247e3c64736f6c6343000815003341204e6578742d47656e65726174696f6e20536d61727420436f6e747261637420616e6420446563656e7472616c697a6564204170706c69636174696f6e20506c6174666f726d200a200a205361746f736869204e616b616d6f746f277320646576656c6f706d656e74206f6620426974636f696e20696e203230303920686173206f6674656e206265656e206861696c65642061732061207261646963616c20646576656c6f706d656e7420696e206d6f6e657920616e642063757272656e63792c206265696e6720746865206669727374206578616d706c65206f662061206469676974616c2061737365742077686963682073696d756c74616e656f75736c7920686173206e6f206261636b696e67206f72202a696e7472696e7369632076616c7565286f70656e7320696e2061206e657720746162292a20616e64206e6f2063656e7472616c697a656420697373756572206f7220636f6e74726f6c6c65722e20486f77657665722c20616e6f746865722c206172677561626c79206d6f726520696d706f7274616e742c2070617274206f662074686520426974636f696e206578706572696d656e742069732074686520756e6465726c79696e6720626c6f636b636861696e20746563686e6f6c6f6779206173206120746f6f6c206f6620646973747269627574656420636f6e73656e7375732c20616e6420617474656e74696f6e2069732072617069646c79207374617274696e6720746f20736869667420746f2074686973206f7468657220617370656374206f6620426974636f696e2e20436f6d6d6f6e6c7920636974656420616c7465726e6174697665206170706c69636174696f6e73206f6620626c6f636b636861696e20746563686e6f6c6f677920696e636c756465207573696e67206f6e2d626c6f636b636861696e206469676974616c2061737365747320746f20726570726573656e7420637573746f6d2063757272656e6369657320616e642066696e616e6369616c20696e737472756d656e747320282a636f6c6f72656420636f696e73286f70656e7320696e2061206e657720746162292a292c20746865206f776e657273686970206f6620616e20756e6465726c79696e6720706879736963616c2064657669636520282a736d6172742070726f7065727479286f70656e7320696e2061206e657720746162292a292c206e6f6e2d66756e6769626c6520617373657473207375636820617320646f6d61696e206e616d657320282a4e616d65636f696e286f70656e7320696e2061206e65772074616229c39c292c2061732077656c6c206173206d6f726520636f6d706c6578206170706c69636174696f6e7320696e766f6c76696e6720686176696e67206469676974616c20617373657473206265696e67206469726563746c7920636f6e74726f6c6c65642062792061207069656365206f6620636f646520696d706c656d656e74696e67206172626974726172792072756c657320282a736d61727420636f6e747261637473286f70656e7320696e2061206e657720746162292a29206f72206576656e20626c6f636b636861696e2d6261736564202a646563656e7472616c697a6564206175746f6e6f6d6f7573206f7267616e697a6174696f6e73286f70656e7320696e2061206e657720746162292a202844414f73292e205768617420457468657265756d20696e74656e647320746f2070726f76696465206973206120626c6f636b636861696e20776974682061206275696c742d696e2066756c6c7920666c656467656420547572696e672d636f6d706c6574652070726f6772616d6d696e67206c616e677561676520746861742063616e206265207573656420746f20637265617465202a636f6e7472616374732a20746861742063616e206265207573656420746f20656e636f646520617262697472617279207374617465207472616e736974696f6e2066756e6374696f6e732c20616c6c6f77696e6720757365727320746f2063726561746520616e79206f66207468652073797374656d73206465736372696265642061626f76652c2061732077656c6c206173206d616e79206f746865727320746861742077652068617665206e6f742079657420696d6167696e65642c2073696d706c792062792077726974696e6720757020746865206c6f67696320696e206120666577206c696e6573206f6620636f64652e