Overview ERC721
Total Supply:
2,000 AEL

Holders:
163
Profile Summary
Blockchain:
C-Chain (43114)

Contract Source Code Verified (Partial Match)
Contract Name:
LycansBreeding

Compiler Version
v0.8.14+commit.80d49f37

Optimization Enabled:
No

Created At:
Sat, 14 Jan 2023 21:46:22 GMT
LycansBreeding.sol
LycansBreeding.sol
LycansBreeding.sol


Contract ABI
[
  {
    "inputs": [
      {
        "internalType": "string",
        "name": "_metdata_base_URI",
        "type": "string"
      },
      {
        "internalType": "address",
        "name": "_hunters_addr",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "_prey_addr",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "_PunksNFT_addr",
        "type": "address"
      }
    ],
    "stateMutability": "nonpayable",
    "type": "constructor"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "address",
        "name": "owner",
        "type": "address"
      },
      {
        "indexed": true,
        "internalType": "address",
        "name": "approved",
        "type": "address"
      },
      {
        "indexed": true,
        "internalType": "uint256",
        "name": "tokenId",
        "type": "uint256"
      }
    ],
    "name": "Approval",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "address",
        "name": "owner",
        "type": "address"
      },
      {
        "indexed": true,
        "internalType": "address",
        "name": "operator",
        "type": "address"
      },
      {
        "indexed": false,
        "internalType": "bool",
        "name": "approved",
        "type": "bool"
      }
    ],
    "name": "ApprovalForAll",
    "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": true,
        "internalType": "uint256",
        "name": "tokenId",
        "type": "uint256"
      }
    ],
    "name": "Transfer",
    "type": "event"
  },
  {
    "inputs": [],
    "name": "BreedingMinted",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "Hunters_Address",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "Prey_Address",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "PunksNFT_Address",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "_baseTokenURI",
    "outputs": [
      {
        "internalType": "string",
        "name": "",
        "type": "string"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "_lycanId",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "_value",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "_to",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "_count",
        "type": "uint256"
      }
    ],
    "name": "airdrop",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "to",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "tokenId",
        "type": "uint256"
      }
    ],
    "name": "approve",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "owner",
        "type": "address"
      }
    ],
    "name": "balanceOf",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "breedIsActive",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "_to",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "_count",
        "type": "uint256"
      }
    ],
    "name": "breeding",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "burn_prey_amount",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "tokenId",
        "type": "uint256"
      }
    ],
    "name": "getApproved",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "sender",
        "type": "address"
      }
    ],
    "name": "getPunksTokens",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "owner",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "operator",
        "type": "address"
      }
    ],
    "name": "isApprovedForAll",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "maxLycansSupply",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "maxPerTx",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "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": [
      {
        "internalType": "uint256",
        "name": "tokenId",
        "type": "uint256"
      }
    ],
    "name": "ownerOf",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "renounceOwnership",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "from",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "to",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "tokenId",
        "type": "uint256"
      }
    ],
    "name": "safeTransferFrom",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "from",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "to",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "tokenId",
        "type": "uint256"
      },
      {
        "internalType": "bytes",
        "name": "data",
        "type": "bytes"
      }
    ],
    "name": "safeTransferFrom",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "operator",
        "type": "address"
      },
      {
        "internalType": "bool",
        "name": "approved",
        "type": "bool"
      }
    ],
    "name": "setApprovalForAll",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "string",
        "name": "_URI",
        "type": "string"
      }
    ],
    "name": "setBaseTokenUri",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "bool",
        "name": "_breedActive",
        "type": "bool"
      }
    ],
    "name": "setBreedActive",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "_maxPerTx",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "_maxLycansSupply",
        "type": "uint256"
      }
    ],
    "name": "setConfig",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "_addr",
        "type": "address"
      }
    ],
    "name": "setHuntersAddress",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "_addr",
        "type": "address"
      }
    ],
    "name": "setPreyAddress",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "_preyAmount",
        "type": "uint256"
      }
    ],
    "name": "setPreyAmountToBurn",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "_addr",
        "type": "address"
      }
    ],
    "name": "setPunksERC721",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "bytes4",
        "name": "interfaceId",
        "type": "bytes4"
      }
    ],
    "name": "supportsInterface",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "symbol",
    "outputs": [
      {
        "internalType": "string",
        "name": "",
        "type": "string"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "index",
        "type": "uint256"
      }
    ],
    "name": "tokenByIndex",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "owner",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "index",
        "type": "uint256"
      }
    ],
    "name": "tokenOfOwnerByIndex",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "tokenId",
        "type": "uint256"
      }
    ],
    "name": "tokenURI",
    "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": "from",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "to",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "tokenId",
        "type": "uint256"
      }
    ],
    "name": "transferFrom",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "newOwner",
        "type": "address"
      }
    ],
    "name": "transferOwnership",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "uriSuffix",
    "outputs": [
      {
        "internalType": "string",
        "name": "",
        "type": "string"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  }
]


