Overview ERC20
PRICE
$0.087705

ON-CHAIN MARKET CAP n/a

Total Supply:
420,690,000,000.00 KWIF

Holders:
57
Profile Summary
Blockchain:
Ethereum (1)


Decimals:
9
Contract Source Code Verified (Exact Match)
Contract Name:
KenWifHat

Compiler Version
v0.8.26+commit.8a97fa7a

Optimization Enabled:
No

Created At:
Fri, 02 Aug 2024 07:40:11 GMT
KenWifHat.sol
KenWifHat.sol
KenWifHat.sol


Contract ABI
[
  {
    "inputs": [],
    "stateMutability": "nonpayable",
    "type": "constructor"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "address",
        "name": "owner",
        "type": "address"
      },
      {
        "indexed": true,
        "internalType": "address",
        "name": "spender",
        "type": "address"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "value",
        "type": "uint256"
      }
    ],
    "name": "Approval",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": false,
        "internalType": "address",
        "name": "TokenAddressCleared",
        "type": "address"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "Amount",
        "type": "uint256"
      }
    ],
    "name": "ClearToken",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "_maxTxAmount",
        "type": "uint256"
      }
    ],
    "name": "MaxTxAmountUpdated",
    "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"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "_tax",
        "type": "uint256"
      }
    ],
    "name": "TransferTaxUpdated",
    "type": "event"
  },
  {
    "inputs": [],
    "name": "_maxTaxSwap",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "_maxTxAmount",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "_maxWalletSize",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "_taxSwapThreshold",
    "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": [
      {
        "internalType": "address",
        "name": "account",
        "type": "address"
      }
    ],
    "name": "balanceOf",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "tokenAddress",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "tokens",
        "type": "uint256"
      }
    ],
    "name": "clearStuckToken",
    "outputs": [
      {
        "internalType": "bool",
        "name": "success",
        "type": "bool"
      }
    ],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "decimals",
    "outputs": [
      {
        "internalType": "uint8",
        "name": "",
        "type": "uint8"
      }
    ],
    "stateMutability": "pure",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "manualSend",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "manualSwap",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "name",
    "outputs": [
      {
        "internalType": "string",
        "name": "",
        "type": "string"
      }
    ],
    "stateMutability": "pure",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "openTrading",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "owner",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "_newFee",
        "type": "uint256"
      }
    ],
    "name": "reduceFee",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "removeLimit",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "removeTransferTax",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "renounceOwnership",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "symbol",
    "outputs": [
      {
        "internalType": "string",
        "name": "",
        "type": "string"
      }
    ],
    "stateMutability": "pure",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "totalSupply",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "pure",
    "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"
  },
  {
    "stateMutability": "payable",
    "type": "receive"
  }
]


