Overview ERC20
PRICE
$0.002003530838692246

ON-CHAIN MARKET CAP n/a

Total Supply:
21,000,000.00 MAN

Holders:
108
Profile Summary
Blockchain:
Ethereum (1)


Decimals:
18
Contract Source Code Verified (Partial Match)
Contract Name:
MoneyMan

Compiler Version
v0.8.20+commit.a1b79de6

Optimization Enabled:
No

Created At:
Wed, 03 Apr 2024 18:19:59 GMT
MoneyMan.sol
MoneyMan.sol
MoneyMan.sol


Contract ABI
[
  {
    "inputs": [],
    "stateMutability": "nonpayable",
    "type": "constructor"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "spender",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "allowance",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "needed",
        "type": "uint256"
      }
    ],
    "name": "ERC20InsufficientAllowance",
    "type": "error"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "sender",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "balance",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "needed",
        "type": "uint256"
      }
    ],
    "name": "ERC20InsufficientBalance",
    "type": "error"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "approver",
        "type": "address"
      }
    ],
    "name": "ERC20InvalidApprover",
    "type": "error"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "receiver",
        "type": "address"
      }
    ],
    "name": "ERC20InvalidReceiver",
    "type": "error"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "sender",
        "type": "address"
      }
    ],
    "name": "ERC20InvalidSender",
    "type": "error"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "spender",
        "type": "address"
      }
    ],
    "name": "ERC20InvalidSpender",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "ExceedsMaxWalletAmount",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "InvalidConfiguration",
    "type": "error"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "from",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "to",
        "type": "address"
      }
    ],
    "name": "InvalidTransfer",
    "type": "error"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "owner",
        "type": "address"
      }
    ],
    "name": "OwnableInvalidOwner",
    "type": "error"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "account",
        "type": "address"
      }
    ],
    "name": "OwnableUnauthorizedAccount",
    "type": "error"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "address",
        "name": "owner",
        "type": "address"
      },
      {
        "indexed": true,
        "internalType": "address",
        "name": "spender",
        "type": "address"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "value",
        "type": "uint256"
      }
    ],
    "name": "Approval",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "address",
        "name": "previousOwner",
        "type": "address"
      },
      {
        "indexed": true,
        "internalType": "address",
        "name": "newOwner",
        "type": "address"
      }
    ],
    "name": "OwnershipTransferred",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "address",
        "name": "from",
        "type": "address"
      },
      {
        "indexed": true,
        "internalType": "address",
        "name": "to",
        "type": "address"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "value",
        "type": "uint256"
      }
    ],
    "name": "Transfer",
    "type": "event"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "owner",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "spender",
        "type": "address"
      }
    ],
    "name": "allowance",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "spender",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "value",
        "type": "uint256"
      }
    ],
    "name": "approve",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "account",
        "type": "address"
      }
    ],
    "name": "balanceOf",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "name": "blacklist",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address[]",
        "name": "accounts",
        "type": "address[]"
      }
    ],
    "name": "blacklistMany",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "value",
        "type": "uint256"
      }
    ],
    "name": "burn",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "account",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "value",
        "type": "uint256"
      }
    ],
    "name": "burnFrom",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "decimals",
    "outputs": [
      {
        "internalType": "uint8",
        "name": "",
        "type": "uint8"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address[]",
        "name": "accounts",
        "type": "address[]"
      }
    ],
    "name": "excludeMaxWalletMany",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "maxWallet",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "name": "maxWalletExcluded",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "name",
    "outputs": [
      {
        "internalType": "string",
        "name": "",
        "type": "string"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "owner",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "renounceOwnership",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "account",
        "type": "address"
      },
      {
        "internalType": "bool",
        "name": "value",
        "type": "bool"
      }
    ],
    "name": "setBlacklist",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "percent",
        "type": "uint256"
      }
    ],
    "name": "setMaxWalletAmount",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "account",
        "type": "address"
      },
      {
        "internalType": "bool",
        "name": "value",
        "type": "bool"
      }
    ],
    "name": "setMaxWalletExcluded",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "symbol",
    "outputs": [
      {
        "internalType": "string",
        "name": "",
        "type": "string"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "totalSupply",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "to",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "value",
        "type": "uint256"
      }
    ],
    "name": "transfer",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "from",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "to",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "value",
        "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"
  }
]


