[ { "inputs": [ { "internalType": "uint256", "name": "_taxRate", "type": "uint256" }, { "internalType": "address", "name": "_taxCollectorAddress", "type": "address" } ], "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": "previousOperator", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOperator", "type": "address" } ], "name": "OperatorTransferred", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "previousOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "oldAddress", "type": "address" }, { "indexed": false, "internalType": "address", "name": "newAddress", "type": "address" } ], "name": "TaxOfficeTransferred", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "inputs": [], "name": "INITIAL_GENESIS_POOL_DISTRIBUTION", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "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": "autoCalculateTax", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "burn", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "burnFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "burnThreshold", "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": "disableAutoCalculateTax", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_genesisPool", "type": "address" } ], "name": "distributeReward", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "enableAutoCalculateTax", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_address", "type": "address" } ], "name": "excludeAddress", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "excludedAddresses", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getTaxTiersRatesCount", "outputs": [ { "internalType": "uint256", "name": "count", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getTaxTiersTwapsCount", "outputs": [ { "internalType": "uint256", "name": "count", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "contract IERC20", "name": "_token", "type": "address" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" }, { "internalType": "address", "name": "_to", "type": "address" } ], "name": "governanceRecoverUnsupported", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_address", "type": "address" } ], "name": "includeAddress", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "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": "_address", "type": "address" } ], "name": "isAddressExcluded", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "isOperator", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "recipient_", "type": "address" }, { "internalType": "uint256", "name": "amount_", "type": "uint256" } ], "name": "mint", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "operator", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "phoenixOracle", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "rewardPoolDistributed", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_burnThreshold", "type": "uint256" } ], "name": "setBurnThreshold", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_phoenixOracle", "type": "address" } ], "name": "setPhoenixOracle", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_taxCollectorAddress", "type": "address" } ], "name": "setTaxCollectorAddress", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_taxOffice", "type": "address" } ], "name": "setTaxOffice", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_taxRate", "type": "uint256" } ], "name": "setTaxRate", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint8", "name": "_index", "type": "uint8" }, { "internalType": "uint256", "name": "_value", "type": "uint256" } ], "name": "setTaxTiersRate", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint8", "name": "_index", "type": "uint8" }, { "internalType": "uint256", "name": "_value", "type": "uint256" } ], "name": "setTaxTiersTwap", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "taxCollectorAddress", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "taxOffice", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "taxRate", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "taxTiersRates", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "taxTiersTwaps", "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": "newOperator_", "type": "address" } ], "name": "transferOperator", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ]
60806040526000600660146101000a81548160ff021916908315150217905550670f43fc2c04ee0000600a55604051806101c00160405280600067ffffffffffffffff1681526020016706f05b59d3b2000067ffffffffffffffff168152602001670853a0d2313c000067ffffffffffffffff1681526020016709b6e64a8ec6000067ffffffffffffffff168152602001670b1a2bc2ec50000067ffffffffffffffff168152602001670c7d713b49da000067ffffffffffffffff168152602001670d2f13f7789f000067ffffffffffffffff168152602001670de0b6b3a764000067ffffffffffffffff168152602001670e92596fd629000067ffffffffffffffff168152602001670f43fc2c04ee000067ffffffffffffffff1681526020016710a741a46278000067ffffffffffffffff16815260200167120a871cc002000067ffffffffffffffff16815260200167136dcc951d8c000067ffffffffffffffff1681526020016714d1120d7b16000067ffffffffffffffff16815250600c90600e6200019092919062000b17565b50604051806101c001604052806107d061ffff16815260200161076c61ffff16815260200161070861ffff1681526020016106a461ffff16815260200161064061ffff1681526020016105dc61ffff1681526020016105dc61ffff1681526020016105dc61ffff1681526020016105dc61ffff16815260200161057861ffff16815260200161038461ffff16815260200161019061ffff16815260200160c861ffff168152602001606461ffff16815250600d90600e6200025392919062000b75565b503480156200026157600080fd5b506040516200516138038062005161833981810160405260408110156200028757600080fd5b8101908080519060200190929190805190602001909291905050506040518060400160405280600f81526020017f70686f656e69782e66696e616e636500000000000000000000000000000000008152506040518060400160405280600781526020017f50484f454e49580000000000000000000000000000000000000000000000000081525081600390805190602001906200032692919062000bcd565b5080600490805190602001906200033f92919062000bcd565b506012600560006101000a81548160ff021916908360ff16021790555050506000620003706200065860201b60201c565b905080600560016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3506200041f6200065860201b60201c565b600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f74da04524d50c64947f5dd5381ef1a4dca5cba8ed1d816243f9e48aa0b5617ed60405160405180910390a3612710821062000554576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f74617820657175616c206f722062696767657220746f2031303025000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415620005dc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e81526020018062005107602e913960400191505060405180910390fd5b620005ed306200066060201b60201c565b506200060833670de0b6b3a76400006200084460201b60201c565b8160098190555080600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505062000c73565b600033905090565b60006200067262000a2260201b60201c565b80620006cb57503373ffffffffffffffffffffffffffffffffffffffff16600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b62000722576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c81526020018062005135602c913960400191505060405180910390fd5b600e60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615620007e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f616464726573732063616e2774206265206578636c756465640000000000000081525060200191505060405180910390fd5b6001600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060019050919050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415620008e8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b620008fc6000838362000a8960201b60201c565b620009188160025462000a8e60201b6200302e1790919060201c565b60028190555062000976816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205462000a8e60201b6200302e1790919060201c565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1662000a6d6200065860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1614905090565b505050565b60008082840190508381101562000b0d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b82805482825590600052602060002090810192821562000b62579160200282015b8281111562000b61578251829067ffffffffffffffff1690559160200191906001019062000b38565b5b50905062000b71919062000c54565b5090565b82805482825590600052602060002090810192821562000bba579160200282015b8281111562000bb9578251829061ffff1690559160200191906001019062000b96565b5b50905062000bc9919062000c54565b5090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1062000c1057805160ff191683800117855562000c41565b8280016001018555821562000c41579182015b8281111562000c4057825182559160200191906001019062000c23565b5b50905062000c50919062000c54565b5090565b5b8082111562000c6f57600081600090555060010162000c55565b5090565b6144848062000c836000396000f3fe608060405234801561001057600080fd5b50600436106102955760003560e01c806369356d4711610167578063a6431bba116100ce578063d7a24a4011610087578063d7a24a4014610d4f578063dd62ed3e14610d83578063ebca1bd914610dfb578063ee2a953514610e55578063f2fde38b14610e73578063ff87fc7c14610eb757610295565b8063a6431bba14610bc0578063a9059cbb14610bde578063b87c5a4a14610c42578063c3bdf61314610c93578063c6d69a3014610cc7578063cf011b2614610cf557610295565b80638da5cb5b116101205780638da5cb5b146109e757806393995d4b14610a1b57806395d89b4114610a755780639662676c14610af85780639d6b5f2114610b18578063a457c2d714610b5c57610295565b806369356d47146108b557806370a08231146108f9578063715018a614610951578063771a3a1d1461095b57806379cc6790146109795780638d3cc818146109c757610295565b806340c10f191161020b57806354575af4116101c457806354575af414610732578063570ca735146107a05780635c29908d146107d457806361f6970d1461081657806365bbacd91461085a57806366206ce91461086457610295565b806340c10f191461060257806342966c681461066657806342c6b4f1146106945780634456eda2146106d65780634e20a02c146106f65780634f6d38d01461071457610295565b806329605e771161025d57806329605e7714610467578063313ce567146104ab5780633758e6ce146104cc57806339509351146105265780633e5f13d41461058a5780633f07d76a146105be57610295565b806306fdde031461029a578063092193ab1461031d578063095ea7b31461036157806318160ddd146103c557806323b872dd146103e3575b600080fd5b6102a2610ec1565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156102e25780820151818401526020810190506102c7565b50505050905090810190601f16801561030f5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61035f6004803603602081101561033357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f63565b005b6103ad6004803603604081101561037757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611161565b60405180821515815260200191505060405180910390f35b6103cd61117f565b6040518082815260200191505060405180910390f35b61044f600480360360608110156103f957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611189565b60405180821515815260200191505060405180910390f35b6104a96004803603602081101561047d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506112a5565b005b6104b3611360565b604051808260ff16815260200191505060405180910390f35b61050e600480360360208110156104e257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611377565b60405180821515815260200191505060405180910390f35b6105726004803603604081101561053c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061154f565b60405180821515815260200191505060405180910390f35b610592611602565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610600600480360360208110156105d457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611628565b005b61064e6004803603604081101561061857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611834565b60405180821515815260200191505060405180910390f35b6106926004803603602081101561067c57600080fd5b810190808035906020019092919050505061190d565b005b6106c0600480360360208110156106aa57600080fd5b8101908080359060200190929190505050611919565b6040518082815260200191505060405180910390f35b6106de61193a565b60405180821515815260200191505060405180910390f35b6106fe611999565b6040518082815260200191505060405180910390f35b61071c6119a7565b6040518082815260200191505060405180910390f35b61079e6004803603606081101561074857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506119ad565b005b6107a8611b05565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610800600480360360208110156107ea57600080fd5b8101908080359060200190929190505050611b2f565b6040518082815260200191505060405180910390f35b6108586004803603602081101561082c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611b50565b005b610862611ccf565b005b61089d6004803603604081101561087a57600080fd5b81019080803560ff16906020019092919080359060200190929190505050611daf565b60405180821515815260200191505060405180910390f35b6108f7600480360360208110156108cb57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611ffe565b005b61093b6004803603602081101561090f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061218b565b6040518082815260200191505060405180910390f35b6109596121d3565b005b610963612343565b6040518082815260200191505060405180910390f35b6109c56004803603604081101561098f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612349565b005b6109cf6123fd565b60405180821515815260200191505060405180910390f35b6109ef612410565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610a5d60048036036020811015610a3157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061243a565b60405180821515815260200191505060405180910390f35b610a7d612611565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610abd578082015181840152602081019050610aa2565b50505050905090810190601f168015610aea5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610b006126b3565b60405180821515815260200191505060405180910390f35b610b4460048036036020811015610b2e57600080fd5b81019080803590602001909291905050506126c6565b60405180821515815260200191505060405180910390f35b610ba860048036036040811015610b7257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612797565b60405180821515815260200191505060405180910390f35b610bc8612864565b6040518082815260200191505060405180910390f35b610c2a60048036036040811015610bf457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612871565b60405180821515815260200191505060405180910390f35b610c7b60048036036040811015610c5857600080fd5b81019080803560ff1690602001909291908035906020019092919050505061288f565b60405180821515815260200191505060405180910390f35b610c9b612a59565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610cf360048036036020811015610cdd57600080fd5b8101908080359060200190929190505050612a7f565b005b610d3760048036036020811015610d0b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612c29565b60405180821515815260200191505060405180910390f35b610d57612c49565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610de560048036036040811015610d9957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612c6f565b6040518082815260200191505060405180910390f35b610e3d60048036036020811015610e1157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612cf6565b60405180821515815260200191505060405180910390f35b610e5d612d4c565b6040518082815260200191505060405180910390f35b610eb560048036036020811015610e8957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612d59565b005b610ebf612f4e565b005b606060038054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610f595780601f10610f2e57610100808354040283529160200191610f59565b820191906000526020600020905b815481529060010190602001808311610f3c57829003601f168201915b5050505050905090565b3373ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611009576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806143006024913960400191505060405180910390fd5b600660149054906101000a900460ff161561108c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f6f6e6c792063616e2064697374726962757465206f6e6365000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561112f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600d8152602001807f215f67656e65736973506f6f6c0000000000000000000000000000000000000081525060200191505060405180910390fd5b6001600660146101000a81548160ff02191690831515021790555061115e81690a968163f0a57b4000006130b6565b50565b600061117561116e61327d565b8484613285565b6001905092915050565b6000600254905090565b600080600090506000600b60149054906101000a900460ff16156111cf5760006111b161347c565b90506111bc816135bb565b9250600a548110156111cd57600191505b505b60008214806112275750600e60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561123c5761123786868661370a565b61124a565b611248868686846139cb565b505b6112988661125661327d565b61129387604051806060016040528060288152602001614286602891396112848c61127f61327d565b612c6f565b613a6c9092919063ffffffff16565b613285565b6001925050509392505050565b6112ad61327d565b73ffffffffffffffffffffffffffffffffffffffff166112cb612410565b73ffffffffffffffffffffffffffffffffffffffff1614611354576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b61135d81613b26565b50565b6000600560009054906101000a900460ff16905090565b600061138161193a565b806113d957503373ffffffffffffffffffffffffffffffffffffffff16600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b61142e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001806143da602c913960400191505060405180910390fd5b600e60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156114ee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f616464726573732063616e2774206265206578636c756465640000000000000081525060200191505060405180910390fd5b6001600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060019050919050565b60006115f861155c61327d565b846115f3856001600061156d61327d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461302e90919063ffffffff16565b613285565b6001905092915050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61163061193a565b8061168857503373ffffffffffffffffffffffffffffffffffffffff16600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b6116dd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001806143da602c913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611763576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806142126026913960400191505060405180910390fd5b7f75237613d1cfb394eb7979839ecbeacaca4592ef0cf96791979625803948a601600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a180600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60003373ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146118dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806143006024913960400191505060405180910390fd5b60006118e78461218b565b90506118f384846130b6565b60006118fe8561218b565b90508181119250505092915050565b61191681613c4b565b50565b600c818154811061192657fe5b906000526020600020016000915090505481565b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661197d61327d565b73ffffffffffffffffffffffffffffffffffffffff1614905090565b690a968163f0a57b40000081565b600a5481565b3373ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611a53576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806143006024913960400191505060405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb82846040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015611ac457600080fd5b505af1158015611ad8573d6000803e3d6000fd5b505050506040513d6020811015611aee57600080fd5b810190808051906020019092919050505050505050565b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600d8181548110611b3c57fe5b906000526020600020016000915090505481565b611b5861193a565b80611bb057503373ffffffffffffffffffffffffffffffffffffffff16600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b611c05576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001806143da602c913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611c8b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602281526020018061436f6022913960400191505060405180910390fd5b80600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b3373ffffffffffffffffffffffffffffffffffffffff16600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611d92576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f43616c6c6572206973206e6f742074686520746178206f66666963650000000081525060200191505060405180910390fd5b6000600b60146101000a81548160ff021916908315150217905550565b60003373ffffffffffffffffffffffffffffffffffffffff16600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611e74576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f43616c6c6572206973206e6f742074686520746178206f66666963650000000081525060200191505060405180910390fd5b60008360ff161015611eee576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f496e6465782068617320746f20626520686967686572207468616e203000000081525060200191505060405180910390fd5b611ef6612864565b8360ff1610611f50576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180614324602a913960400191505060405180910390fd5b60008360ff161115611f8657600c6001840360ff1681548110611f6f57fe5b90600052602060002001548211611f8557600080fd5b5b611fa16001611f93612864565b613c5f90919063ffffffff16565b8360ff161015611fd557600c6001840160ff1681548110611fbe57fe5b90600052602060002001548210611fd457600080fd5b5b81600c8460ff1681548110611fe657fe5b90600052602060002001819055506001905092915050565b3373ffffffffffffffffffffffffffffffffffffffff16600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146120c1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f43616c6c6572206973206e6f742074686520746178206f66666963650000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415612147576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e8152602001806142ae602e913960400191505060405180910390fd5b80600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6121db61327d565b73ffffffffffffffffffffffffffffffffffffffff166121f9612410565b73ffffffffffffffffffffffffffffffffffffffff1614612282576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000600560016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60095481565b3373ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146123ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806143006024913960400191505060405180910390fd5b6123f98282613ce2565b5050565b600b60149054906101000a900460ff1681565b6000600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600061244461193a565b8061249c57503373ffffffffffffffffffffffffffffffffffffffff16600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b6124f1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001806143da602c913960400191505060405180910390fd5b600e60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166125b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f616464726573732063616e277420626520696e636c756465640000000000000081525060200191505060405180910390fd5b6000600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060019050919050565b606060048054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156126a95780601f1061267e576101008083540402835291602001916126a9565b820191906000526020600020905b81548152906001019060200180831161268c57829003601f168201915b5050505050905090565b600660149054906101000a900460ff1681565b60003373ffffffffffffffffffffffffffffffffffffffff16600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461278b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f43616c6c6572206973206e6f742074686520746178206f66666963650000000081525060200191505060405180910390fd5b81600a81905550919050565b600061285a6127a461327d565b846128558560405180606001604052806025815260200161442a60259139600160006127ce61327d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613a6c9092919063ffffffff16565b613285565b6001905092915050565b6000600c80549050905090565b600061288561287e61327d565b848461370a565b6001905092915050565b60003373ffffffffffffffffffffffffffffffffffffffff16600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612954576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f43616c6c6572206973206e6f742074686520746178206f66666963650000000081525060200191505060405180910390fd5b60008360ff1610156129ce576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f496e6465782068617320746f20626520686967686572207468616e203000000081525060200191505060405180910390fd5b6129d6612d4c565b8360ff1610612a30576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180614324602a913960400191505060405180910390fd5b81600d8460ff1681548110612a4157fe5b90600052602060002001819055506001905092915050565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b3373ffffffffffffffffffffffffffffffffffffffff16600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612b42576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f43616c6c6572206973206e6f742074686520746178206f66666963650000000081525060200191505060405180910390fd5b600b60149054906101000a900460ff1615612ba8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806143916024913960400191505060405180910390fd5b6127108110612c1f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f74617820657175616c206f722062696767657220746f2031303025000000000081525060200191505060405180910390fd5b8060098190555050565b600e6020528060005260406000206000915054906101000a900460ff1681565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000600e60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b6000600d80549050905090565b612d6161327d565b73ffffffffffffffffffffffffffffffffffffffff16612d7f612410565b73ffffffffffffffffffffffffffffffffffffffff1614612e08576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415612e8e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806141a46026913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600560016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b3373ffffffffffffffffffffffffffffffffffffffff16600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614613011576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f43616c6c6572206973206e6f742074686520746178206f66666963650000000081525060200191505060405180910390fd5b6001600b60146101000a81548160ff021916908315150217905550565b6000808284019050838110156130ac576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415613159576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b61316560008383613d44565b61317a8160025461302e90919063ffffffff16565b6002819055506131d1816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461302e90919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561330b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806144066024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415613391576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806141ca6022913960400191505060405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633ddac95330670de0b6b3a76400006040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060206040518083038186803b15801561351757600080fd5b505afa92505050801561354b57506040513d602081101561353757600080fd5b810190808051906020019092919050505060015b6135a0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001806141506032913960400191505060405180910390fd5b8071ffffffffffffffffffffffffffffffffffff1691505090565b6000600b60149054906101000a900460ff16156137045760006135f260016135e1612864565b60ff16613d4990919063ffffffff16565b90505b60008160ff161061370257600c8160ff168154811061361057fe5b906000526020600020015483106136f657612710600d8260ff168154811061363457fe5b9060005260206000200154106136b2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f74617820657175616c206f722062696767657220746f2031303025000000000081525060200191505060405180910390fd5b600d8160ff16815481106136c257fe5b9060005260206000200154600981905550600d8160ff16815481106136e357fe5b9060005260206000200154915050613705565b806001900390506135f5565b505b5b919050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415613790576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806143b56025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415613816576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602381526020018061412d6023913960400191505060405180910390fd5b613821838383613d44565b61388c816040518060600160405280602681526020016141ec602691396000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613a6c9092919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061391f816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461302e90919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b6000806139f76127106139e960095487613d9390919063ffffffff16565b613e1990919063ffffffff16565b90506000613a0e8286613c5f90919063ffffffff16565b90508315613a2557613a208783613ce2565b613a53565b613a5287600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461370a565b5b613a5e87878361370a565b600192505050949350505050565b6000838311158290613b19576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015613ade578082015181840152602081019050613ac3565b50505050905090810190601f168015613b0b5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5082840390509392505050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415613bac576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d815260200180614238602d913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f74da04524d50c64947f5dd5381ef1a4dca5cba8ed1d816243f9e48aa0b5617ed60405160405180910390a380600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b613c5c613c5661327d565b82613ea2565b50565b600082821115613cd7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525060200191505060405180910390fd5b818303905092915050565b6000613d21826040518060600160405280602481526020016142dc60249139613d1286613d0d61327d565b612c6f565b613a6c9092919063ffffffff16565b9050613d3583613d2f61327d565b83613285565b613d3f8383613ea2565b505050565b505050565b6000613d8b83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250614066565b905092915050565b600080831415613da65760009050613e13565b6000828402905082848281613db757fe5b0414613e0e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806142656021913960400191505060405180910390fd5b809150505b92915050565b6000808211613e90576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525060200191505060405180910390fd5b818381613e9957fe5b04905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415613f28576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602181526020018061434e6021913960400191505060405180910390fd5b613f3482600083613d44565b613f9f81604051806060016040528060228152602001614182602291396000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613a6c9092919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550613ff681600254613c5f90919063ffffffff16565b600281905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b60008360ff168360ff1611158290614119576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156140de5780820151818401526020810190506140c3565b50505050905090810190601f16801561410b5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838503905080915050939250505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737350686f656e69783a206661696c656420746f2066657463682050484f454e49582070726963652066726f6d204f7261636c6545524332303a206275726e20616d6f756e7420657863656564732062616c616e63654f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365746178206f666669636520616464726573732063616e6e6f74206265203020616464726573736f70657261746f723a207a65726f206164647265737320676976656e20666f72206e6577206f70657261746f72536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636574617820636f6c6c6563746f722061646472657373206d757374206265206e6f6e2d7a65726f206164647265737345524332303a206275726e20616d6f756e74206578636565647320616c6c6f77616e63656f70657261746f723a2063616c6c6572206973206e6f7420746865206f70657261746f72496e6465782068617320746f206c6f776572207468616e20636f756e74206f662074617820746965727345524332303a206275726e2066726f6d20746865207a65726f20616464726573736f7261636c6520616464726573732063616e6e6f74206265203020616464726573736175746f2063616c63756c617465207461782063616e6e6f7420626520656e61626c656445524332303a207472616e736665722066726f6d20746865207a65726f206164647265737343616c6c6572206973206e6f7420746865206f70657261746f72206f722074686520746178206f666669636545524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220e58d1359c157a0d4c66b6980546ef278faef2f0ce7997bf9a8ed48681f4bea8664736f6c634300060c003374617820636f6c6c6563746f722061646472657373206d757374206265206e6f6e2d7a65726f206164647265737343616c6c6572206973206e6f7420746865206f70657261746f72206f722074686520746178206f66666963650000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000dead