Overview ERC1155
Total Supply:
0

Profile Summary
Blockchain:
XANA-CHAIN (8888)

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

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
No

Created At:
Thu, 30 Mar 2023 06:17:40 GMT
NFTDuelFacet.sol
NFTDuelFacet.sol
NFTDuelFacet.sol


Contract ABI
[
  {
    "inputs": [],
    "stateMutability": "nonpayable",
    "type": "constructor"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "address",
        "name": "account",
        "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": false,
        "internalType": "address",
        "name": "account",
        "type": "address"
      }
    ],
    "name": "Paused",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "bytes32",
        "name": "role",
        "type": "bytes32"
      },
      {
        "indexed": true,
        "internalType": "bytes32",
        "name": "previousAdminRole",
        "type": "bytes32"
      },
      {
        "indexed": true,
        "internalType": "bytes32",
        "name": "newAdminRole",
        "type": "bytes32"
      }
    ],
    "name": "RoleAdminChanged",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "bytes32",
        "name": "role",
        "type": "bytes32"
      },
      {
        "indexed": true,
        "internalType": "address",
        "name": "account",
        "type": "address"
      },
      {
        "indexed": true,
        "internalType": "address",
        "name": "sender",
        "type": "address"
      }
    ],
    "name": "RoleGranted",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "bytes32",
        "name": "role",
        "type": "bytes32"
      },
      {
        "indexed": true,
        "internalType": "address",
        "name": "account",
        "type": "address"
      },
      {
        "indexed": true,
        "internalType": "address",
        "name": "sender",
        "type": "address"
      }
    ],
    "name": "RoleRevoked",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "address",
        "name": "operator",
        "type": "address"
      },
      {
        "indexed": true,
        "internalType": "address",
        "name": "from",
        "type": "address"
      },
      {
        "indexed": true,
        "internalType": "address",
        "name": "to",
        "type": "address"
      },
      {
        "indexed": false,
        "internalType": "uint256[]",
        "name": "ids",
        "type": "uint256[]"
      },
      {
        "indexed": false,
        "internalType": "uint256[]",
        "name": "values",
        "type": "uint256[]"
      }
    ],
    "name": "TransferBatch",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "address",
        "name": "operator",
        "type": "address"
      },
      {
        "indexed": true,
        "internalType": "address",
        "name": "from",
        "type": "address"
      },
      {
        "indexed": true,
        "internalType": "address",
        "name": "to",
        "type": "address"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "id",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "value",
        "type": "uint256"
      }
    ],
    "name": "TransferSingle",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": false,
        "internalType": "string",
        "name": "value",
        "type": "string"
      },
      {
        "indexed": true,
        "internalType": "uint256",
        "name": "id",
        "type": "uint256"
      }
    ],
    "name": "URI",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": false,
        "internalType": "address",
        "name": "account",
        "type": "address"
      }
    ],
    "name": "Unpaused",
    "type": "event"
  },
  {
    "inputs": [],
    "name": "DEFAULT_ADMIN_ROLE",
    "outputs": [
      {
        "internalType": "bytes32",
        "name": "",
        "type": "bytes32"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "MINTER_ROLE",
    "outputs": [
      {
        "internalType": "bytes32",
        "name": "",
        "type": "bytes32"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "account",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "id",
        "type": "uint256"
      }
    ],
    "name": "balanceOf",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address[]",
        "name": "accounts",
        "type": "address[]"
      },
      {
        "internalType": "uint256[]",
        "name": "ids",
        "type": "uint256[]"
      }
    ],
    "name": "balanceOfBatch",
    "outputs": [
      {
        "internalType": "uint256[]",
        "name": "",
        "type": "uint256[]"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "account",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "id",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "value",
        "type": "uint256"
      }
    ],
    "name": "burn",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "account",
        "type": "address"
      },
      {
        "internalType": "uint256[]",
        "name": "ids",
        "type": "uint256[]"
      },
      {
        "internalType": "uint256[]",
        "name": "values",
        "type": "uint256[]"
      }
    ],
    "name": "burnBatch",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "bytes32",
        "name": "role",
        "type": "bytes32"
      }
    ],
    "name": "getRoleAdmin",
    "outputs": [
      {
        "internalType": "bytes32",
        "name": "",
        "type": "bytes32"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "_user",
        "type": "address"
      }
    ],
    "name": "getTokensByOwner",
    "outputs": [
      {
        "internalType": "uint256[]",
        "name": "",
        "type": "uint256[]"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "bytes32",
        "name": "role",
        "type": "bytes32"
      },
      {
        "internalType": "address",
        "name": "account",
        "type": "address"
      }
    ],
    "name": "grantRole",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "bytes32",
        "name": "role",
        "type": "bytes32"
      },
      {
        "internalType": "address",
        "name": "account",
        "type": "address"
      }
    ],
    "name": "hasRole",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "initialize",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "account",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "operator",
        "type": "address"
      }
    ],
    "name": "isApprovedForAll",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "account",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "id",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "amount",
        "type": "uint256"
      },
      {
        "internalType": "bytes",
        "name": "data",
        "type": "bytes"
      }
    ],
    "name": "mint",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "to",
        "type": "address"
      },
      {
        "internalType": "uint256[]",
        "name": "ids",
        "type": "uint256[]"
      },
      {
        "internalType": "uint256[]",
        "name": "amounts",
        "type": "uint256[]"
      },
      {
        "internalType": "bytes",
        "name": "data",
        "type": "bytes"
      }
    ],
    "name": "mintBatch",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "pause",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "paused",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "bytes32",
        "name": "role",
        "type": "bytes32"
      },
      {
        "internalType": "address",
        "name": "account",
        "type": "address"
      }
    ],
    "name": "renounceRole",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "bytes32",
        "name": "role",
        "type": "bytes32"
      },
      {
        "internalType": "address",
        "name": "account",
        "type": "address"
      }
    ],
    "name": "revokeRole",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "from",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "to",
        "type": "address"
      },
      {
        "internalType": "uint256[]",
        "name": "ids",
        "type": "uint256[]"
      },
      {
        "internalType": "uint256[]",
        "name": "amounts",
        "type": "uint256[]"
      },
      {
        "internalType": "bytes",
        "name": "data",
        "type": "bytes"
      }
    ],
    "name": "safeBatchTransferFrom",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "from",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "to",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "id",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "amount",
        "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": "newuri",
        "type": "string"
      }
    ],
    "name": "setURI",
    "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": "unpause",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "name": "uri",
    "outputs": [
      {
        "internalType": "string",
        "name": "",
        "type": "string"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  }
]