Contract Creation Code
60806040526958f03ee118a13e8000006008553480156200001e575f80fd5b50336040518060400160405280600981526020017f4d6f6e6579204d616e00000000000000000000000000000000000000000000008152506040518060400160405280600381526020017f4d414e000000000000000000000000000000000000000000000000000000000081525081600390816200009d919062000ac6565b508060049081620000af919062000ac6565b5050505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160362000125575f6040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081526004016200011c919062000bed565b60405180910390fd5b6200013681620002fb60201b60201c565b505f735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f90505f73c02aaa39b223fe8d0a0e5c4f27ead9083c756cc290505f803073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1610620001a5573083620001a8565b82305b915091505f848383604051602001620001c392919062000c55565b60405160208183030381529060405280519060200120604051602001620001ec92919062000d57565b604051602081830303815290604052805190602001205f1c9050600160075f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160075f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550620002f033620002c5620003be60201b60201c565b600a620002d3919062000f29565b6301406f40620002e4919062000f79565b620003c660201b60201c565b50505050506200108f565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f6012905090565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000439575f6040517fec442f0500000000000000000000000000000000000000000000000000000000815260040162000430919062000bed565b60405180910390fd5b6200044c5f83836200045060201b60201c565b5050565b60065f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680620004ec575060065f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b15620005335782826040517f709ac0170000000000000000000000000000000000000000000000000000000081526004016200052a92919062000fc3565b60405180910390fd5b60075f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16158015620005a957506008546200059a83620005f960201b60201c565b82620005a7919062000fee565b115b15620005e1576040517ffd42866100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b620005f48383836200063e60201b60201c565b505050565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160362000692578060025f82825462000685919062000fee565b9250508190555062000763565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050818110156200071e578381836040517fe450d38c000000000000000000000000000000000000000000000000000000008152600401620007159392919062001039565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603620007ac578060025f8282540392505081905550620007f6565b805f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405162000855919062001074565b60405180910390a3505050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680620008de57607f821691505b602082108103620008f457620008f362000899565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302620009587fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826200091b565b6200096486836200091b565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f620009ae620009a8620009a2846200097c565b62000985565b6200097c565b9050919050565b5f819050919050565b620009c9836200098e565b620009e1620009d882620009b5565b84845462000927565b825550505050565b5f90565b620009f7620009e9565b62000a04818484620009be565b505050565b5b8181101562000a2b5762000a1f5f82620009ed565b60018101905062000a0a565b5050565b601f82111562000a7a5762000a4481620008fa565b62000a4f846200090c565b8101602085101562000a5f578190505b62000a7762000a6e856200090c565b83018262000a09565b50505b505050565b5f82821c905092915050565b5f62000a9c5f198460080262000a7f565b1980831691505092915050565b5f62000ab6838362000a8b565b9150826002028217905092915050565b62000ad18262000862565b67ffffffffffffffff81111562000aed5762000aec6200086c565b5b62000af98254620008c6565b62000b0682828562000a2f565b5f60209050601f83116001811462000b3c575f841562000b27578287015190505b62000b33858262000aa9565b86555062000ba2565b601f19841662000b4c86620008fa565b5f5b8281101562000b755784890151825560018201915060208501945060208101905062000b4e565b8683101562000b95578489015162000b91601f89168262000a8b565b8355505b6001600288020188555050505b505050505050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f62000bd58262000baa565b9050919050565b62000be78162000bc9565b82525050565b5f60208201905062000c025f83018462000bdc565b92915050565b5f8160601b9050919050565b5f62000c208262000c08565b9050919050565b5f62000c338262000c14565b9050919050565b62000c4f62000c498262000bc9565b62000c27565b82525050565b5f62000c62828562000c3a565b60148201915062000c74828462000c3a565b6014820191508190509392505050565b5f81905092915050565b7fff000000000000000000000000000000000000000000000000000000000000005f82015250565b5f62000cc460018362000c84565b915062000cd18262000c8e565b600182019050919050565b5f819050919050565b5f819050919050565b62000d0362000cfd8262000cdc565b62000ce5565b82525050565b7f96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f5f82015250565b5f62000d3f60208362000c84565b915062000d4c8262000d09565b602082019050919050565b5f62000d638262000cb6565b915062000d71828562000c3a565b60148201915062000d83828462000cee565b60208201915062000d948262000d31565b91508190509392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b600185111562000e2a5780860481111562000e025762000e0162000da0565b5b600185161562000e125780820291505b808102905062000e228562000dcd565b945062000de2565b94509492505050565b5f8262000e44576001905062000f16565b8162000e53575f905062000f16565b816001811462000e6c576002811462000e775762000ead565b600191505062000f16565b60ff84111562000e8c5762000e8b62000da0565b5b8360020a91508482111562000ea65762000ea562000da0565b5b5062000f16565b5060208310610133831016604e8410600b841016171562000ee75782820a90508381111562000ee15762000ee062000da0565b5b62000f16565b62000ef6848484600162000dd9565b9250905081840481111562000f105762000f0f62000da0565b5b81810290505b9392505050565b5f60ff82169050919050565b5f62000f35826200097c565b915062000f428362000f1d565b925062000f717fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000e33565b905092915050565b5f62000f85826200097c565b915062000f92836200097c565b925082820262000fa2816200097c565b9150828204841483151762000fbc5762000fbb62000da0565b5b5092915050565b5f60408201905062000fd85f83018562000bdc565b62000fe7602083018462000bdc565b9392505050565b5f62000ffa826200097c565b915062001007836200097c565b925082820190508082111562001022576200102162000da0565b5b92915050565b62001033816200097c565b82525050565b5f6060820190506200104e5f83018662000bdc565b6200105d602083018562001028565b6200106c604083018462001028565b949350505050565b5f602082019050620010895f83018462001028565b92915050565b611a91806200109d5f395ff3fe608060405234801561000f575f80fd5b5060043610610140575f3560e01c8063715018a6116100b6578063acd0d9871161007a578063acd0d9871461034c578063ae0f1cc01461037c578063dd62ed3e14610398578063f2fde38b146103c8578063f8b45b05146103e4578063f9f92be41461040257610140565b8063715018a6146102ba57806379cc6790146102c45780638da5cb5b146102e057806395d89b41146102fe578063a9059cbb1461031c57610140565b806327a14fc21161010857806327a14fc2146101fc578063313ce5671461021857806342966c6814610236578063580037bf14610252578063611bfa371461026e57806370a082311461028a57610140565b806306fdde0314610144578063095ea7b314610162578063153b0d1e1461019257806318160ddd146101ae57806323b872dd146101cc575b5f80fd5b61014c610432565b60405161015991906113aa565b60405180910390f35b61017c60048036038101906101779190611468565b6104c2565b60405161018991906114c0565b60405180910390f35b6101ac60048036038101906101a79190611503565b6104e4565b005b6101b6610544565b6040516101c39190611550565b60405180910390f35b6101e660048036038101906101e19190611569565b61054d565b6040516101f391906114c0565b60405180910390f35b610216600480360381019061021191906115b9565b61057b565b005b6102206105f3565b60405161022d91906115ff565b60405180910390f35b610250600480360381019061024b91906115b9565b6105fb565b005b61026c60048036038101906102679190611758565b61060f565b005b61028860048036038101906102839190611758565b6106ad565b005b6102a4600480360381019061029f919061179f565b61074b565b6040516102b19190611550565b60405180910390f35b6102c2610790565b005b6102de60048036038101906102d99190611468565b6107a3565b005b6102e86107c3565b6040516102f591906117d9565b60405180910390f35b6103066107eb565b60405161031391906113aa565b60405180910390f35b61033660048036038101906103319190611468565b61087b565b60405161034391906114c0565b60405180910390f35b6103666004803603810190610361919061179f565b61089d565b60405161037391906114c0565b60405180910390f35b61039660048036038101906103919190611503565b6108ba565b005b6103b260048036038101906103ad91906117f2565b61091a565b6040516103bf9190611550565b60405180910390f35b6103e260048036038101906103dd919061179f565b61099c565b005b6103ec610a20565b6040516103f99190611550565b60405180910390f35b61041c6004803603810190610417919061179f565b610a26565b60405161042991906114c0565b60405180910390f35b6060600380546104419061185d565b80601f016020809104026020016040519081016040528092919081815260200182805461046d9061185d565b80156104b85780601f1061048f576101008083540402835291602001916104b8565b820191905f5260205f20905b81548152906001019060200180831161049b57829003601f168201915b5050505050905090565b5f806104cc610a43565b90506104d9818585610a4a565b600191505092915050565b6104ec610a5c565b8060065f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b5f600254905090565b5f80610557610a43565b9050610564858285610ae3565b61056f858585610b75565b60019150509392505050565b610583610a5c565b600581108061059357506103e881115b156105ca576040517fc52a9bd300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6103e8816105d6610544565b6105e091906118ba565b6105ea9190611928565b60088190555050565b5f6012905090565b61060c610606610a43565b82610c65565b50565b610617610a5c565b5f815190505f5b818110156106a857600160075f85848151811061063e5761063d611958565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555080806106a090611985565b91505061061e565b505050565b6106b5610a5c565b5f815190505f5b8181101561074657600160065f8584815181106106dc576106db611958565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550808061073e90611985565b9150506106bc565b505050565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610798610a5c565b6107a15f610ce4565b565b6107b5826107af610a43565b83610ae3565b6107bf8282610c65565b5050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600480546107fa9061185d565b80601f01602080910402602001604051908101604052809291908181526020018280546108269061185d565b80156108715780601f1061084857610100808354040283529160200191610871565b820191905f5260205f20905b81548152906001019060200180831161085457829003601f168201915b5050505050905090565b5f80610885610a43565b9050610892818585610b75565b600191505092915050565b6007602052805f5260405f205f915054906101000a900460ff1681565b6108c2610a5c565b8060075f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b6109a4610a5c565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610a14575f6040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600401610a0b91906117d9565b60405180910390fd5b610a1d81610ce4565b50565b60085481565b6006602052805f5260405f205f915054906101000a900460ff1681565b5f33905090565b610a578383836001610da7565b505050565b610a64610a43565b73ffffffffffffffffffffffffffffffffffffffff16610a826107c3565b73ffffffffffffffffffffffffffffffffffffffff1614610ae157610aa5610a43565b6040517f118cdaa7000000000000000000000000000000000000000000000000000000008152600401610ad891906117d9565b60405180910390fd5b565b5f610aee848461091a565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610b6f5781811015610b60578281836040517ffb8f41b2000000000000000000000000000000000000000000000000000000008152600401610b57939291906119cc565b60405180910390fd5b610b6e84848484035f610da7565b5b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610be5575f6040517f96c6fd1e000000000000000000000000000000000000000000000000000000008152600401610bdc91906117d9565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610c55575f6040517fec442f05000000000000000000000000000000000000000000000000000000008152600401610c4c91906117d9565b60405180910390fd5b610c60838383610f76565b505050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610cd5575f6040517f96c6fd1e000000000000000000000000000000000000000000000000000000008152600401610ccc91906117d9565b60405180910390fd5b610ce0825f83610f76565b5050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603610e17575f6040517fe602df05000000000000000000000000000000000000000000000000000000008152600401610e0e91906117d9565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610e87575f6040517f94280d62000000000000000000000000000000000000000000000000000000008152600401610e7e91906117d9565b60405180910390fd5b8160015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508015610f70578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610f679190611550565b60405180910390a35b50505050565b60065f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680611011575060065f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b156110555782826040517f709ac01700000000000000000000000000000000000000000000000000000000815260040161104c929190611a01565b60405180910390fd5b60075f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff161580156110c057506008546110b38361074b565b826110be9190611a28565b115b156110f7576040517ffd42866100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611102838383611107565b505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611157578060025f82825461114b9190611a28565b92505081905550611225565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050818110156111e0578381836040517fe450d38c0000000000000000000000000000000000000000000000000000000081526004016111d7939291906119cc565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361126c578060025f82825403925050819055506112b6565b805f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516113139190611550565b60405180910390a3505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b8381101561135757808201518184015260208101905061133c565b5f8484015250505050565b5f601f19601f8301169050919050565b5f61137c82611320565b611386818561132a565b935061139681856020860161133a565b61139f81611362565b840191505092915050565b5f6020820190508181035f8301526113c28184611372565b905092915050565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611404826113db565b9050919050565b611414816113fa565b811461141e575f80fd5b50565b5f8135905061142f8161140b565b92915050565b5f819050919050565b61144781611435565b8114611451575f80fd5b50565b5f813590506114628161143e565b92915050565b5f806040838503121561147e5761147d6113d3565b5b5f61148b85828601611421565b925050602061149c85828601611454565b9150509250929050565b5f8115159050919050565b6114ba816114a6565b82525050565b5f6020820190506114d35f8301846114b1565b92915050565b6114e2816114a6565b81146114ec575f80fd5b50565b5f813590506114fd816114d9565b92915050565b5f8060408385031215611519576115186113d3565b5b5f61152685828601611421565b9250506020611537858286016114ef565b9150509250929050565b61154a81611435565b82525050565b5f6020820190506115635f830184611541565b92915050565b5f805f606084860312156115805761157f6113d3565b5b5f61158d86828701611421565b935050602061159e86828701611421565b92505060406115af86828701611454565b9150509250925092565b5f602082840312156115ce576115cd6113d3565b5b5f6115db84828501611454565b91505092915050565b5f60ff82169050919050565b6115f9816115e4565b82525050565b5f6020820190506116125f8301846115f0565b92915050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b61165282611362565b810181811067ffffffffffffffff821117156116715761167061161c565b5b80604052505050565b5f6116836113ca565b905061168f8282611649565b919050565b5f67ffffffffffffffff8211156116ae576116ad61161c565b5b602082029050602081019050919050565b5f80fd5b5f6116d56116d084611694565b61167a565b905080838252602082019050602084028301858111156116f8576116f76116bf565b5b835b81811015611721578061170d8882611421565b8452602084019350506020810190506116fa565b5050509392505050565b5f82601f83011261173f5761173e611618565b5b813561174f8482602086016116c3565b91505092915050565b5f6020828403121561176d5761176c6113d3565b5b5f82013567ffffffffffffffff81111561178a576117896113d7565b5b6117968482850161172b565b91505092915050565b5f602082840312156117b4576117b36113d3565b5b5f6117c184828501611421565b91505092915050565b6117d3816113fa565b82525050565b5f6020820190506117ec5f8301846117ca565b92915050565b5f8060408385031215611808576118076113d3565b5b5f61181585828601611421565b925050602061182685828601611421565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061187457607f821691505b60208210810361188757611886611830565b5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6118c482611435565b91506118cf83611435565b92508282026118dd81611435565b915082820484148315176118f4576118f361188d565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61193282611435565b915061193d83611435565b92508261194d5761194c6118fb565b5b828204905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f61198f82611435565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036119c1576119c061188d565b5b600182019050919050565b5f6060820190506119df5f8301866117ca565b6119ec6020830185611541565b6119f96040830184611541565b949350505050565b5f604082019050611a145f8301856117ca565b611a2160208301846117ca565b9392505050565b5f611a3282611435565b9150611a3d83611435565b9250828201905080821115611a5557611a5461188d565b5b9291505056fea264697066735822122014da60730c827a458f84b0b3bffeefda9b8505cdcd524bc5a61eb8abff0793f364736f6c63430008140033