Contract Creation Code
6080604052682086ac35105260000060105560146011556000601255610fa06013556040518060400160405280600581526020017f2e6a736f6e000000000000000000000000000000000000000000000000000000815250601590805190602001906200006e92919062000339565b506000601660006101000a81548160ff0219169083151502179055503480156200009757600080fd5b5060405162004c4038038062004c408339818101604052810190620000bd9190620005eb565b6040518060400160405280601081526020017f416c7465722045676f204c7963616e73000000000000000000000000000000008152506040518060400160405280600381526020017f41454c000000000000000000000000000000000000000000000000000000000081525081600090805190602001906200014192919062000339565b5080600190805190602001906200015a92919062000339565b5050506200017d620001716200026b60201b60201c565b6200027360201b60201c565b600160078190555083601490805190602001906200019d92919062000339565b5082600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050505050620006e0565b600033905090565b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b8280546200034790620006ab565b90600052602060002090601f0160209004810192826200036b5760008555620003b7565b82601f106200038657805160ff1916838001178555620003b7565b82800160010185558215620003b7579182015b82811115620003b657825182559160200191906001019062000399565b5b509050620003c69190620003ca565b5090565b5b80821115620003e5576000816000905550600101620003cb565b5090565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b620004528262000407565b810181811067ffffffffffffffff8211171562000474576200047362000418565b5b80604052505050565b600062000489620003e9565b905062000497828262000447565b919050565b600067ffffffffffffffff821115620004ba57620004b962000418565b5b620004c58262000407565b9050602081019050919050565b60005b83811015620004f2578082015181840152602081019050620004d5565b8381111562000502576000848401525b50505050565b60006200051f62000519846200049c565b6200047d565b9050828152602081018484840111156200053e576200053d62000402565b5b6200054b848285620004d2565b509392505050565b600082601f8301126200056b576200056a620003fd565b5b81516200057d84826020860162000508565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620005b38262000586565b9050919050565b620005c581620005a6565b8114620005d157600080fd5b50565b600081519050620005e581620005ba565b92915050565b60008060008060808587031215620006085762000607620003f3565b5b600085015167ffffffffffffffff811115620006295762000628620003f8565b5b620006378782880162000553565b94505060206200064a87828801620005d4565b93505060406200065d87828801620005d4565b92505060606200067087828801620005d4565b91505092959194509250565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620006c457607f821691505b602082108103620006da57620006d96200067c565b5b50919050565b61455080620006f06000396000f3fe608060405234801561001057600080fd5b50600436106102485760003560e01c806383c4e85a1161013b578063c97c0534116100b8578063eb4ef91e1161007c578063eb4ef91e146106dd578063f2fde38b146106f9578063f67bee1914610715578063f968adbe14610733578063faede47f1461075157610248565b8063c97c053414610637578063cfc86f7b14610655578063d9df6dfd14610673578063e87f0c0b1461068f578063e985e9c5146106ad57610248565b806395d89b41116100ff57806395d89b4114610593578063a22cb465146105b1578063a895ec89146105cd578063b88d4fde146105eb578063c87b56dd1461060757610248565b806383c4e85a146105015780638ba4cc3c1461051f5780638da5cb5b1461053b578063921aad4d1461055957806395652cfa1461057757610248565b80632f745c59116101c95780636352211e1161018d5780636352211e1461045f57806370a082311461048f578063715018a6146104bf57806377be7143146104c95780637d773845146104e557610248565b80632f745c59146103a757806342842e0e146103d75780634bec2d36146103f35780634f6ccce7146104115780635503a0e81461044157610248565b806318160ddd1161021057806318160ddd146103055780631e34c5851461032357806323b872dd1461033f5780632cf367001461035b5780632e5b6ae91461038b57610248565b806301ffc9a71461024d57806306fdde031461027d578063081812fc1461029b57806308736732146102cb578063095ea7b3146102e9575b600080fd5b61026760048036038101906102629190612ed4565b61076d565b6040516102749190612f1c565b60405180910390f35b61028561077f565b6040516102929190612fd0565b60405180910390f35b6102b560048036038101906102b09190613028565b610811565b6040516102c29190613096565b60405180910390f35b6102d3610857565b6040516102e09190613096565b60405180910390f35b61030360048036038101906102fe91906130dd565b61087d565b005b61030d610994565b60405161031a919061312c565b60405180910390f35b61033d60048036038101906103389190613147565b6109a1565b005b61035960048036038101906103549190613187565b6109cf565b005b610375600480360381019061037091906131da565b610a2f565b604051610382919061312c565b60405180910390f35b6103a560048036038101906103a091906131da565b610ad4565b005b6103c160048036038101906103bc91906130dd565b610b20565b6040516103ce919061312c565b60405180910390f35b6103f160048036038101906103ec9190613187565b610bc5565b005b6103fb610be5565b604051610408919061312c565b60405180910390f35b61042b60048036038101906104269190613028565b610beb565b604051610438919061312c565b60405180910390f35b610449610c5c565b6040516104569190612fd0565b60405180910390f35b61047960048036038101906104749190613028565b610cea565b6040516104869190613096565b60405180910390f35b6104a960048036038101906104a491906131da565b610d70565b6040516104b6919061312c565b60405180910390f35b6104c7610e27565b005b6104e360048036038101906104de91906131da565b610e3b565b005b6104ff60048036038101906104fa91906131da565b610e87565b005b610509610ed3565b6040516105169190612f1c565b60405180910390f35b610539600480360381019061053491906130dd565b610ee6565b005b610543610efc565b6040516105509190613096565b60405180910390f35b610561610f26565b60405161056e919061312c565b60405180910390f35b610591600480360381019061058c919061333c565b610f2c565b005b61059b610f4e565b6040516105a89190612fd0565b60405180910390f35b6105cb60048036038101906105c691906133b1565b610fe0565b005b6105d5610ff6565b6040516105e29190613096565b60405180910390f35b61060560048036038101906106009190613492565b61101c565b005b610621600480360381019061061c9190613028565b61107e565b60405161062e9190612fd0565b60405180910390f35b61063f611128565b60405161064c919061312c565b60405180910390f35b61065d611134565b60405161066a9190612fd0565b60405180910390f35b61068d60048036038101906106889190613028565b6111c2565b005b6106976111d4565b6040516106a4919061312c565b60405180910390f35b6106c760048036038101906106c29190613515565b6111da565b6040516106d49190612f1c565b60405180910390f35b6106f760048036038101906106f291906130dd565b61126e565b005b610713600480360381019061070e91906131da565b61162e565b005b61071d6116b1565b60405161072a9190613096565b60405180910390f35b61073b6116d7565b604051610748919061312c565b60405180910390f35b61076b60048036038101906107669190613555565b6116dd565b005b600061077882611702565b9050919050565b60606000805461078e906135b1565b80601f01602080910402602001604051908101604052809291908181526020018280546107ba906135b1565b80156108075780601f106107dc57610100808354040283529160200191610807565b820191906000526020600020905b8154815290600101906020018083116107ea57829003601f168201915b5050505050905090565b600061081c8261177c565b6004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600061088882610cea565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036108f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108ef90613654565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166109176117c7565b73ffffffffffffffffffffffffffffffffffffffff1614806109465750610945816109406117c7565b6111da565b5b610985576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161097c906136e6565b60405180910390fd5b61098f83836117cf565b505050565b6000600a80549050905090565b6109a9611888565b60008211156109ba57816011819055505b60008111156109cb57806013819055505b5050565b6109e06109da6117c7565b82611906565b610a1f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a1690613778565b60405180910390fd5b610a2a83838361199b565b505050565b6000600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231836040518263ffffffff1660e01b8152600401610a8c9190613096565b602060405180830381865afa158015610aa9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610acd91906137ad565b9050919050565b610adc611888565b80600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000610b2b83610d70565b8210610b6c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b639061384c565b60405180910390fd5b600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002054905092915050565b610be08383836040518060200160405280600081525061101c565b505050565b60135481565b6000610bf5610994565b8210610c36576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c2d906138de565b60405180910390fd5b600a8281548110610c4a57610c496138fe565b5b90600052602060002001549050919050565b60158054610c69906135b1565b80601f0160208091040260200160405190810160405280929190818152602001828054610c95906135b1565b8015610ce25780601f10610cb757610100808354040283529160200191610ce2565b820191906000526020600020905b815481529060010190602001808311610cc557829003601f168201915b505050505081565b600080610cf683611c94565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610d67576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d5e90613979565b60405180910390fd5b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610de0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dd790613a0b565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610e2f611888565b610e396000611cd1565b565b610e43611888565b80600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b610e8f611888565b80600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b601660009054906101000a900460ff1681565b610eee611888565b610ef88282611d97565b5050565b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60105481565b610f34611888565b8060149080519060200190610f4a929190612dc5565b5050565b606060018054610f5d906135b1565b80601f0160208091040260200160405190810160405280929190818152602001828054610f89906135b1565b8015610fd65780601f10610fab57610100808354040283529160200191610fd6565b820191906000526020600020905b815481529060010190602001808311610fb957829003601f168201915b5050505050905090565b610ff2610feb6117c7565b8383611dd7565b5050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61102d6110276117c7565b83611906565b61106c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161106390613778565b60405180910390fd5b61107884848484611f43565b50505050565b606061108982611f9f565b6110c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110bf90613a9d565b60405180910390fd5b60006110d2611fe0565b905060008151116110f25760405180602001604052806000815250611120565b806110fc84612072565b601560405160200161111093929190613b8d565b6040516020818303038152906040525b915050919050565b600c8060000154905081565b60148054611141906135b1565b80601f016020809104026020016040519081016040528092919081815260200182805461116d906135b1565b80156111ba5780601f1061118f576101008083540402835291602001916111ba565b820191906000526020600020905b81548152906001019060200180831161119d57829003601f168201915b505050505081565b6111ca611888565b8060108190555050565b60125481565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b611276612140565b60011515601660009054906101000a900460ff161515146112cc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112c390613c0a565b60405180910390fd5b6000811180156112de57506011548111155b61131d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161131490613c76565b60405180910390fd5b600061132883610a2f565b9050600281101561136e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161136590613d08565b60405180910390fd5b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639dc29fac33846010546113bb9190613d57565b6040518363ffffffff1660e01b81526004016113d8929190613db1565b600060405180830381600087803b1580156113f257600080fd5b505af1158015611406573d6000803e3d6000fd5b50505050600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663dfbd9c7c84846040518363ffffffff1660e01b8152600401611467929190613db1565b600060405180830381600087803b15801561148157600080fd5b505af1158015611495573d6000803e3d6000fd5b505050506000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611508573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061152c91906137ad565b905060006001848361153e9190613dda565b6115489190613e0e565b905060008190505b8281116115fb57600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3088846040518463ffffffff1660e01b81526004016115b693929190613e64565b600060405180830381600087803b1580156115d057600080fd5b505af11580156115e4573d6000803e3d6000fd5b5050505080806115f390613e9b565b915050611550565b506116068585611d97565b83601260008282546116189190613e0e565b9250508190555050505061162a61218f565b5050565b611636611888565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036116a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161169c90613f55565b60405180910390fd5b6116ae81611cd1565b50565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60115481565b6116e5611888565b80601660006101000a81548160ff02191690831515021790555050565b60007f780e9d63000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480611775575061177482612199565b5b9050919050565b61178581611f9f565b6117c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117bb90613979565b60405180910390fd5b50565b600033905090565b816004600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff1661184283610cea565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6118906117c7565b73ffffffffffffffffffffffffffffffffffffffff166118ae610efc565b73ffffffffffffffffffffffffffffffffffffffff1614611904576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118fb90613fc1565b60405180910390fd5b565b60008061191283610cea565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480611954575061195381856111da565b5b8061199257508373ffffffffffffffffffffffffffffffffffffffff1661197a84610811565b73ffffffffffffffffffffffffffffffffffffffff16145b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff166119bb82610cea565b73ffffffffffffffffffffffffffffffffffffffff1614611a11576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a0890614053565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611a80576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a77906140e5565b60405180910390fd5b611a8d838383600161227b565b8273ffffffffffffffffffffffffffffffffffffffff16611aad82610cea565b73ffffffffffffffffffffffffffffffffffffffff1614611b03576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611afa90614053565b60405180910390fd5b6004600082815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055506001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4611c8f838383600161228d565b505050565b60006002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60005b81811015611dd257611dac600c612293565b611dbf83611dba600c6122a9565b6122b7565b8080611dca90613e9b565b915050611d9a565b505050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611e45576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e3c90614151565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051611f369190612f1c565b60405180910390a3505050565b611f4e84848461199b565b611f5a848484846124d4565b611f99576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f90906141e3565b60405180910390fd5b50505050565b60008073ffffffffffffffffffffffffffffffffffffffff16611fc183611c94565b73ffffffffffffffffffffffffffffffffffffffff1614159050919050565b606060148054611fef906135b1565b80601f016020809104026020016040519081016040528092919081815260200182805461201b906135b1565b80156120685780601f1061203d57610100808354040283529160200191612068565b820191906000526020600020905b81548152906001019060200180831161204b57829003601f168201915b5050505050905090565b6060600060016120818461265b565b01905060008167ffffffffffffffff8111156120a05761209f613211565b5b6040519080825280601f01601f1916602001820160405280156120d25781602001600182028036833780820191505090505b509050600082602001820190505b600115612135578080600190039150507f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a858161212957612128614203565b5b049450600085036120e0575b819350505050919050565b600260075403612185576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161217c9061427e565b60405180910390fd5b6002600781905550565b6001600781905550565b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061226457507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806122745750612273826127ae565b5b9050919050565b61228784848484612818565b50505050565b50505050565b6001816000016000828254019250508190555050565b600081600001549050919050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612326576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161231d906142ea565b60405180910390fd5b61232f81611f9f565b1561236f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161236690614356565b60405180910390fd5b61237d60008383600161227b565b61238681611f9f565b156123c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123bd90614356565b60405180910390fd5b6001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a46124d060008383600161228d565b5050565b60006124f58473ffffffffffffffffffffffffffffffffffffffff16612976565b1561264e578373ffffffffffffffffffffffffffffffffffffffff1663150b7a0261251e6117c7565b8786866040518563ffffffff1660e01b815260040161254094939291906143cb565b6020604051808303816000875af192505050801561257c57506040513d601f19601f82011682018060405250810190612579919061442c565b60015b6125fe573d80600081146125ac576040519150601f19603f3d011682016040523d82523d6000602084013e6125b1565b606091505b5060008151036125f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125ed906141e3565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050612653565b600190505b949350505050565b600080600090507a184f03e93ff9f4daa797ed6e38ed64bf6a1f01000000000000000083106126b9577a184f03e93ff9f4daa797ed6e38ed64bf6a1f01000000000000000083816126af576126ae614203565b5b0492506040810190505b6d04ee2d6d415b85acef810000000083106126f6576d04ee2d6d415b85acef810000000083816126ec576126eb614203565b5b0492506020810190505b662386f26fc10000831061272557662386f26fc10000838161271b5761271a614203565b5b0492506010810190505b6305f5e100831061274e576305f5e100838161274457612743614203565b5b0492506008810190505b612710831061277357612710838161276957612768614203565b5b0492506004810190505b60648310612796576064838161278c5761278b614203565b5b0492506002810190505b600a83106127a5576001810190505b80915050919050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b61282484848484612999565b6001811115612868576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161285f906144cb565b60405180910390fd5b6000829050600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16036128af576128aa81612abf565b6128ee565b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16146128ed576128ec8582612b08565b5b5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036129305761292b81612c75565b61296f565b8473ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161461296e5761296d8482612d46565b5b5b5050505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b6001811115612ab957600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614612a2d5780600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612a259190613dda565b925050819055505b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614612ab85780600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612ab09190613e0e565b925050819055505b5b50505050565b600a80549050600b600083815260200190815260200160002081905550600a81908060018154018082558091505060019003906000526020600020016000909190919091505550565b60006001612b1584610d70565b612b1f9190613dda565b9050600060096000848152602001908152602001600020549050818114612c04576000600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002054905080600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002081905550816009600083815260200190815260200160002081905550505b6009600084815260200190815260200160002060009055600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008381526020019081526020016000206000905550505050565b60006001600a80549050612c899190613dda565b90506000600b60008481526020019081526020016000205490506000600a8381548110612cb957612cb86138fe565b5b9060005260206000200154905080600a8381548110612cdb57612cda6138fe565b5b906000526020600020018190555081600b600083815260200190815260200160002081905550600b600085815260200190815260200160002060009055600a805480612d2a57612d296144eb565b5b6001900381819060005260206000200160009055905550505050565b6000612d5183610d70565b905081600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002081905550806009600084815260200190815260200160002081905550505050565b828054612dd1906135b1565b90600052602060002090601f016020900481019282612df35760008555612e3a565b82601f10612e0c57805160ff1916838001178555612e3a565b82800160010185558215612e3a579182015b82811115612e39578251825591602001919060010190612e1e565b5b509050612e479190612e4b565b5090565b5b80821115612e64576000816000905550600101612e4c565b5090565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b612eb181612e7c565b8114612ebc57600080fd5b50565b600081359050612ece81612ea8565b92915050565b600060208284031215612eea57612ee9612e72565b5b6000612ef884828501612ebf565b91505092915050565b60008115159050919050565b612f1681612f01565b82525050565b6000602082019050612f316000830184612f0d565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612f71578082015181840152602081019050612f56565b83811115612f80576000848401525b50505050565b6000601f19601f8301169050919050565b6000612fa282612f37565b612fac8185612f42565b9350612fbc818560208601612f53565b612fc581612f86565b840191505092915050565b60006020820190508181036000830152612fea8184612f97565b905092915050565b6000819050919050565b61300581612ff2565b811461301057600080fd5b50565b60008135905061302281612ffc565b92915050565b60006020828403121561303e5761303d612e72565b5b600061304c84828501613013565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061308082613055565b9050919050565b61309081613075565b82525050565b60006020820190506130ab6000830184613087565b92915050565b6130ba81613075565b81146130c557600080fd5b50565b6000813590506130d7816130b1565b92915050565b600080604083850312156130f4576130f3612e72565b5b6000613102858286016130c8565b925050602061311385828601613013565b9150509250929050565b61312681612ff2565b82525050565b6000602082019050613141600083018461311d565b92915050565b6000806040838503121561315e5761315d612e72565b5b600061316c85828601613013565b925050602061317d85828601613013565b9150509250929050565b6000806000606084860312156131a05761319f612e72565b5b60006131ae868287016130c8565b93505060206131bf868287016130c8565b92505060406131d086828701613013565b9150509250925092565b6000602082840312156131f0576131ef612e72565b5b60006131fe848285016130c8565b91505092915050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61324982612f86565b810181811067ffffffffffffffff8211171561326857613267613211565b5b80604052505050565b600061327b612e68565b90506132878282613240565b919050565b600067ffffffffffffffff8211156132a7576132a6613211565b5b6132b082612f86565b9050602081019050919050565b82818337600083830152505050565b60006132df6132da8461328c565b613271565b9050828152602081018484840111156132fb576132fa61320c565b5b6133068482856132bd565b509392505050565b600082601f83011261332357613322613207565b5b81356133338482602086016132cc565b91505092915050565b60006020828403121561335257613351612e72565b5b600082013567ffffffffffffffff8111156133705761336f612e77565b5b61337c8482850161330e565b91505092915050565b61338e81612f01565b811461339957600080fd5b50565b6000813590506133ab81613385565b92915050565b600080604083850312156133c8576133c7612e72565b5b60006133d6858286016130c8565b92505060206133e78582860161339c565b9150509250929050565b600067ffffffffffffffff82111561340c5761340b613211565b5b61341582612f86565b9050602081019050919050565b6000613435613430846133f1565b613271565b9050828152602081018484840111156134515761345061320c565b5b61345c8482856132bd565b509392505050565b600082601f83011261347957613478613207565b5b8135613489848260208601613422565b91505092915050565b600080600080608085870312156134ac576134ab612e72565b5b60006134ba878288016130c8565b94505060206134cb878288016130c8565b93505060406134dc87828801613013565b925050606085013567ffffffffffffffff8111156134fd576134fc612e77565b5b61350987828801613464565b91505092959194509250565b6000806040838503121561352c5761352b612e72565b5b600061353a858286016130c8565b925050602061354b858286016130c8565b9150509250929050565b60006020828403121561356b5761356a612e72565b5b60006135798482850161339c565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806135c957607f821691505b6020821081036135dc576135db613582565b5b50919050565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b600061363e602183612f42565b9150613649826135e2565b604082019050919050565b6000602082019050818103600083015261366d81613631565b9050919050565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60008201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000602082015250565b60006136d0603d83612f42565b91506136db82613674565b604082019050919050565b600060208201905081810360008301526136ff816136c3565b9050919050565b7f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560008201527f72206f7220617070726f76656400000000000000000000000000000000000000602082015250565b6000613762602d83612f42565b915061376d82613706565b604082019050919050565b6000602082019050818103600083015261379181613755565b9050919050565b6000815190506137a781612ffc565b92915050565b6000602082840312156137c3576137c2612e72565b5b60006137d184828501613798565b91505092915050565b7f455243373231456e756d657261626c653a206f776e657220696e646578206f7560008201527f74206f6620626f756e6473000000000000000000000000000000000000000000602082015250565b6000613836602b83612f42565b9150613841826137da565b604082019050919050565b6000602082019050818103600083015261386581613829565b9050919050565b7f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60008201527f7574206f6620626f756e64730000000000000000000000000000000000000000602082015250565b60006138c8602c83612f42565b91506138d38261386c565b604082019050919050565b600060208201905081810360008301526138f7816138bb565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4552433732313a20696e76616c696420746f6b656e2049440000000000000000600082015250565b6000613963601883612f42565b915061396e8261392d565b602082019050919050565b6000602082019050818103600083015261399281613956565b9050919050565b7f4552433732313a2061646472657373207a65726f206973206e6f74206120766160008201527f6c6964206f776e65720000000000000000000000000000000000000000000000602082015250565b60006139f5602983612f42565b9150613a0082613999565b604082019050919050565b60006020820190508181036000830152613a24816139e8565b9050919050565b7f4552433732314d657461646174613a20717565727920666f72206e6f6e65786960008201527f7374656e7420746f6b656e000000000000000000000000000000000000000000602082015250565b6000613a87602b83612f42565b9150613a9282613a2b565b604082019050919050565b60006020820190508181036000830152613ab681613a7a565b9050919050565b600081905092915050565b6000613ad382612f37565b613add8185613abd565b9350613aed818560208601612f53565b80840191505092915050565b60008190508160005260206000209050919050565b60008154613b1b816135b1565b613b258186613abd565b94506001821660008114613b405760018114613b5157613b84565b60ff19831686528186019350613b84565b613b5a85613af9565b60005b83811015613b7c57815481890152600182019150602081019050613b5d565b838801955050505b50505092915050565b6000613b998286613ac8565b9150613ba58285613ac8565b9150613bb18284613b0e565b9150819050949350505050565b7f4272656564696e67206973206e6f742061637469766500000000000000000000600082015250565b6000613bf4601683612f42565b9150613bff82613bbe565b602082019050919050565b60006020820190508181036000830152613c2381613be7565b9050919050565b7f496e76616c6964206d696e7420616d6f756e7421000000000000000000000000600082015250565b6000613c60601483612f42565b9150613c6b82613c2a565b602082019050919050565b60006020820190508181036000830152613c8f81613c53565b9050919050565b7f596f752073686f756c6420686f6c642061746c6561737420322050756e6b732060008201527f4e46540000000000000000000000000000000000000000000000000000000000602082015250565b6000613cf2602383612f42565b9150613cfd82613c96565b604082019050919050565b60006020820190508181036000830152613d2181613ce5565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000613d6282612ff2565b9150613d6d83612ff2565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615613da657613da5613d28565b5b828202905092915050565b6000604082019050613dc66000830185613087565b613dd3602083018461311d565b9392505050565b6000613de582612ff2565b9150613df083612ff2565b925082821015613e0357613e02613d28565b5b828203905092915050565b6000613e1982612ff2565b9150613e2483612ff2565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115613e5957613e58613d28565b5b828201905092915050565b6000606082019050613e796000830186613087565b613e866020830185613087565b613e93604083018461311d565b949350505050565b6000613ea682612ff2565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203613ed857613ed7613d28565b5b600182019050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000613f3f602683612f42565b9150613f4a82613ee3565b604082019050919050565b60006020820190508181036000830152613f6e81613f32565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000613fab602083612f42565b9150613fb682613f75565b602082019050919050565b60006020820190508181036000830152613fda81613f9e565b9050919050565b7f4552433732313a207472616e736665722066726f6d20696e636f72726563742060008201527f6f776e6572000000000000000000000000000000000000000000000000000000602082015250565b600061403d602583612f42565b915061404882613fe1565b604082019050919050565b6000602082019050818103600083015261406c81614030565b9050919050565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006140cf602483612f42565b91506140da82614073565b604082019050919050565b600060208201905081810360008301526140fe816140c2565b9050919050565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b600061413b601983612f42565b915061414682614105565b602082019050919050565b6000602082019050818103600083015261416a8161412e565b9050919050565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b60006141cd603283612f42565b91506141d882614171565b604082019050919050565b600060208201905081810360008301526141fc816141c0565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00600082015250565b6000614268601f83612f42565b915061427382614232565b602082019050919050565b600060208201905081810360008301526142978161425b565b9050919050565b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b60006142d4602083612f42565b91506142df8261429e565b602082019050919050565b60006020820190508181036000830152614303816142c7565b9050919050565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b6000614340601c83612f42565b915061434b8261430a565b602082019050919050565b6000602082019050818103600083015261436f81614333565b9050919050565b600081519050919050565b600082825260208201905092915050565b600061439d82614376565b6143a78185614381565b93506143b7818560208601612f53565b6143c081612f86565b840191505092915050565b60006080820190506143e06000830187613087565b6143ed6020830186613087565b6143fa604083018561311d565b818103606083015261440c8184614392565b905095945050505050565b60008151905061442681612ea8565b92915050565b60006020828403121561444257614441612e72565b5b600061445084828501614417565b91505092915050565b7f455243373231456e756d657261626c653a20636f6e736563757469766520747260008201527f616e7366657273206e6f7420737570706f727465640000000000000000000000602082015250565b60006144b5603583612f42565b91506144c082614459565b604082019050919050565b600060208201905081810360008301526144e4816144a8565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fdfea2646970667358221220f6b084764ab6a9bf637240ba3e125b4dbfad028894e3f4a87c68c9cfcf5cbb4d64736f6c634300080e003300000000000000000000000000000000000000000000000000000000000000800000000000000000000000008f29e845cf312627fbee7e4e1b0cc038ff19dea2000000000000000000000000830ddee8f48e183e6b490cf22e10f958fc25ef39000000000000000000000000c581cc4582abd5aa4ab5b6d1f27f71d13518c9dd000000000000000000000000000000000000000000000000000000000000006c68747470733a2f2f62616679626569653468657762376735656137766f6d646b793676616c776a776a78636c353364766d6767357236736a646467676464367a7a6e612e697066732e647765622e6c696e6b2f6c7963616e735f6d657461646174615f73687566666c65642f0000000000000000000000000000000000000000