Contract Creation Code
60806040523480156200001157600080fd5b506040518060400160405280600781526020017f4e46544475656c000000000000000000000000000000000000000000000000008152506200005981620000c160201b60201c565b5060008060006101000a81548160ff021916908315150217905550620000896000801b33620000ed60201b60201c565b620000bb7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a633620000ed60201b60201c565b62000635565b6000620000d3620001f660201b60201c565b905081816005019081620000e891906200054e565b505050565b6000620000ff6200022360201b60201c565b90506200011383836200025060201b60201c565b620001f157600181600001600085815260200190815260200160002060000160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555062000196620002cc60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b505050565b6000807ffeffaec5312afdafc3b8fb7c85361e6d0462807200cbd1283769da4134fa8d0b90508091505090565b6000807fb1f71c0ba2ec939f106d7d4b15b1d8fd0d205b821e122ec2649edf3533a8ea8690508091505090565b6000620002626200022360201b60201c565b600001600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b600033905090565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200035657607f821691505b6020821081036200036c576200036b6200030e565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620003d67fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000397565b620003e2868362000397565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b60006200042f620004296200042384620003fa565b62000404565b620003fa565b9050919050565b6000819050919050565b6200044b836200040e565b620004636200045a8262000436565b848454620003a4565b825550505050565b600090565b6200047a6200046b565b6200048781848462000440565b505050565b5b81811015620004af57620004a360008262000470565b6001810190506200048d565b5050565b601f821115620004fe57620004c88162000372565b620004d38462000387565b81016020851015620004e3578190505b620004fb620004f28562000387565b8301826200048c565b50505b505050565b600082821c905092915050565b6000620005236000198460080262000503565b1980831691505092915050565b60006200053e838362000510565b9150826002028217905092915050565b6200055982620002d4565b67ffffffffffffffff811115620005755762000574620002df565b5b6200058182546200033d565b6200058e828285620004b3565b600060209050601f831160018114620005c65760008415620005b1578287015190505b620005bd858262000530565b8655506200062d565b601f198416620005d68662000372565b60005b828110156200060057848901518255600182019150602085019450602081019050620005d9565b868310156200062057848901516200061c601f89168262000510565b8355505b6001600288020188555050505b505050505050565b6152e780620006456000396000f3fe608060405234801561001057600080fd5b50600436106101725760003560e01c80635c975abb116100de578063a217fddf11610097578063d547741f11610071578063d547741f1461041f578063e985e9c51461043b578063f242432a1461046b578063f5298aca1461048757610172565b8063a217fddf146103c7578063a22cb465146103e5578063d53913931461040157610172565b80635c975abb1461032d5780636b20c4541461034b578063731133e9146103675780638129fc1c146103835780638456cb591461038d57806391d148541461039757610172565b80632eb2c2d6116101305780632eb2c2d61461026f5780632f2ff15d1461028b57806336568abe146102a75780633f4ba83a146102c357806340398d67146102cd5780634e1273f4146102fd57610172565b8062fdd58e1461017757806301ffc9a7146101a757806302fe5305146101d75780630e89341c146101f35780631f7fdffa14610223578063248a9ca31461023f575b600080fd5b610191600480360381019061018c9190613533565b6104a3565b60405161019e9190613582565b60405180910390f35b6101c160048036038101906101bc91906135f5565b610575565b6040516101ce919061363d565b60405180910390f35b6101f160048036038101906101ec919061379e565b610587565b005b61020d600480360381019061020891906137e7565b6105a1565b60405161021a9190613893565b60405180910390f35b61023d60048036038101906102389190613a1e565b61063e565b005b61025960048036038101906102549190613b0f565b61067b565b6040516102669190613b4b565b60405180910390f35b61028960048036038101906102849190613b66565b6106a4565b005b6102a560048036038101906102a09190613c35565b6107ad565b005b6102c160048036038101906102bc9190613c35565b6107ce565b005b6102cb610851565b005b6102e760048036038101906102e29190613c75565b610869565b6040516102f49190613d60565b60405180910390f35b61031760048036038101906103129190613e45565b61087b565b6040516103249190613d60565b60405180910390f35b610335610994565b604051610342919061363d565b60405180910390f35b61036560048036038101906103609190613ebd565b6109aa565b005b610381600480360381019061037c9190613f48565b610a47565b005b61038b610a84565b005b610395610b8a565b005b6103b160048036038101906103ac9190613c35565b610ba2565b6040516103be919061363d565b60405180910390f35b6103cf610c16565b6040516103dc9190613b4b565b60405180910390f35b6103ff60048036038101906103fa9190613ff7565b610c1d565b005b610409610c33565b6040516104169190613b4b565b60405180910390f35b61043960048036038101906104349190613c35565b610c57565b005b61045560048036038101906104509190614037565b610c78565b604051610462919061363d565b60405180910390f35b61048560048036038101906104809190614077565b610d15565b005b6104a1600480360381019061049c919061410e565b610dca565b005b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610513576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161050a906141d3565b60405180910390fd5b61051b610e67565b600001600083815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600061058082610e94565b9050919050565b6000801b61059481610f0e565b61059d82610f22565b5050565b60606105ab610e67565b60050180546105b990614222565b80601f01602080910402602001604051908101604052809291908181526020018280546105e590614222565b80156106325780601f1061060757610100808354040283529160200191610632565b820191906000526020600020905b81548152906001019060200180831161061557829003601f168201915b50505050509050919050565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a661066881610f0e565b61067485858585610f44565b5050505050565b60006106856111c4565b6000016000838152602001908152602001600020600101549050919050565b6106ac6111f1565b73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614806106f257506106f1856106ec6111f1565b610c78565b5b610731576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610728906142c5565b60405180910390fd5b61073e85858585856111f9565b60005b83518110156107a55761076e85858381518110610761576107606142e5565b5b6020026020010151611598565b61079286858381518110610785576107846142e5565b5b6020026020010151611598565b808061079d90614343565b915050610741565b505050505050565b6107b68261067b565b6107bf81610f0e565b6107c98383611c3b565b505050565b6107d66111f1565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610843576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161083a906143fd565b60405180910390fd5b61084d8282611d2b565b5050565b6000801b61085e81610f0e565b610866611e1c565b50565b606061087482611e7e565b9050919050565b606081518351146108c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108b89061448f565b60405180910390fd5b6000835167ffffffffffffffff8111156108de576108dd613673565b5b60405190808252806020026020018201604052801561090c5781602001602082028036833780820191505090505b50905060005b845181101561098957610959858281518110610931576109306142e5565b5b602002602001015185838151811061094c5761094b6142e5565b5b60200260200101516104a3565b82828151811061096c5761096b6142e5565b5b6020026020010181815250508061098290614343565b9050610912565b508091505092915050565b60008060009054906101000a900460ff16905090565b6109b26111f1565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614806109f857506109f7836109f26111f1565b610c78565b5b610a37576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a2e906142c5565b60405180910390fd5b610a42838383611f24565b505050565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6610a7181610f0e565b610a7d85858585612249565b5050505050565b6000610a8e612413565b9050600115158160000160009054906101000a900460ff16151503610ae8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610adf906144fb565b60405180910390fd5b610af56000801b33611c3b565b610b1f7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a633611c3b565b610b5d6040518060400160405280601a81526020017f68747470733a2f2f6e66746475656c2e6e65742f746f6b656e2f000000000000815250610587565b6000610b67612413565b905060018160000160006101000a81548160ff0219169083151502179055505050565b6000801b610b9781610f0e565b610b9f612440565b50565b6000610bac6111c4565b600001600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6000801b81565b610c2f610c286111f1565b83836124a2565b5050565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a681565b610c608261067b565b610c6981610f0e565b610c738383611d2b565b505050565b6000610c82610e67565b60010160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b610d1d6111f1565b73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161480610d635750610d6285610d5d6111f1565b610c78565b5b610da2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d99906142c5565b60405180910390fd5b610daf858585858561261d565b610db98484611598565b610dc38584611598565b5050505050565b610dd26111f1565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480610e185750610e1783610e126111f1565b610c78565b5b610e57576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e4e906142c5565b60405180910390fd5b610e628383836128e2565b505050565b6000807ffeffaec5312afdafc3b8fb7c85361e6d0462807200cbd1283769da4134fa8d0b90508091505090565b60007f7965db0b000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610f075750610f0682612b45565b5b9050919050565b610f1f81610f1a6111f1565b612c27565b50565b6000610f2c610e67565b905081816005019081610f3f91906146c7565b505050565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603610fb3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610faa9061480b565b60405180910390fd5b8151835114610ff7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fee9061489d565b60405180910390fd5b6000611001610e67565b9050600061100d6111f1565b905061101e81600088888888612cac565b60005b85518110156110da5784818151811061103d5761103c6142e5565b5b602002602001015183600001600088848151811061105e5761105d6142e5565b5b6020026020010151815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546110c091906148bd565b9250508190555080806110d290614343565b915050611021565b508573ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb88886040516111529291906148f1565b60405180910390a461116981600088888888612cca565b61117881600088888888612cd2565b60005b85518110156111bb576111a88787838151811061119b5761119a6142e5565b5b6020026020010151611598565b80806111b390614343565b91505061117b565b50505050505050565b6000807fb1f71c0ba2ec939f106d7d4b15b1d8fd0d205b821e122ec2649edf3533a8ea8690508091505090565b600033905090565b815183511461123d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112349061489d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036112ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112a39061499a565b60405180910390fd5b60006112b6610e67565b905060006112c26111f1565b90506112d2818888888888612cac565b60005b855181101561148c5760008682815181106112f3576112f26142e5565b5b602002602001015190506000868381518110611312576113116142e5565b5b60200260200101519050600085600001600084815260200190815260200160002060008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156113b6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113ad90614a2c565b60405180910390fd5b81810386600001600085815260200190815260200160002060008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508186600001600085815260200190815260200160002060008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461147191906148bd565b925050819055505050508061148590614343565b90506112d5565b508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb88886040516115039291906148f1565b60405180910390a4611519818888888888612cca565b611527818888888888612cd2565b60005b855181101561158e576115578787838151811061154a576115496142e5565b5b6020026020010151611598565b61157b8887838151811061156e5761156d6142e5565b5b6020026020010151611598565b808061158690614343565b91505061152a565b5050505050505050565b60006115a2610e67565b9050600081600001600084815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411801561166357508060040160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002060009054906101000a900460ff16155b156117e7578060020160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002082908060018154018082558091505060019003906000526020600020016000909190919091505560018160020160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490506117219190614a4c565b8160030160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008481526020019081526020016000208190555060018160040160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002060006101000a81548160ff021916908315150217905550611c36565b600081600001600084815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054111580156118a657508060040160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002060009054906101000a900460ff165b15611c355760008160040160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002060006101000a81548160ff0219169083151502179055508060020160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060018260020160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490506119a89190614a4c565b815481106119b9576119b86142e5565b5b90600052602060002001548160020160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208260030160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008581526020019081526020016000205481548110611a6957611a686142e5565b5b90600052602060002001819055508060030160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000838152602001908152602001600020548160030160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008360020160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060018560020160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080549050611b9f9190614a4c565b81548110611bb057611baf6142e5565b5b90600052602060002001548152602001908152602001600020819055508060020160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805480611c1e57611c1d614a80565b5b600190038181906000526020600020016000905590555b5b505050565b6000611c456111c4565b9050611c518383610ba2565b611d2657600181600001600085815260200190815260200160002060000160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550611ccb6111f1565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b505050565b6000611d356111c4565b9050611d418383610ba2565b15611e1757600081600001600085815260200190815260200160002060000160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550611dbc6111f1565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16847ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45b505050565b611e24612ea9565b60008060006101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa611e676111f1565b604051611e749190614abe565b60405180910390a1565b60606000611e8a610e67565b90508060020160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805480602002602001604051908101604052809291908181526020018280548015611f1757602002820191906000526020600020905b815481526020019060010190808311611f03575b5050505050915050919050565b6000611f2e610e67565b9050600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603611f9f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f9690614b4b565b60405180910390fd5b8151835114611fe3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fda9061489d565b60405180910390fd5b6000611fed6111f1565b905061200d81866000878760405180602001604052806000815250612cac565b60005b845181101561216057600085828151811061202e5761202d6142e5565b5b60200260200101519050600085838151811061204d5761204c6142e5565b5b60200260200101519050600085600001600084815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156120f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120e890614bdd565b60405180910390fd5b81810386600001600085815260200190815260200160002060008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050808061215890614343565b915050612010565b50600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb87876040516121d89291906148f1565b60405180910390a46121fe81866000878760405180602001604052806000815250612cca565b60005b84518110156122415761222e86868381518110612221576122206142e5565b5b6020026020010151611598565b808061223990614343565b915050612201565b505050505050565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036122b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122af9061480b565b60405180910390fd5b60006122c2610e67565b905060006122ce6111f1565b905060006122db86612ef2565b905060006122e886612ef2565b90506122f98360008a85858a612cac565b8584600001600089815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461235b91906148bd565b925050819055508773ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f628a8a6040516123d9929190614bfd565b60405180910390a46123f08360008a85858a612cca565b6123ff8360008a8a8a8a612f6c565b6124098888611598565b5050505050505050565b6000807faeb043e2a8111212f1c09ca2632f2801ead1528ff2639da5ccfcfef86aebdb7190508091505090565b612448613143565b60016000806101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25861248b6111f1565b6040516124989190614abe565b60405180910390a1565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612510576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161250790614c98565b60405180910390fd5b600061251a610e67565b9050818160010160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c318460405161260f919061363d565b60405180910390a350505050565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff160361268c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126839061499a565b60405180910390fd5b6000612696610e67565b905060006126a26111f1565b905060006126af86612ef2565b905060006126bc86612ef2565b90506126cc838a8a85858a612cac565b600084600001600089815260200190815260200160002060008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905086811015612766576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161275d90614a2c565b60405180910390fd5b8681038560000160008a815260200190815260200160002060008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550868560000160008a815260200190815260200160002060008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461282191906148bd565b925050819055508873ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f628b8b60405161289e929190614bfd565b60405180910390a46128b4848b8b86868b612cca565b6128c2848b8b8b8b8b612f6c565b6128cc8989611598565b6128d68a89611598565b50505050505050505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612951576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161294890614b4b565b60405180910390fd5b600061295b610e67565b905060006129676111f1565b9050600061297485612ef2565b9050600061298185612ef2565b90506129a183886000858560405180602001604052806000815250612cac565b600084600001600088815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905085811015612a3b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a3290614bdd565b60405180910390fd5b85810385600001600089815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f628a8a604051612b0b929190614bfd565b60405180910390a4612b3184896000868660405180602001604052806000815250612cca565b612b3b8888611598565b5050505050505050565b60007fd9b67a26000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480612c1057507f0e89341c000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80612c205750612c1f8261318d565b5b9050919050565b612c318282610ba2565b612ca857612c3e816131f7565b612c4c8360001c6020613224565b604051602001612c5d929190614d8c565b6040516020818303038152906040526040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c9f9190613893565b60405180910390fd5b5050565b612cb4613143565b612cc2868686868686613460565b505050505050565b505050505050565b612cf18473ffffffffffffffffffffffffffffffffffffffff16613468565b15612ea1578373ffffffffffffffffffffffffffffffffffffffff1663bc197c8187878686866040518663ffffffff1660e01b8152600401612d37959493929190614e1b565b6020604051808303816000875af1925050508015612d7357506040513d601f19601f82011682018060405250810190612d709190614e98565b60015b612e1857612d7f614ed2565b806308c379a003612ddb5750612d93614ef4565b80612d9e5750612ddd565b806040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612dd29190613893565b60405180910390fd5b505b6040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612e0f90614ff6565b60405180910390fd5b63bc197c8160e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614612e9f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612e9690615088565b60405180910390fd5b505b505050505050565b612eb1610994565b612ef0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ee7906150f4565b60405180910390fd5b565b60606000600167ffffffffffffffff811115612f1157612f10613673565b5b604051908082528060200260200182016040528015612f3f5781602001602082028036833780820191505090505b5090508281600081518110612f5757612f566142e5565b5b60200260200101818152505080915050919050565b612f8b8473ffffffffffffffffffffffffffffffffffffffff16613468565b1561313b578373ffffffffffffffffffffffffffffffffffffffff1663f23a6e6187878686866040518663ffffffff1660e01b8152600401612fd1959493929190615114565b6020604051808303816000875af192505050801561300d57506040513d601f19601f8201168201806040525081019061300a9190614e98565b60015b6130b257613019614ed2565b806308c379a003613075575061302d614ef4565b806130385750613077565b806040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161306c9190613893565b60405180910390fd5b505b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016130a990614ff6565b60405180910390fd5b63f23a6e6160e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614613139576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161313090615088565b60405180910390fd5b505b505050505050565b61314b610994565b1561318b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613182906151ba565b60405180910390fd5b565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b606061321d8273ffffffffffffffffffffffffffffffffffffffff16601460ff16613224565b9050919050565b60606000600283600261323791906151da565b61324191906148bd565b67ffffffffffffffff81111561325a57613259613673565b5b6040519080825280601f01601f19166020018201604052801561328c5781602001600182028036833780820191505090505b5090507f3000000000000000000000000000000000000000000000000000000000000000816000815181106132c4576132c36142e5565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f780000000000000000000000000000000000000000000000000000000000000081600181518110613328576133276142e5565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053506000600184600261336891906151da565b61337291906148bd565b90505b6001811115613412577f3031323334353637383961626364656600000000000000000000000000000000600f8616601081106133b4576133b36142e5565b5b1a60f81b8282815181106133cb576133ca6142e5565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600485901c94508061340b9061521c565b9050613375565b5060008414613456576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161344d90615291565b60405180910390fd5b8091505092915050565b505050505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006134ca8261349f565b9050919050565b6134da816134bf565b81146134e557600080fd5b50565b6000813590506134f7816134d1565b92915050565b6000819050919050565b613510816134fd565b811461351b57600080fd5b50565b60008135905061352d81613507565b92915050565b6000806040838503121561354a57613549613495565b5b6000613558858286016134e8565b92505060206135698582860161351e565b9150509250929050565b61357c816134fd565b82525050565b60006020820190506135976000830184613573565b92915050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6135d28161359d565b81146135dd57600080fd5b50565b6000813590506135ef816135c9565b92915050565b60006020828403121561360b5761360a613495565b5b6000613619848285016135e0565b91505092915050565b60008115159050919050565b61363781613622565b82525050565b6000602082019050613652600083018461362e565b92915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6136ab82613662565b810181811067ffffffffffffffff821117156136ca576136c9613673565b5b80604052505050565b60006136dd61348b565b90506136e982826136a2565b919050565b600067ffffffffffffffff82111561370957613708613673565b5b61371282613662565b9050602081019050919050565b82818337600083830152505050565b600061374161373c846136ee565b6136d3565b90508281526020810184848401111561375d5761375c61365d565b5b61376884828561371f565b509392505050565b600082601f83011261378557613784613658565b5b813561379584826020860161372e565b91505092915050565b6000602082840312156137b4576137b3613495565b5b600082013567ffffffffffffffff8111156137d2576137d161349a565b5b6137de84828501613770565b91505092915050565b6000602082840312156137fd576137fc613495565b5b600061380b8482850161351e565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561384e578082015181840152602081019050613833565b60008484015250505050565b600061386582613814565b61386f818561381f565b935061387f818560208601613830565b61388881613662565b840191505092915050565b600060208201905081810360008301526138ad818461385a565b905092915050565b600067ffffffffffffffff8211156138d0576138cf613673565b5b602082029050602081019050919050565b600080fd5b60006138f96138f4846138b5565b6136d3565b9050808382526020820190506020840283018581111561391c5761391b6138e1565b5b835b818110156139455780613931888261351e565b84526020840193505060208101905061391e565b5050509392505050565b600082601f83011261396457613963613658565b5b81356139748482602086016138e6565b91505092915050565b600067ffffffffffffffff82111561399857613997613673565b5b6139a182613662565b9050602081019050919050565b60006139c16139bc8461397d565b6136d3565b9050828152602081018484840111156139dd576139dc61365d565b5b6139e884828561371f565b509392505050565b600082601f830112613a0557613a04613658565b5b8135613a158482602086016139ae565b91505092915050565b60008060008060808587031215613a3857613a37613495565b5b6000613a46878288016134e8565b945050602085013567ffffffffffffffff811115613a6757613a6661349a565b5b613a738782880161394f565b935050604085013567ffffffffffffffff811115613a9457613a9361349a565b5b613aa08782880161394f565b925050606085013567ffffffffffffffff811115613ac157613ac061349a565b5b613acd878288016139f0565b91505092959194509250565b6000819050919050565b613aec81613ad9565b8114613af757600080fd5b50565b600081359050613b0981613ae3565b92915050565b600060208284031215613b2557613b24613495565b5b6000613b3384828501613afa565b91505092915050565b613b4581613ad9565b82525050565b6000602082019050613b606000830184613b3c565b92915050565b600080600080600060a08688031215613b8257613b81613495565b5b6000613b90888289016134e8565b9550506020613ba1888289016134e8565b945050604086013567ffffffffffffffff811115613bc257613bc161349a565b5b613bce8882890161394f565b935050606086013567ffffffffffffffff811115613bef57613bee61349a565b5b613bfb8882890161394f565b925050608086013567ffffffffffffffff811115613c1c57613c1b61349a565b5b613c28888289016139f0565b9150509295509295909350565b60008060408385031215613c4c57613c4b613495565b5b6000613c5a85828601613afa565b9250506020613c6b858286016134e8565b9150509250929050565b600060208284031215613c8b57613c8a613495565b5b6000613c99848285016134e8565b91505092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b613cd7816134fd565b82525050565b6000613ce98383613cce565b60208301905092915050565b6000602082019050919050565b6000613d0d82613ca2565b613d178185613cad565b9350613d2283613cbe565b8060005b83811015613d53578151613d3a8882613cdd565b9750613d4583613cf5565b925050600181019050613d26565b5085935050505092915050565b60006020820190508181036000830152613d7a8184613d02565b905092915050565b600067ffffffffffffffff821115613d9d57613d9c613673565b5b602082029050602081019050919050565b6000613dc1613dbc84613d82565b6136d3565b90508083825260208201905060208402830185811115613de457613de36138e1565b5b835b81811015613e0d5780613df988826134e8565b845260208401935050602081019050613de6565b5050509392505050565b600082601f830112613e2c57613e2b613658565b5b8135613e3c848260208601613dae565b91505092915050565b60008060408385031215613e5c57613e5b613495565b5b600083013567ffffffffffffffff811115613e7a57613e7961349a565b5b613e8685828601613e17565b925050602083013567ffffffffffffffff811115613ea757613ea661349a565b5b613eb38582860161394f565b9150509250929050565b600080600060608486031215613ed657613ed5613495565b5b6000613ee4868287016134e8565b935050602084013567ffffffffffffffff811115613f0557613f0461349a565b5b613f118682870161394f565b925050604084013567ffffffffffffffff811115613f3257613f3161349a565b5b613f3e8682870161394f565b9150509250925092565b60008060008060808587031215613f6257613f61613495565b5b6000613f70878288016134e8565b9450506020613f818782880161351e565b9350506040613f928782880161351e565b925050606085013567ffffffffffffffff811115613fb357613fb261349a565b5b613fbf878288016139f0565b91505092959194509250565b613fd481613622565b8114613fdf57600080fd5b50565b600081359050613ff181613fcb565b92915050565b6000806040838503121561400e5761400d613495565b5b600061401c858286016134e8565b925050602061402d85828601613fe2565b9150509250929050565b6000806040838503121561404e5761404d613495565b5b600061405c858286016134e8565b925050602061406d858286016134e8565b9150509250929050565b600080600080600060a0868803121561409357614092613495565b5b60006140a1888289016134e8565b95505060206140b2888289016134e8565b94505060406140c38882890161351e565b93505060606140d48882890161351e565b925050608086013567ffffffffffffffff8111156140f5576140f461349a565b5b614101888289016139f0565b9150509295509295909350565b60008060006060848603121561412757614126613495565b5b6000614135868287016134e8565b93505060206141468682870161351e565b92505060406141578682870161351e565b9150509250925092565b7f455243313135353a2061646472657373207a65726f206973206e6f742061207660008201527f616c6964206f776e657200000000000000000000000000000000000000000000602082015250565b60006141bd602a8361381f565b91506141c882614161565b604082019050919050565b600060208201905081810360008301526141ec816141b0565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061423a57607f821691505b60208210810361424d5761424c6141f3565b5b50919050565b7f455243313135353a2063616c6c6572206973206e6f7420746f6b656e206f776e60008201527f6572206f7220617070726f766564000000000000000000000000000000000000602082015250565b60006142af602e8361381f565b91506142ba82614253565b604082019050919050565b600060208201905081810360008301526142de816142a2565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061434e826134fd565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036143805761437f614314565b5b600182019050919050565b7f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560008201527f20726f6c657320666f722073656c660000000000000000000000000000000000602082015250565b60006143e7602f8361381f565b91506143f28261438b565b604082019050919050565b60006020820190508181036000830152614416816143da565b9050919050565b7f455243313135353a206163636f756e747320616e6420696473206c656e67746860008201527f206d69736d617463680000000000000000000000000000000000000000000000602082015250565b600061447960298361381f565b91506144848261441d565b604082019050919050565b600060208201905081810360008301526144a88161446c565b9050919050565b7f616c726561647920696e697469616c697a656400000000000000000000000000600082015250565b60006144e560138361381f565b91506144f0826144af565b602082019050919050565b60006020820190508181036000830152614514816144d8565b9050919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b60006008830261457d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82614540565b6145878683614540565b95508019841693508086168417925050509392505050565b6000819050919050565b60006145c46145bf6145ba846134fd565b61459f565b6134fd565b9050919050565b6000819050919050565b6145de836145a9565b6145f26145ea826145cb565b84845461454d565b825550505050565b600090565b6146076145fa565b6146128184846145d5565b505050565b5b818110156146365761462b6000826145ff565b600181019050614618565b5050565b601f82111561467b5761464c8161451b565b61465584614530565b81016020851015614664578190505b61467861467085614530565b830182614617565b50505b505050565b600082821c905092915050565b600061469e60001984600802614680565b1980831691505092915050565b60006146b7838361468d565b9150826002028217905092915050565b6146d082613814565b67ffffffffffffffff8111156146e9576146e8613673565b5b6146f38254614222565b6146fe82828561463a565b600060209050601f831160018114614731576000841561471f578287015190505b61472985826146ab565b865550614791565b601f19841661473f8661451b565b60005b8281101561476757848901518255600182019150602085019450602081019050614742565b868310156147845784890151614780601f89168261468d565b8355505b6001600288020188555050505b505050505050565b7f455243313135353a206d696e7420746f20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b60006147f560218361381f565b915061480082614799565b604082019050919050565b60006020820190508181036000830152614824816147e8565b9050919050565b7f455243313135353a2069647320616e6420616d6f756e7473206c656e6774682060008201527f6d69736d61746368000000000000000000000000000000000000000000000000602082015250565b600061488760288361381f565b91506148928261482b565b604082019050919050565b600060208201905081810360008301526148b68161487a565b9050919050565b60006148c8826134fd565b91506148d3836134fd565b92508282019050808211156148eb576148ea614314565b5b92915050565b6000604082019050818103600083015261490b8185613d02565b9050818103602083015261491f8184613d02565b90509392505050565b7f455243313135353a207472616e7366657220746f20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b600061498460258361381f565b915061498f82614928565b604082019050919050565b600060208201905081810360008301526149b381614977565b9050919050565b7f455243313135353a20696e73756666696369656e742062616c616e636520666f60008201527f72207472616e7366657200000000000000000000000000000000000000000000602082015250565b6000614a16602a8361381f565b9150614a21826149ba565b604082019050919050565b60006020820190508181036000830152614a4581614a09565b9050919050565b6000614a57826134fd565b9150614a62836134fd565b9250828203905081811115614a7a57614a79614314565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b614ab8816134bf565b82525050565b6000602082019050614ad36000830184614aaf565b92915050565b7f455243313135353a206275726e2066726f6d20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000614b3560238361381f565b9150614b4082614ad9565b604082019050919050565b60006020820190508181036000830152614b6481614b28565b9050919050565b7f455243313135353a206275726e20616d6f756e7420657863656564732062616c60008201527f616e636500000000000000000000000000000000000000000000000000000000602082015250565b6000614bc760248361381f565b9150614bd282614b6b565b604082019050919050565b60006020820190508181036000830152614bf681614bba565b9050919050565b6000604082019050614c126000830185613573565b614c1f6020830184613573565b9392505050565b7f455243313135353a2073657474696e6720617070726f76616c2073746174757360008201527f20666f722073656c660000000000000000000000000000000000000000000000602082015250565b6000614c8260298361381f565b9150614c8d82614c26565b604082019050919050565b60006020820190508181036000830152614cb181614c75565b9050919050565b600081905092915050565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000600082015250565b6000614cf9601783614cb8565b9150614d0482614cc3565b601782019050919050565b6000614d1a82613814565b614d248185614cb8565b9350614d34818560208601613830565b80840191505092915050565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000600082015250565b6000614d76601183614cb8565b9150614d8182614d40565b601182019050919050565b6000614d9782614cec565b9150614da38285614d0f565b9150614dae82614d69565b9150614dba8284614d0f565b91508190509392505050565b600081519050919050565b600082825260208201905092915050565b6000614ded82614dc6565b614df78185614dd1565b9350614e07818560208601613830565b614e1081613662565b840191505092915050565b600060a082019050614e306000830188614aaf565b614e3d6020830187614aaf565b8181036040830152614e4f8186613d02565b90508181036060830152614e638185613d02565b90508181036080830152614e778184614de2565b90509695505050505050565b600081519050614e92816135c9565b92915050565b600060208284031215614eae57614ead613495565b5b6000614ebc84828501614e83565b91505092915050565b60008160e01c9050919050565b600060033d1115614ef15760046000803e614eee600051614ec5565b90505b90565b600060443d10614f8157614f0661348b565b60043d036004823e80513d602482011167ffffffffffffffff82111715614f2e575050614f81565b808201805167ffffffffffffffff811115614f4c5750505050614f81565b80602083010160043d038501811115614f69575050505050614f81565b614f78826020018501866136a2565b82955050505050505b90565b7f455243313135353a207472616e7366657220746f206e6f6e2d4552433131353560008201527f526563656976657220696d706c656d656e746572000000000000000000000000602082015250565b6000614fe060348361381f565b9150614feb82614f84565b604082019050919050565b6000602082019050818103600083015261500f81614fd3565b9050919050565b7f455243313135353a204552433131353552656365697665722072656a6563746560008201527f6420746f6b656e73000000000000000000000000000000000000000000000000602082015250565b600061507260288361381f565b915061507d82615016565b604082019050919050565b600060208201905081810360008301526150a181615065565b9050919050565b7f5061757361626c653a206e6f7420706175736564000000000000000000000000600082015250565b60006150de60148361381f565b91506150e9826150a8565b602082019050919050565b6000602082019050818103600083015261510d816150d1565b9050919050565b600060a0820190506151296000830188614aaf565b6151366020830187614aaf565b6151436040830186613573565b6151506060830185613573565b81810360808301526151628184614de2565b90509695505050505050565b7f5061757361626c653a2070617573656400000000000000000000000000000000600082015250565b60006151a460108361381f565b91506151af8261516e565b602082019050919050565b600060208201905081810360008301526151d381615197565b9050919050565b60006151e5826134fd565b91506151f0836134fd565b92508282026151fe816134fd565b9150828204841483151761521557615214614314565b5b5092915050565b6000615227826134fd565b91506000820361523a57615239614314565b5b600182039050919050565b7f537472696e67733a20686578206c656e67746820696e73756666696369656e74600082015250565b600061527b60208361381f565b915061528682615245565b602082019050919050565b600060208201905081810360008301526152aa8161526e565b905091905056fea26469706673582212204322dc6b910fa2ae0b168f88b06c82ea23f3ebd4e9b5eb07f88cf089eed7812464736f6c63430008110033

Loading