Contract Creation Code
6080604052601960055560196006555f6007555f60085560196009556019600a556019600b555f600c555f600d556103e860146009600a6100409190610621565b6461f313f880610050919061066b565b61005a919061066b565b61006491906106d9565b600e556103e860146009600a61007a9190610621565b6461f313f88061008a919061066b565b610094919061066b565b61009e91906106d9565b600f556103e860016009600a6100b49190610621565b6461f313f8806100c4919061066b565b6100ce919061066b565b6100d891906106d9565b6010556103e860076009600a6100ee9190610621565b6461f313f8806100fe919061066b565b610108919061066b565b61011291906106d9565b6011555f601360156101000a81548160ff0219169083151502179055505f601360166101000a81548160ff0219169083151502179055505f6014555f60155534801561015c575f80fd5b505f61016c61048260201b60201c565b9050805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35061021661048260201b60201c565b60045f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506009600a6102639190610621565b6461f313f880610273919061066b565b60015f61028461048260201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550600160035f6102d461048960201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506103fc61048260201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009600a6104589190610621565b6461f313f880610468919061066b565b6040516104759190610718565b60405180910390a3610731565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156105325780860481111561050e5761050d6104b0565b5b600185161561051d5780820291505b808102905061052b856104dd565b94506104f2565b94509492505050565b5f8261054a5760019050610605565b81610557575f9050610605565b816001811461056d5760028114610577576105a6565b6001915050610605565b60ff841115610589576105886104b0565b5b8360020a9150848211156105a05761059f6104b0565b5b50610605565b5060208310610133831016604e8410600b84101617156105db5782820a9050838111156105d6576105d56104b0565b5b610605565b6105e884848460016104e9565b925090508184048111156105ff576105fe6104b0565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f61062b8261060c565b915061063683610615565b92506106637fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461053b565b905092915050565b5f6106758261060c565b91506106808361060c565b925082820261068e8161060c565b915082820484148315176106a5576106a46104b0565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6106e38261060c565b91506106ee8361060c565b9250826106fe576106fd6106ac565b5b828204905092915050565b6107128161060c565b82525050565b5f60208201905061072b5f830184610709565b92915050565b6133fd8061073e5f395ff3fe608060405260043610610138575f3560e01c806377b54bad116100aa578063a9059cbb1161006e578063a9059cbb146103db578063bf474bed14610417578063c9567bf914610441578063dd62ed3e14610457578063ec1f3f6314610493578063f4293890146104bb5761013f565b806377b54bad146102f75780637d1db4a5146103335780638da5cb5b1461035d5780638f9a55c01461038757806395d89b41146103b15761013f565b806323b872dd116100fc57806323b872dd14610213578063313ce5671461024f57806351bc3c8514610279578063622565891461028f57806370a08231146102a5578063715018a6146102e15761013f565b806306fdde0314610143578063095ea7b31461016d5780630faee56f146101a9578063109daa99146101d357806318160ddd146101e95761013f565b3661013f57005b5f80fd5b34801561014e575f80fd5b506101576104d1565b60405161016491906123c5565b60405180910390f35b348015610178575f80fd5b50610193600480360381019061018e9190612476565b61050e565b6040516101a091906124ce565b60405180910390f35b3480156101b4575f80fd5b506101bd61052b565b6040516101ca91906124f6565b60405180910390f35b3480156101de575f80fd5b506101e7610531565b005b3480156101f4575f80fd5b506101fd610605565b60405161020a91906124f6565b60405180910390f35b34801561021e575f80fd5b506102396004803603810190610234919061250f565b610629565b60405161024691906124ce565b60405180910390f35b34801561025a575f80fd5b506102636106fd565b604051610270919061257a565b60405180910390f35b348015610284575f80fd5b5061028d610705565b005b34801561029a575f80fd5b506102a361079c565b005b3480156102b0575f80fd5b506102cb60048036038101906102c69190612593565b6108ce565b6040516102d891906124f6565b60405180910390f35b3480156102ec575f80fd5b506102f5610914565b005b348015610302575f80fd5b5061031d60048036038101906103189190612476565b610a62565b60405161032a91906124ce565b60405180910390f35b34801561033e575f80fd5b50610347610c21565b60405161035491906124f6565b60405180910390f35b348015610368575f80fd5b50610371610c27565b60405161037e91906125cd565b60405180910390f35b348015610392575f80fd5b5061039b610c4e565b6040516103a891906124f6565b60405180910390f35b3480156103bc575f80fd5b506103c5610c54565b6040516103d291906123c5565b60405180910390f35b3480156103e6575f80fd5b5061040160048036038101906103fc9190612476565b610c91565b60405161040e91906124ce565b60405180910390f35b348015610422575f80fd5b5061042b610cae565b60405161043891906124f6565b60405180910390f35b34801561044c575f80fd5b50610455610cb4565b005b348015610462575f80fd5b5061047d600480360381019061047891906125e6565b6111d7565b60405161048a91906124f6565b60405180910390f35b34801561049e575f80fd5b506104b960048036038101906104b49190612624565b611259565b005b3480156104c6575f80fd5b506104cf6112e5565b005b60606040518060400160405280600981526020017f6b656e7769666861740000000000000000000000000000000000000000000000815250905090565b5f61052161051a611396565b848461139d565b6001905092915050565b60115481565b610539611396565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146105c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105bc90612699565b60405180910390fd5b5f600c819055507fe9b79e1a6c2dc43b4c0c6ff01ce9e3332d810e482270f464c0a21ad6c5fc6de35f6040516105fb91906126f9565b60405180910390a1565b5f6009600a610614919061286e565b6461f313f88061062491906128b8565b905090565b5f610635848484611560565b6106f284610641611396565b6106ed856040518060600160405280602881526020016133a06028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6106a4611396565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611e419092919063ffffffff16565b61139d565b600190509392505050565b5f6009905090565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610745611396565b73ffffffffffffffffffffffffffffffffffffffff1614610764575f80fd5b5f61076e306108ce565b90505f8111156107825761078181611ea3565b5b5f4790505f811115610798576107978161210e565b5b5050565b6107a4611396565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610830576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161082790612699565b60405180910390fd5b6009600a61083e919061286e565b6461f313f88061084e91906128b8565b600e819055506009600a610862919061286e565b6461f313f88061087291906128b8565b600f819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a6108a7919061286e565b6461f313f8806108b791906128b8565b6040516108c491906124f6565b60405180910390a1565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b61091c611396565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161099f90612699565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b5f60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610aa3611396565b73ffffffffffffffffffffffffffffffffffffffff1614610ac2575f80fd5b5f8203610b44578273ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610b0291906125cd565b602060405180830381865afa158015610b1d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b41919061290d565b91505b7fda2bc2bedd1f85b5a59d5dbbd6684ff877ef916994a16ec08813101e99ace65f8383604051610b75929190612938565b60405180910390a18273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846040518363ffffffff1660e01b8152600401610bd99291906129b1565b6020604051808303815f875af1158015610bf5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c199190612a02565b905092915050565b600e5481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600f5481565b60606040518060400160405280600481526020017f4b57494600000000000000000000000000000000000000000000000000000000815250905090565b5f610ca4610c9d611396565b8484611560565b6001905092915050565b60105481565b610cbc611396565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d48576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3f90612699565b60405180910390fd5b601360149054906101000a900460ff1615610d98576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d8f90612a77565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60125f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610e353060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610e20919061286e565b6461f313f880610e3091906128b8565b61139d565b60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e9f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ec39190612aa9565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f49573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f6d9190612aa9565b6040518363ffffffff1660e01b8152600401610f8a929190612ad4565b6020604051808303815f875af1158015610fa6573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fca9190612aa9565b60135f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730611051306108ce565b5f8061105b610c27565b426040518863ffffffff1660e01b815260040161107d96959493929190612afb565b60606040518083038185885af1158015611099573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906110be9190612b5a565b50505060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b815260040161115e929190612938565b6020604051808303815f875af115801561117a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061119e9190612a02565b506001601360166101000a81548160ff0219169083151502179055506001601360146101000a81548160ff021916908315150217905550565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611299611396565b73ffffffffffffffffffffffffffffffffffffffff16146112b8575f80fd5b60075481111580156112cc57506008548111155b6112d4575f80fd5b806007819055508060088190555050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611325611396565b73ffffffffffffffffffffffffffffffffffffffff1614611344575f80fd5b5f4790505f811161138a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161138190612c1a565b60405180910390fd5b6113938161210e565b50565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361140b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161140290612ca8565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611479576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161147090612d36565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161155391906124f6565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036115ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115c590612dc4565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361163c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161163390612e52565b60405180910390fd5b5f811161167e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161167590612ee0565b60405180910390fd5b5f611687610c27565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156116f557506116c5610c27565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611b91575f600d54036117425761173f6064611731600954600d541161171e57600554611722565b6007545b8561217690919063ffffffff16565b6121ed90919063ffffffff16565b90505b5f600d541115611777576117746064611766600c548561217690919063ffffffff16565b6121ed90919063ffffffff16565b90505b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611820575060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611873575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561196b57600e548211156118bd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118b490612f48565b60405180910390fd5b600f54826118ca856108ce565b6118d49190612f66565b1115611915576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161190c90612fe3565b60405180910390fd5b6119516064611943600954600d541161193057600554611934565b6007545b8561217690919063ffffffff16565b6121ed90919063ffffffff16565b9050600d5f81548092919061196590613001565b91905055505b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156119f357503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611a3757611a346064611a26600a54600d5411611a1357600654611a17565b6008545b8561217690919063ffffffff16565b6121ed90919063ffffffff16565b90505b5f611a41306108ce565b9050601360159054906101000a900460ff16158015611aac575060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611ac45750601360169054906101000a900460ff165b8015611ad1575060105481115b8015611ae05750600b54600d54115b15611b8f57601554431115611af7575f6014819055505b600360145410611b3c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b3390613092565b60405180910390fd5b611b59611b5484611b4f84601154612236565b612236565b611ea3565b5f4790505f811115611b6f57611b6e4761210e565b5b60145f815480929190611b8190613001565b919050555043601581905550505b505b5f811115611c9057611be98160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461224e90919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611c8791906124f6565b60405180910390a35b611ce08260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546122ab90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611d83611d3782846122ab90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461224e90919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611e2684866122ab90919063ffffffff16565b604051611e3391906124f6565b60405180910390a350505050565b5f838311158290611e88576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e7f91906123c5565b60405180910390fd5b505f8385611e9691906130b0565b9050809150509392505050565b6001601360156101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115611eda57611ed96130e3565b5b604051908082528060200260200182016040528015611f085781602001602082028036833780820191505090505b50905030815f81518110611f1f57611f1e613110565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611fc3573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fe79190612aa9565b81600181518110611ffb57611ffa613110565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506120613060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461139d565b60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b81526004016120c39594939291906131f4565b5f604051808303815f87803b1580156120da575f80fd5b505af11580156120ec573d5f803e3d5ffd5b50505050505f601360156101000a81548160ff02191690831515021790555050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015612172573d5f803e3d5ffd5b5050565b5f808303612186575f90506121e7565b5f828461219391906128b8565b90508284826121a29190613279565b146121e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121d990613319565b60405180910390fd5b809150505b92915050565b5f61222e83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506122f4565b905092915050565b5f8183116122445782612246565b815b905092915050565b5f80828461225c9190612f66565b9050838110156122a1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161229890613381565b60405180910390fd5b8091505092915050565b5f6122ec83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611e41565b905092915050565b5f808311829061233a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161233191906123c5565b60405180910390fd5b505f83856123489190613279565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61239782612355565b6123a1818561235f565b93506123b181856020860161236f565b6123ba8161237d565b840191505092915050565b5f6020820190508181035f8301526123dd818461238d565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f612412826123e9565b9050919050565b61242281612408565b811461242c575f80fd5b50565b5f8135905061243d81612419565b92915050565b5f819050919050565b61245581612443565b811461245f575f80fd5b50565b5f813590506124708161244c565b92915050565b5f806040838503121561248c5761248b6123e5565b5b5f6124998582860161242f565b92505060206124aa85828601612462565b9150509250929050565b5f8115159050919050565b6124c8816124b4565b82525050565b5f6020820190506124e15f8301846124bf565b92915050565b6124f081612443565b82525050565b5f6020820190506125095f8301846124e7565b92915050565b5f805f60608486031215612526576125256123e5565b5b5f6125338682870161242f565b93505060206125448682870161242f565b925050604061255586828701612462565b9150509250925092565b5f60ff82169050919050565b6125748161255f565b82525050565b5f60208201905061258d5f83018461256b565b92915050565b5f602082840312156125a8576125a76123e5565b5b5f6125b58482850161242f565b91505092915050565b6125c781612408565b82525050565b5f6020820190506125e05f8301846125be565b92915050565b5f80604083850312156125fc576125fb6123e5565b5b5f6126098582860161242f565b925050602061261a8582860161242f565b9150509250929050565b5f60208284031215612639576126386123e5565b5b5f61264684828501612462565b91505092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f61268360208361235f565b915061268e8261264f565b602082019050919050565b5f6020820190508181035f8301526126b081612677565b9050919050565b5f819050919050565b5f819050919050565b5f6126e36126de6126d9846126b7565b6126c0565b612443565b9050919050565b6126f3816126c9565b82525050565b5f60208201905061270c5f8301846126ea565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b6001851115612794578086048111156127705761276f612712565b5b600185161561277f5780820291505b808102905061278d8561273f565b9450612754565b94509492505050565b5f826127ac5760019050612867565b816127b9575f9050612867565b81600181146127cf57600281146127d957612808565b6001915050612867565b60ff8411156127eb576127ea612712565b5b8360020a91508482111561280257612801612712565b5b50612867565b5060208310610133831016604e8410600b841016171561283d5782820a90508381111561283857612837612712565b5b612867565b61284a848484600161274b565b9250905081840481111561286157612860612712565b5b81810290505b9392505050565b5f61287882612443565b91506128838361255f565b92506128b07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461279d565b905092915050565b5f6128c282612443565b91506128cd83612443565b92508282026128db81612443565b915082820484148315176128f2576128f1612712565b5b5092915050565b5f815190506129078161244c565b92915050565b5f60208284031215612922576129216123e5565b5b5f61292f848285016128f9565b91505092915050565b5f60408201905061294b5f8301856125be565b61295860208301846124e7565b9392505050565b5f61297961297461296f846123e9565b6126c0565b6123e9565b9050919050565b5f61298a8261295f565b9050919050565b5f61299b82612980565b9050919050565b6129ab81612991565b82525050565b5f6040820190506129c45f8301856129a2565b6129d160208301846124e7565b9392505050565b6129e1816124b4565b81146129eb575f80fd5b50565b5f815190506129fc816129d8565b92915050565b5f60208284031215612a1757612a166123e5565b5b5f612a24848285016129ee565b91505092915050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f612a6160178361235f565b9150612a6c82612a2d565b602082019050919050565b5f6020820190508181035f830152612a8e81612a55565b9050919050565b5f81519050612aa381612419565b92915050565b5f60208284031215612abe57612abd6123e5565b5b5f612acb84828501612a95565b91505092915050565b5f604082019050612ae75f8301856125be565b612af460208301846125be565b9392505050565b5f60c082019050612b0e5f8301896125be565b612b1b60208301886124e7565b612b2860408301876126ea565b612b3560608301866126ea565b612b4260808301856125be565b612b4f60a08301846124e7565b979650505050505050565b5f805f60608486031215612b7157612b706123e5565b5b5f612b7e868287016128f9565b9350506020612b8f868287016128f9565b9250506040612ba0868287016128f9565b9150509250925092565b7f436f6e74726163742062616c616e6365206d75737420626520677265617465725f8201527f207468616e207a65726f00000000000000000000000000000000000000000000602082015250565b5f612c04602a8361235f565b9150612c0f82612baa565b604082019050919050565b5f6020820190508181035f830152612c3181612bf8565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612c9260248361235f565b9150612c9d82612c38565b604082019050919050565b5f6020820190508181035f830152612cbf81612c86565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612d2060228361235f565b9150612d2b82612cc6565b604082019050919050565b5f6020820190508181035f830152612d4d81612d14565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612dae60258361235f565b9150612db982612d54565b604082019050919050565b5f6020820190508181035f830152612ddb81612da2565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612e3c60238361235f565b9150612e4782612de2565b604082019050919050565b5f6020820190508181035f830152612e6981612e30565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612eca60298361235f565b9150612ed582612e70565b604082019050919050565b5f6020820190508181035f830152612ef781612ebe565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f612f3260198361235f565b9150612f3d82612efe565b602082019050919050565b5f6020820190508181035f830152612f5f81612f26565b9050919050565b5f612f7082612443565b9150612f7b83612443565b9250828201905080821115612f9357612f92612712565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f612fcd601a8361235f565b9150612fd882612f99565b602082019050919050565b5f6020820190508181035f830152612ffa81612fc1565b9050919050565b5f61300b82612443565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361303d5761303c612712565b5b600182019050919050565b7f4f6e6c7920332073656c6c732070657220626c6f636b210000000000000000005f82015250565b5f61307c60178361235f565b915061308782613048565b602082019050919050565b5f6020820190508181035f8301526130a981613070565b9050919050565b5f6130ba82612443565b91506130c583612443565b92508282039050818111156130dd576130dc612712565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61316f81612408565b82525050565b5f6131808383613166565b60208301905092915050565b5f602082019050919050565b5f6131a28261313d565b6131ac8185613147565b93506131b783613157565b805f5b838110156131e75781516131ce8882613175565b97506131d98361318c565b9250506001810190506131ba565b5085935050505092915050565b5f60a0820190506132075f8301886124e7565b61321460208301876126ea565b81810360408301526132268186613198565b905061323560608301856125be565b61324260808301846124e7565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61328382612443565b915061328e83612443565b92508261329e5761329d61324c565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f61330360218361235f565b915061330e826132a9565b604082019050919050565b5f6020820190508181035f830152613330816132f7565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f61336b601b8361235f565b915061337682613337565b602082019050919050565b5f6020820190508181035f8301526133988161335f565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220682eccc2f93d0e81f647fc8388576c1d96c7adaef96aa6ab6d9cdad97f2b99f264736f6c634300081a0033