Overview ERC20
PRICE
$0.032452

ON-CHAIN MARKET CAP n/a

Total Supply:
1,000,000,000.00 Haggis

Holders:
3,544
Profile Summary
Blockchain:
Base (8453)


Decimals:
18
Contract Source Code Verified (Exact Match)
Contract Name:
Haggis

Compiler Version
v0.8.26+commit.8a97fa7a

Optimization Enabled:
No

Created At:
Mon, 04 Nov 2024 19:10:45 GMT
Haggis.sol
contracts
Haggis.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"
  },
  {
    "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": [],
    "name": "DOMAIN_TYPEHASH",
    "outputs": [
      {
        "internalType": "bytes32",
        "name": "",
        "type": "bytes32"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "PERMIT_TYPEHASH",
    "outputs": [
      {
        "internalType": "bytes32",
        "name": "",
        "type": "bytes32"
      }
    ],
    "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": "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": [],
    "name": "decimals",
    "outputs": [
      {
        "internalType": "uint8",
        "name": "",
        "type": "uint8"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "spender",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "amount",
        "type": "uint256"
      }
    ],
    "name": "decreaseAllowance",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "spender",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "amount",
        "type": "uint256"
      }
    ],
    "name": "increaseAllowance",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "name",
    "outputs": [
      {
        "internalType": "string",
        "name": "",
        "type": "string"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "name": "nonces",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "owner",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "owner",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "spender",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "amount",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "deadline",
        "type": "uint256"
      },
      {
        "internalType": "uint8",
        "name": "v",
        "type": "uint8"
      },
      {
        "internalType": "bytes32",
        "name": "r",
        "type": "bytes32"
      },
      {
        "internalType": "bytes32",
        "name": "s",
        "type": "bytes32"
      }
    ],
    "name": "permit",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "renounceOwnership",
    "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
608060405234801561000f575f80fd5b506040518060400160405280600681526020017f48616767697300000000000000000000000000000000000000000000000000008152506040518060400160405280600681526020017f4861676769730000000000000000000000000000000000000000000000000000815250816003908161008b919061067d565b50806004908161009b919061067d565b5050506100ba6100af6100db60201b60201c565b6100e260201b60201c565b6100d6336b033b2e3c9fd0803ce80000006101a560201b60201c565b610861565b5f33905090565b5f60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160075f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610215575f6040517fec442f0500000000000000000000000000000000000000000000000000000000815260040161020c919061078b565b60405180910390fd5b6102265f838361022a60201b60201c565b5050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361027a578060025f82825461026e91906107d1565b92505081905550610348565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015610303578381836040517fe450d38c0000000000000000000000000000000000000000000000000000000081526004016102fa93929190610813565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361038f578060025f82825403925050819055506103d9565b805f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516104369190610848565b60405180910390a3505050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806104be57607f821691505b6020821081036104d1576104d061047a565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026105337fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826104f8565b61053d86836104f8565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f61058161057c61057784610555565b61055e565b610555565b9050919050565b5f819050919050565b61059a83610567565b6105ae6105a682610588565b848454610504565b825550505050565b5f90565b6105c26105b6565b6105cd818484610591565b505050565b5b818110156105f0576105e55f826105ba565b6001810190506105d3565b5050565b601f82111561063557610606816104d7565b61060f846104e9565b8101602085101561061e578190505b61063261062a856104e9565b8301826105d2565b50505b505050565b5f82821c905092915050565b5f6106555f198460080261063a565b1980831691505092915050565b5f61066d8383610646565b9150826002028217905092915050565b61068682610443565b67ffffffffffffffff81111561069f5761069e61044d565b5b6106a982546104a7565b6106b48282856105f4565b5f60209050601f8311600181146106e5575f84156106d3578287015190505b6106dd8582610662565b865550610744565b601f1984166106f3866104d7565b5f5b8281101561071a578489015182556001820191506020850194506020810190506106f5565b868310156107375784890151610733601f891682610646565b8355505b6001600288020188555050505b505050505050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6107758261074c565b9050919050565b6107858161076b565b82525050565b5f60208201905061079e5f83018461077c565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6107db82610555565b91506107e683610555565b92508282019050808211156107fe576107fd6107a4565b5b92915050565b61080d81610555565b82525050565b5f6060820190506108265f83018661077c565b6108336020830185610804565b6108406040830184610804565b949350505050565b5f60208201905061085b5f830184610804565b92915050565b611d8a8061086e5f395ff3fe608060405234801561000f575f80fd5b5060043610610114575f3560e01c8063715018a6116100a0578063a457c2d71161006f578063a457c2d7146102e4578063a9059cbb14610314578063d505accf14610344578063dd62ed3e14610360578063f2fde38b1461039057610114565b8063715018a61461026e5780637ecebe00146102785780638da5cb5b146102a857806395d89b41146102c657610114565b806323b872dd116100e757806323b872dd146101a257806330adf81f146101d2578063313ce567146101f0578063395093511461020e57806370a082311461023e57610114565b806306fdde0314610118578063095ea7b31461013657806318160ddd1461016657806320606b7014610184575b5f80fd5b6101206103ac565b60405161012d91906113f8565b60405180910390f35b610150600480360381019061014b91906114a9565b61043c565b60405161015d9190611501565b60405180910390f35b61016e61045e565b60405161017b9190611529565b60405180910390f35b61018c610467565b604051610199919061155a565b60405180910390f35b6101bc60048036038101906101b79190611573565b61048b565b6040516101c99190611501565b60405180910390f35b6101da6104b9565b6040516101e7919061155a565b60405180910390f35b6101f86104dd565b60405161020591906115de565b60405180910390f35b610228600480360381019061022391906114a9565b6104e5565b6040516102359190611501565b60405180910390f35b610258600480360381019061025391906115f7565b6105c2565b6040516102659190611529565b60405180910390f35b610276610607565b005b610292600480360381019061028d91906115f7565b61061a565b60405161029f9190611529565b60405180910390f35b6102b061062f565b6040516102bd9190611631565b60405180910390f35b6102ce610657565b6040516102db91906113f8565b60405180910390f35b6102fe60048036038101906102f991906114a9565b6106e7565b60405161030b9190611501565b60405180910390f35b61032e600480360381019061032991906114a9565b61078e565b60405161033b9190611501565b60405180910390f35b61035e6004803603810190610359919061169e565b6107b0565b005b61037a6004803603810190610375919061173b565b610b69565b6040516103879190611529565b60405180910390f35b6103aa60048036038101906103a591906115f7565b610beb565b005b6060600380546103bb906117a6565b80601f01602080910402602001604051908101604052809291908181526020018280546103e7906117a6565b80156104325780601f1061040957610100808354040283529160200191610432565b820191905f5260205f20905b81548152906001019060200180831161041557829003601f168201915b5050505050905090565b5f80610446610c6d565b9050610453818585610c74565b600191505092915050565b5f600254905090565b7f8cad95687ba82c2ce50e74f7b754645e5117c3a5bec8151c0726d5857980a86681565b5f80610495610c6d565b90506104a2858285610c86565b6104ad858585610d18565b60019150509392505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b5f6012905090565b5f6105826104f1610c6d565b848460015f6104fe610c6d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461057d9190611803565b610c74565b5f61058b610e08565b90505f81146105b7575f600554036105b65782600581905550806080525f60a0526040608020818155505b5b600191505092915050565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b61060f610e28565b6106185f610ea6565b565b6006602052805f5260405f205f915090505481565b5f60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060048054610666906117a6565b80601f0160208091040260200160405190810160405280929190818152602001828054610692906117a6565b80156106dd5780601f106106b4576101008083540402835291602001916106dd565b820191905f5260205f20905b8154815290600101906020018083116106c057829003601f168201915b5050505050905090565b5f6107846106f3610c6d565b848460015f610700610c6d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461077f9190611836565b610c74565b6001905092915050565b5f80610798610c6d565b90506107a5818585610d18565b600191505092915050565b5f7f8cad95687ba82c2ce50e74f7b754645e5117c3a5bec8151c0726d5857980a86660036040516107e19190611905565b60405180910390206107f1610f69565b30604051602001610805949392919061191b565b6040516020818303038152906040528051906020012090505f7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c989898960065f8e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f81548092919061088f9061195e565b919050558a6040516020016108a9969594939291906119a5565b6040516020818303038152906040528051906020012090505f82826040516020016108d5929190611a78565b6040516020818303038152906040528051906020012090505f6109066108f9610c6d565b610901610e08565b610f75565b14610a7b575f6001828888886040515f815260200160405260405161092e9493929190611aae565b6020604051602081039080840390855afa15801561094e573d5f803e3d5ffd5b5050506020604051035190505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036109c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109bf90611b3b565b60405180910390fd5b8a73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610a36576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a2d90611ba3565b60405180910390fd5b87421115610a79576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a7090611c0b565b60405180910390fd5b505b8760015f8c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508873ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258a604051610b559190611529565b60405180910390a350505050505050505050565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b610bf3610e28565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610c61576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c5890611c99565b60405180910390fd5b610c6a81610ea6565b50565b5f33905090565b610c818383836001610f86565b505050565b5f610c918484610b69565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610d125781811015610d03578281836040517ffb8f41b2000000000000000000000000000000000000000000000000000000008152600401610cfa93929190611cb7565b60405180910390fd5b610d1184848484035f610f86565b5b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610d88575f6040517f96c6fd1e000000000000000000000000000000000000000000000000000000008152600401610d7f9190611631565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610df8575f6040517fec442f05000000000000000000000000000000000000000000000000000000008152600401610def9190611631565b60405180910390fd5b610e03838383611155565b505050565b5f7504e4dcd212d90aa765cb8dfd6b4866e8325c044a8000600d1c905090565b610e30610c6d565b73ffffffffffffffffffffffffffffffffffffffff16610e4e61062f565b73ffffffffffffffffffffffffffffffffffffffff1614610ea4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e9b90611d36565b60405180910390fd5b565b5f60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160075f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f804690508091505090565b5f8082840390508091505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603610ff6575f6040517fe602df05000000000000000000000000000000000000000000000000000000008152600401610fed9190611631565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611066575f6040517f94280d6200000000000000000000000000000000000000000000000000000000815260040161105d9190611631565b60405180910390fd5b8160015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550801561114f578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516111469190611529565b60405180910390a35b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036111a5578060025f8282546111999190611803565b92505081905550611273565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490508181101561122e578381836040517fe450d38c00000000000000000000000000000000000000000000000000000000815260040161122593929190611cb7565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036112ba578060025f8282540392505081905550611304565b805f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516113619190611529565b60405180910390a3505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156113a557808201518184015260208101905061138a565b5f8484015250505050565b5f601f19601f8301169050919050565b5f6113ca8261136e565b6113d48185611378565b93506113e4818560208601611388565b6113ed816113b0565b840191505092915050565b5f6020820190508181035f83015261141081846113c0565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6114458261141c565b9050919050565b6114558161143b565b811461145f575f80fd5b50565b5f813590506114708161144c565b92915050565b5f819050919050565b61148881611476565b8114611492575f80fd5b50565b5f813590506114a38161147f565b92915050565b5f80604083850312156114bf576114be611418565b5b5f6114cc85828601611462565b92505060206114dd85828601611495565b9150509250929050565b5f8115159050919050565b6114fb816114e7565b82525050565b5f6020820190506115145f8301846114f2565b92915050565b61152381611476565b82525050565b5f60208201905061153c5f83018461151a565b92915050565b5f819050919050565b61155481611542565b82525050565b5f60208201905061156d5f83018461154b565b92915050565b5f805f6060848603121561158a57611589611418565b5b5f61159786828701611462565b93505060206115a886828701611462565b92505060406115b986828701611495565b9150509250925092565b5f60ff82169050919050565b6115d8816115c3565b82525050565b5f6020820190506115f15f8301846115cf565b92915050565b5f6020828403121561160c5761160b611418565b5b5f61161984828501611462565b91505092915050565b61162b8161143b565b82525050565b5f6020820190506116445f830184611622565b92915050565b611653816115c3565b811461165d575f80fd5b50565b5f8135905061166e8161164a565b92915050565b61167d81611542565b8114611687575f80fd5b50565b5f8135905061169881611674565b92915050565b5f805f805f805f60e0888a0312156116b9576116b8611418565b5b5f6116c68a828b01611462565b97505060206116d78a828b01611462565b96505060406116e88a828b01611495565b95505060606116f98a828b01611495565b945050608061170a8a828b01611660565b93505060a061171b8a828b0161168a565b92505060c061172c8a828b0161168a565b91505092959891949750929550565b5f806040838503121561175157611750611418565b5b5f61175e85828601611462565b925050602061176f85828601611462565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806117bd57607f821691505b6020821081036117d0576117cf611779565b5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61180d82611476565b915061181883611476565b92508282019050808211156118305761182f6117d6565b5b92915050565b5f61184082611476565b915061184b83611476565b9250828203905081811115611863576118626117d6565b5b92915050565b5f81905092915050565b5f819050815f5260205f209050919050565b5f8154611891816117a6565b61189b8186611869565b9450600182165f81146118b557600181146118ca576118fc565b60ff19831686528115158202860193506118fc565b6118d385611873565b5f5b838110156118f4578154818901526001820191506020810190506118d5565b838801955050505b50505092915050565b5f6119108284611885565b915081905092915050565b5f60808201905061192e5f83018761154b565b61193b602083018661154b565b611948604083018561151a565b6119556060830184611622565b95945050505050565b5f61196882611476565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361199a576119996117d6565b5b600182019050919050565b5f60c0820190506119b85f83018961154b565b6119c56020830188611622565b6119d26040830187611622565b6119df606083018661151a565b6119ec608083018561151a565b6119f960a083018461151a565b979650505050505050565b5f81905092915050565b7f19010000000000000000000000000000000000000000000000000000000000005f82015250565b5f611a42600283611a04565b9150611a4d82611a0e565b600282019050919050565b5f819050919050565b611a72611a6d82611542565b611a58565b82525050565b5f611a8282611a36565b9150611a8e8285611a61565b602082019150611a9e8284611a61565b6020820191508190509392505050565b5f608082019050611ac15f83018761154b565b611ace60208301866115cf565b611adb604083018561154b565b611ae8606083018461154b565b95945050505050565b7f45524332303a3a7065726d69743a20696e76616c6964207369676e61747572655f82015250565b5f611b25602083611378565b9150611b3082611af1565b602082019050919050565b5f6020820190508181035f830152611b5281611b19565b9050919050565b7f45524332303a3a7065726d69743a20756e617574686f72697a656400000000005f82015250565b5f611b8d601b83611378565b9150611b9882611b59565b602082019050919050565b5f6020820190508181035f830152611bba81611b81565b9050919050565b7f45524332303a3a7065726d69743a207369676e617475726520657870697265645f82015250565b5f611bf5602083611378565b9150611c0082611bc1565b602082019050919050565b5f6020820190508181035f830152611c2281611be9565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f611c83602683611378565b9150611c8e82611c29565b604082019050919050565b5f6020820190508181035f830152611cb081611c77565b9050919050565b5f606082019050611cca5f830186611622565b611cd7602083018561151a565b611ce4604083018461151a565b949350505050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f611d20602083611378565b9150611d2b82611cec565b602082019050919050565b5f6020820190508181035f830152611d4d81611d14565b905091905056fea26469706673582212208287c4623ffdbbf686c8f0c65fbbdedc08cc6f130b1c09661e13ff183595d37c64736f6c634300081a0033