aibc
Version:
AIBC contract to mint NFTs
505 lines • 1.18 MB
JSON
{
"contractName": "CryptoFace",
"abi": [
{
"inputs": [],
"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": "from",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "to",
"type": "address"
},
{
"indexed": true,
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
}
],
"name": "Transfer",
"type": "event"
},
{
"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",
"constant": true
},
{
"inputs": [
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
}
],
"name": "getApproved",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function",
"constant": true
},
{
"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",
"constant": true
},
{
"inputs": [],
"name": "name",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function",
"constant": true
},
{
"inputs": [
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
}
],
"name": "ownerOf",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function",
"constant": true
},
{
"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": "bytes4",
"name": "interfaceId",
"type": "bytes4"
}
],
"name": "supportsInterface",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function",
"constant": true
},
{
"inputs": [],
"name": "symbol",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function",
"constant": true
},
{
"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": "recipient",
"type": "address"
}
],
"name": "addRecipient",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "recipient",
"type": "address"
},
{
"internalType": "string",
"name": "hash",
"type": "string"
},
{
"internalType": "uint256",
"name": "price",
"type": "uint256"
}
],
"name": "facialItem",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
}
],
"name": "getPrice",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function",
"constant": true
},
{
"inputs": [
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
}
],
"name": "tokenURI",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function",
"constant": true
},
{
"inputs": [
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
}
],
"name": "getMyToken",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function",
"constant": true
},
{
"inputs": [
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
}
],
"name": "getTokenOthers",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function",
"constant": true
},
{
"inputs": [],
"name": "getOwnerList",
"outputs": [
{
"internalType": "address[]",
"name": "",
"type": "address[]"
}
],
"stateMutability": "view",
"type": "function",
"constant": true
},
{
"inputs": [],
"name": "getTokenList",
"outputs": [
{
"internalType": "uint256[]",
"name": "",
"type": "uint256[]"
}
],
"stateMutability": "view",
"type": "function",
"constant": true
},
{
"inputs": [
{
"internalType": "address",
"name": "_viewerAddress",
"type": "address"
}
],
"name": "getTokensOwner",
"outputs": [
{
"internalType": "uint256[]",
"name": "",
"type": "uint256[]"
}
],
"stateMutability": "view",
"type": "function",
"constant": true
}
],
"metadata": "{\"compiler\":{\"version\":\"0.8.0+commit.c7dfd78e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"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\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"}],\"name\":\"addRecipient\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"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\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"hash\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"price\",\"type\":\"uint256\"}],\"name\":\"facialItem\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getMyToken\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getOwnerList\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getPrice\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getTokenList\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getTokenOthers\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_viewerAddress\",\"type\":\"address\"}],\"name\":\"getTokensOwner\",\"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\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"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\":\"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\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"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\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"See {IERC721-approve}.\"},\"balanceOf(address)\":{\"details\":\"See {IERC721-balanceOf}.\"},\"getApproved(uint256)\":{\"details\":\"See {IERC721-getApproved}.\"},\"isApprovedForAll(address,address)\":{\"details\":\"See {IERC721-isApprovedForAll}.\"},\"name()\":{\"details\":\"See {IERC721Metadata-name}.\"},\"ownerOf(uint256)\":{\"details\":\"See {IERC721-ownerOf}.\"},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"See {IERC721-setApprovalForAll}.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"symbol()\":{\"details\":\"See {IERC721Metadata-symbol}.\"},\"tokenURI(uint256)\":{\"details\":\"See {IERC721Metadata-tokenURI}.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-transferFrom}.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"/F/Assignment/aibcccc/AIBC/contracts/CryptoFace.sol\":\"CryptoFace\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"/F/Assignment/aibcccc/AIBC/contracts/CryptoFace.sol\":{\"keccak256\":\"0x6fd46b7f8522b3a8eaf47860cac58237ffbe461615a6cc3b540fb1576dd74b0d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://094e14f24f20c794ceaf141824f85ed4099da16bee5f76aa41f843f039df7852\",\"dweb:/ipfs/QmVqVvfrYK3W4p2KrBcJQfizZxig4zwQtmYNPKjrbrXgcV\"]},\"@openzeppelin/contracts/token/ERC721/ERC721.sol\":{\"keccak256\":\"0x8d1cabca557cb77d97d801d674f0dacc33659e1430cdd34f91ae5d033fc3d93f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://379879e94763b61c652f914da987a603fb1fec35645a1d6b8022413cf1c3a467\",\"dweb:/ipfs/QmVkFoHVN6XWztbJDHrWfMCRPV4QsbFGj6QPZYeMjQRfhr\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0xc1c941ad1e580b4623007305921efe2f26fc7320a4edc226234dd707c658a428\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://473e11d739868e0d9f48254ccf84ba63290d6a2321d59a37b74c244a27f9cad7\",\"dweb:/ipfs/QmUGzDmecP936jzgM7SYyGwR1YgBGsveoHHJTbDfB8jbGF\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0x96877bb2eb8ca360e949ee1bd77b47a14e92e42f79897c350f088f87a3c231d4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://48593d699a4ef6b5bd2efb20d37320e69303fd27d4b59a2b6b8a8e563e608456\",\"dweb:/ipfs/QmdAPS8uLrzPJEeFZyJVkwTtaL3KB9jo9wJm1UcoJP55wT\"]},\"@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol\":{\"keccak256\":\"0xd03f5c3d258a9b0f751a3246e0802106585561ab5909b808368759364fc786f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e89e3562a13d6acd5c6c0ce1c657f1ea1b472878c30a2f88528e721f2d3b4117\",\"dweb:/ipfs/QmToL4MkNtn4BFipo6neazAsXwpcUxxhBBCkA6yVSLUAe9\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol\":{\"keccak256\":\"0xccb7e6475afcb1c5cb13b3fbf1329c10b93620a9b66393388066683915271a78\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://df5776161e3226ac31bfb919dfe5f42e173a08293fadb4ffa90ffb55e76869d7\",\"dweb:/ipfs/QmXtKfvWj1v6oha8urbnw4RmjSpmQjZsGGqK5qk5trK4nH\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol\":{\"keccak256\":\"0xb8d11e77eb1ed34a33720edb551d7d6a6b0eee2bfaa40a7024020e1fdf879b16\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c583283c838cc624a96a69eaa823fa92ac5294ec88d417e266c09ea091e0ae62\",\"dweb:/ipfs/QmNdzitXaFADaxooWpB4WsckkDyr4j6GQRxBjyKXsvEeXv\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x069b2631bb5b5193a58ccf7a06266c7361bd2c20095667af4402817605627f45\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a4c96fafff76deda5697c3c5c98cade6e6e1b178254544c106bf360c079ce4e\",\"dweb:/ipfs/QmXmxubE3jnatFgZuN8ay1VV6hZ8WRmhvUjNpeVjki15HX\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xf930d2df426bfcfc1f7415be724f04081c96f4fb9ec8d0e3a521c07692dface0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fc2bfdea0d2562c76fb3c4cf70a86c6ba25c5a30e8f8515c95aafdf8383f8395\",\"dweb:/ipfs/QmTbFya18786ckJfLYUoWau9jBTKfmWnWm5XSViWvB7PXN\"]},\"@openzeppelin/contracts/utils/Counters.sol\":{\"keccak256\":\"0x62d306ff0499a11913bc60b5939eec619509b5c67b30e86ebf8b8bda0b7a7fee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6712ca27a06062db31465b1470e6207553553a9bb0b4358d918b35bdae5b4ffe\",\"dweb:/ipfs/QmZ92pU9DJ3h1qREMFvDQhArSy6fh6zA983NeLFHRs1qKJ\"]},\"@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x456e9b3a2bfe189b5249857f624f4139e59331db518483b456c4e587a20552e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1123c9545decc48a011370ebab4bf53dda98524fa21f9498e68851ba8f0ffc0f\",\"dweb:/ipfs/QmUpgMg8EFDnv87ePKUjXxXpJT3qwHRj9VDNSnRxu7T9sy\"]},\"@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0x5718c5df9bd67ac68a796961df938821bb5dc0cd4c6118d77e9145afb187409b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d10e1d9b26042424789246603906ad06143bf9a928f4e99de8b5e3bdc662f549\",\"dweb:/ipfs/Qmejonoaj5MLekPus229rJQHcC6E9dz2xorjHJR84fMfmn\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0xa28007762d9da9db878dd421960c8cb9a10471f47ab5c1b3309bfe48e9e79ff4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://796ab6e88af7bf0e78def0f059310c903af6a312b565344e0ff524a0f26e81c6\",\"dweb:/ipfs/QmcsVgLgzWdor3UnAztUkXKNGcysm1MPneWksF72AvnwBx\"]}},\"version\":1}",
"bytecode": "0x60806040523480156200001157600080fd5b506040518060400160405280600581526020017f43464143450000000000000000000000000000000000000000000000000000008152506040518060400160405280600581526020017f4346414345000000000000000000000000000000000000000000000000000000815250816000908051906020019062000096929190620000b8565b508060019080519060200190620000af929190620000b8565b505050620001cd565b828054620000c69062000168565b90600052602060002090601f016020900481019282620000ea576000855562000136565b82601f106200010557805160ff191683800117855562000136565b8280016001018555821562000136579182015b828111156200013557825182559160200191906001019062000118565b5b50905062000145919062000149565b5090565b5b80821115620001645760008160009055506001016200014a565b5090565b600060028204905060018216806200018157607f821691505b602082108114156200019857620001976200019e565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b61381b80620001dd6000396000f3fe608060405234801561001057600080fd5b50600436106101375760003560e01c806370a08231116100b8578063b88d4fde1161007c578063b88d4fde14610374578063c87b56dd14610390578063db93bfa2146103c0578063e6fef19a146103f0578063e757223014610420578063e985e9c51461045057610137565b806370a08231146102aa5780637d9ce21f146102da57806395d89b411461030a578063a22cb46514610328578063b02310911461034457610137565b806323b872dd116100ff57806323b872dd14610206578063273cbaa01461022257806342842e0e14610240578063581003701461025c5780636352211e1461027a57610137565b806301ffc9a71461013c57806306fdde031461016c578063081812fc1461018a578063095ea7b3146101ba5780631c3101d3146101d6575b600080fd5b6101566004803603810190610151919061266f565b610480565b6040516101639190613081565b60405180910390f35b610174610562565b604051610181919061309c565b60405180910390f35b6101a4600480360381019061019f91906126c1565b6105f4565b6040516101b19190612fd6565b60405180910390f35b6101d460048036038101906101cf9190612633565b610679565b005b6101f060048036038101906101eb9190612461565b610791565b6040516101fd919061333e565b60405180910390f35b610220600480360381019061021b91906124c6565b610862565b005b61022a6108c2565b604051610237919061305f565b60405180910390f35b61025a600480360381019061025591906124c6565b610920565b005b610264610940565b604051610271919061303d565b60405180910390f35b610294600480360381019061028f91906126c1565b6109d4565b6040516102a19190612fd6565b60405180910390f35b6102c460048036038101906102bf9190612461565b610a86565b6040516102d1919061333e565b60405180910390f35b6102f460048036038101906102ef9190612461565b610b3e565b604051610301919061305f565b60405180910390f35b610312610bdb565b60405161031f919061309c565b60405180910390f35b610342600480360381019061033d9190612590565b610c6d565b005b61035e600480360381019061035991906125cc565b610dee565b60405161036b919061333e565b60405180910390f35b61038e60048036038101906103899190612515565b611164565b005b6103aa60048036038101906103a591906126c1565b6111c6565b6040516103b7919061309c565b60405180910390f35b6103da60048036038101906103d591906126c1565b611205565b6040516103e7919061309c565b60405180910390f35b61040a600480360381019061040591906126c1565b6112e1565b604051610417919061309c565b60405180910390f35b61043a600480360381019061043591906126c1565b61133b565b604051610447919061333e565b60405180910390f35b61046a6004803603810190610465919061248a565b6113a0565b6040516104779190613081565b60405180910390f35b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061054b57507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b8061055b575061055a82611434565b5b9050919050565b60606000805461057190613610565b80601f016020809104026020016040519081016040528092919081815260200182805461059d90613610565b80156105ea5780601f106105bf576101008083540402835291602001916105ea565b820191906000526020600020905b8154815290600101906020018083116105cd57829003601f168201915b5050505050905090565b60006105ff8261149e565b61063e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106359061323e565b60405180910390fd5b6004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000610684826109d4565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156106f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106ec906132be565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1661071461150a565b73ffffffffffffffffffffffffffffffffffffffff16148061074357506107428161073d61150a565b6113a0565b5b610782576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107799061317e565b60405180910390fd5b61078c8383611512565b505050565b600080600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610814576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161080b906132de565b60405180910390fd5b6001600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060019050919050565b61087361086d61150a565b826115cb565b6108b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108a9906132fe565b60405180910390fd5b6108bd8383836116a9565b505050565b60606000600980548060200260200160405190810160405280929190818152602001828054801561091257602002820191906000526020600020905b8154815260200190600101908083116108fe575b505050505090508091505090565b61093b83838360405180602001604052806000815250611164565b505050565b6060600060088054806020026020016040519081016040528092919081815260200182805480156109c657602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001906001019080831161097c575b505050505090508091505090565b6000806002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610a7d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a74906131be565b60405180910390fd5b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610af7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aee9061319e565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60606000600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805480602002602001604051908101604052809291908181526020018280548015610bcb57602002820191906000526020600020905b815481526020019060010190808311610bb7575b5050505050905080915050919050565b606060018054610bea90613610565b80601f0160208091040260200160405190810160405280929190818152602001828054610c1690613610565b8015610c635780601f10610c3857610100808354040283529160200191610c63565b820191906000526020600020905b815481529060010190602001808311610c4657829003601f168201915b5050505050905090565b610c7561150a565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610ce3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cda9061311e565b60405180910390fd5b8060056000610cf061150a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff16610d9d61150a565b73ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051610de29190613081565b60405180910390a35050565b600080600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541415610e72576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e699061331e565b60405180910390fd5b6000600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414611158576000610ec56007611905565b9050600181610ed4919061349f565b9050610edf8161149e565b15610f1f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f169061325e565b60405180910390fd5b83600a60008381526020019081526020016000209080519060200190610f46929190612285565b50610f518582611913565b610f5b6007611ae1565b61100081600a60008481526020019081526020016000208054610f7d90613610565b80601f0160208091040260200160405190810160405280929190818152602001828054610fa990613610565b8015610ff65780601f10610fcb57610100808354040283529160200191610ff6565b820191906000526020600020905b815481529060010190602001808311610fd957829003601f168201915b5050505050611af7565b82600e60008381526020019081526020016000208190555060098190806001815401808255809150506001900390600052602060002001600090919091909150556008859080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600c60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600f60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190806001815401808255809150506001900390600052602060002001600090919091909150558091505061115d565b600090505b9392505050565b61117561116f61150a565b836115cb565b6111b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111ab906132fe565b60405180910390fd5b6111c084848484611b6b565b50505050565b60606040518060400160405280600a81526020017f43727970746f46616365000000000000000000000000000000000000000000008152509050919050565b60606112108261149e565b61124f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112469061325e565b60405180910390fd5b6000339050600061125f846109d4565b90508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146112cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112c69061313e565b60405180910390fd5b6112d884611bc7565b92505050919050565b60606112ec8261149e565b61132b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113229061325e565b60405180910390fd5b61133482611bc7565b9050919050565b60006113468261149e565b611385576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161137c9061325e565b60405180910390fd5b600e6000838152602001908152602001600020549050919050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b60008073ffffffffffffffffffffffffffffffffffffffff166002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614159050919050565b600033905090565b816004600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16611585836109d4565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60006115d68261149e565b611615576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161160c9061315e565b60405180910390fd5b6000611620836109d4565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148061168f57508373ffffffffffffffffffffffffffffffffffffffff16611677846105f4565b73ffffffffffffffffffffffffffffffffffffffff16145b806116a0575061169f81856113a0565b5b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff166116c9826109d4565b73ffffffffffffffffffffffffffffffffffffffff161461171f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117169061327e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561178f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611786906130fe565b60405180910390fd5b61179a838383611d19565b6117a5600082611512565b6001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546117f59190613526565b925050819055506001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461184c919061349f565b92505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050565b600081600001549050919050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611983576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161197a906131fe565b60405180910390fd5b61198c8161149e565b156119cc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119c3906130de565b60405180910390fd5b6119d860008383611d19565b6001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611a28919061349f565b92505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45050565b6001816000016000828254019250508190555050565b611b008261149e565b611b3f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b36906131de565b60405180910390fd5b80600660008481526020019081526020016000209080519060200190611b66929190612285565b505050565b611b768484846116a9565b611b8284848484611d1e565b611bc1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bb8906130be565b60405180910390fd5b50505050565b6060611bd28261149e565b611c11576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c089061325e565b60405180910390fd5b6000600a60008481526020019081526020016000208054611c3190613610565b80601f0160208091040260200160405190810160405280929190818152602001828054611c5d90613610565b8015611caa5780601f10611c7f57610100808354040283529160200191611caa565b820191906000526020600020905b815481529060010190602001808311611c8d57829003601f168201915b505050505090506000611cbb611eb5565b9050600081511415611cd1578192505050611d14565b600082511115611d06578082604051602001611cee929190612fb2565b60405160208183030381529060405292505050611d14565b611d0f84611ecc565b925050505b919050565b505050565b6000611d3f8473ffffffffffffffffffffffffffffffffffffffff1661201e565b15611ea8578373ffffffffffffffffffffffffffffffffffffffff1663150b7a02611d6861150a565b8786866040518563ffffffff1660e01b8152600401611d8a9493929190612ff1565b602060405180830381600087803b158015611da457600080fd5b505af1925050508015611dd557506040513d601f19601f82011682018060405250810190611dd29190612698565b60015b611e58573d8060008114611e05576040519150601f19603f3d011682016040523d82523d6000602084013e611e0a565b606091505b50600081511415611e50576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e47906130be565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050611ead565b600190505b949350505050565b606060405180602001604052806000815250905090565b6060611ed78261149e565b611f16576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f0d9061321e565b60405180910390fd5b6000600660008481526020019081526020016000208054611f3690613610565b80601f0160208091040260200160405190810160405280929190818152602001828054611f6290613610565b8015611faf5780601f10611f8457610100808354040283529160200191611faf565b820191906000526020600020905b815481529060010190602001808311611f9257829003601f168201915b505050505090506000611fc0611eb5565b9050600081511415611fd6578192505050612019565b60008251111561200b578082604051602001611ff3929190612fb2565b60405160208183030381529060405292505050612019565b61201484612031565b925050505b919050565b600080823b905060008111915050919050565b606061203c8261149e565b61207b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120729061329e565b60405180910390fd5b6000612085611eb5565b905060008151116120a557604051806020016040528060008152506120d0565b806120af846120d8565b6040516020016120c0929190612fb2565b6040516020818303038152906040525b915050919050565b60606000821415612120576040518060400160405280600181526020017f30000000000000000000000000000000000000000000000000000000000000008152509050612280565b600082905060005b6000821461215257808061213b90613642565b915050600a8261214b91906134f5565b9150612128565b60008167ffffffffffffffff811115612194577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280601f01601f1916602001820160405280156121c65781602001600182028036833780820191505090505b5090505b60008514612279576001826121df9190613526565b9150600a856121ee919061368b565b60306121fa919061349f565b60f81b818381518110612236577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a8561227291906134f5565b94506121ca565b8093505050505b919050565b82805461229190613610565b90600052602060002090601f0160209004810192826122b357600085556122fa565b82601f106122cc57805160ff19168380011785556122fa565b828001600101855582156122fa579182015b828111156122f95782518255916020019190600101906122de565b5b509050612307919061230b565b5090565b5b8082111561232457600081600090555060010161230c565b5090565b600061233b6123368461338a565b613359565b90508281526020810184848401111561235357600080fd5b61235e8482856135ce565b509392505050565b6000612379612374846133ba565b613359565b90508281526020810184848401111561239157600080fd5b61239c8482856135ce565b509392505050565b6000813590506123b381613789565b92915050565b6000813590506123c8816137a0565b92915050565b6000813590506123dd816137b7565b92915050565b6000815190506123f2816137b7565b92915050565b600082601f83011261240957600080fd5b8135612419848260208601612328565b91505092915050565b600082601f83011261243357600080fd5b8135612443848260208601612366565b91505092915050565b60008135905061245b816137ce565b92915050565b60006020828403121561247357600080fd5b6000612481848285016123a4565b91505092915050565b6000806040838503121561249d57600080fd5b60006124ab858286016123a4565b92505060206124bc858286016123a4565b9150509250929050565b6000806000606084860312156124db57600080fd5b60006124e9868287016123a4565b93505060206124fa868287016123a4565b925050604061250b8682870161244c565b9150509250925092565b6000806000806080858703121561252b57600080fd5b6000612539878288016123a4565b945050602061254a878288016123a4565b935050604061255b8782880161244c565b925050606085013567ffffffffffffffff81111561257857600080fd5b612584878288016123f8565b91505092959194509250565b600080604083850312156125a357600080fd5b60006125b1858286016123a4565b92505060206125c2858286016123b9565b9150509250929050565b6000806000606084860312156125e157600080fd5b60006125ef868287016123a4565b935050602084013567ffffffffffffffff81111561260c57600080fd5b61261886828701612422565b92505060406126298682870161244c565b9150509250925092565b6000806040838503121561264657600080fd5b6000612654858286016123a4565b92505060206126658582860161244c565b9150509250929050565b60006020828403121561268157600080fd5b600061268f848285016123ce565b91505092915050565b6000602082840312156126aa57600080fd5b60006126b8848285016123e3565b91505092915050565b6000602082840312156126d357600080fd5b60006126e18482850161244c565b91505092915050565b60006126f6838361271a565b60208301905092915050565b600061270e8383612f94565b60208301905092915050565b6127238161355a565b82525050565b6127328161355a565b82525050565b60006127438261340a565b61274d8185613450565b9350612758836133ea565b8060005b8381101561278957815161277088826126ea565b975061277b83613436565b92505060018101905061275c565b5085935050505092915050565b60006127a182613415565b6127ab8185613461565b93506127b6836133fa565b8060005b838110156127e75781516127ce8882612702565b97506127d983613443565b9250506001810190506127ba565b5085935050505092915050565b6127fd8161356c565b82525050565b600061280e82613420565b6128188185613472565b93506128288185602086016135dd565b61283181613778565b840191505092915050565b60006128478261342b565b6128518185613483565b93506128618185602086016135dd565b61286a81613778565b840191505092915050565b60006128808261342b565b61288a8185613494565b935061289a8185602086016135dd565b80840191505092915050565b60006128b3603283613483565b91507f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008301527f63656976657220696d706c656d656e74657200000000000000000000000000006020830152604082019050919050565b6000612919601c83613483565b91507f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006000830152602082019050919050565b6000612959602483613483565b91507f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008301527f72657373000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006129bf601983613483565b91507f4552433732313a20617070726f766520746f2063616c6c6572000000000000006000830152602082019050919050565b60006129ff600e83613483565b91507f696e76616c6964206163636573730000000000000000000000000000000000006000830152602082019050919050565b6000612a3f602c83613483565b91507f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860008301527f697374656e7420746f6b656e00000000000000000000000000000000000000006020830152604082019050919050565b6000612aa5603883613483565b91507f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760008301527f6e6572206e6f7220617070726f76656420666f7220616c6c00000000000000006020830152604082019050919050565b6000612b0b602a83613483565b91507f4552433732313a2062616c616e636520717565727920666f7220746865207a6560008301527f726f2061646472657373000000000000000000000000000000000000000000006020830152604082019050919050565b6000612b71602983613483565b91507f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460008301527f656e7420746f6b656e00000000000000000000000000000000000000000000006020830152604082019050919050565b6000612bd7602e83613483565b91507f45524337323155524953746f726167653a2055524920736574206f66206e6f6e60008301527f6578697374656e7420746f6b656e0000000000000000000000000000000000006020830152604082019050919050565b6000612c3d602083613483565b91507f4552433732313a206d696e7420746f20746865207a65726f20616464726573736000830152602082019050919050565b6000612c7d603183613483565b91507f45524337323155524953746f726167653a2055524920717565727920666f722060008301527f6e6f6e6578697374656e7420746f6b656e0000000000000000000000000000006020830152604082019050919050565b6000612ce3602c83613483565b91507f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860008301527f697374656e7420746f6b656e00000000000000000000000000000000000000006020830152604082019050919050565b6000612d49601183613483565b91507f6e6f6e6578697374656e7420746f6b656e0000000000000000000000000000006000830152602082019050919050565b6000612d89602983613483565b91507f4552433732313a207472616e73666572206f6620746f6b656e2074686174206960008301527f73206e6f74206f776e00000000000000000000000000000000000000000000006020830152604082019050919050565b6000612def602f83613483565b91507f4552433732314d657461646174613a2055524920717565727920666f72206e6f60008301527f6e6578697374656e7420746f6b656e00000000000000000000000000000000006020830152604082019050919050565b6000612e55602183613483565b91507f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008301527f72000000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000612ebb600f83613483565b91507f496e76616c6964204164647265737300000000000000000000000000000000006000830152602082019050919050565b6000612efb603183613483565b91507f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f60008301527f776e6572206e6f7220617070726f7665640000000000000000000000000000006020830152604082019050919050565b6000612f61600b83613483565b91507f4e6f7420416c6c6f7765640000000000000000000000000000000000000000006000830152602082019050919050565b612f9d816135c4565b82525050565b612fac816135c4565b82525050565b6000612fbe8285612875565b9150612fca8284612875565b91508190509392505050565b6000602082019050612feb6000830184612729565b92915050565b60006080820190506130066000830187612729565b6130136020830186612729565b6130206040830185612fa3565b81810360608301526130328184612803565b905095945050505050565b600060208201905081810360008301526130578184612738565b905092915050565b600060208201905081810360008301526130798184612796565b905092915050565b600060208201905061309660008301846127f4565b92915050565b600060208201905081810360008301526130b6818461283c565b905092915050565b600060208201905081810360008301526130d7816128a6565b9050919050565b600060208201905081810360008301526130f78161290c565b9050919050565b600060208201905081810360008301526131178161294c565b9050919050565b60006020820190508181036000830152613137816129b2565b9050919050565b60006020820190508181036000830152613157816129f2565b9050919050565b6000602082019050818103600083015261317781612a32565b9050919050565b6000602082019050818103600083015261319781612a98565b9050919050565b600060208201905081810360008301526131b781612afe565b9050919050565b600060208201905081810360008301526131d781612b64565b9050919050565b600060208201905081810360008301526131f781612bca565b9050919050565b6000602082019050818103600083015261321781612c30565b9050919050565b6000602082019050818103600083015261323781612c70565b9050919050565b6000602082019050818103600083015261325781612cd6565b9050919050565b6000602082019050818103600083015261327781612d3c565b9050919050565b6000602082019050818103600083015261329781612d7c565b9050919050565b600060208201905081810360008301526132b781612de2565b9050919050565b600060208201905081810360008301526132d781612e48565b9050919050565b600060208201905081810360008301526132f781612eae565b9050919050565b6000602082019050818103600083015261331781612eee565b9050919050565b6000602082019050818103600083015261333781612f54565b9050919050565b60006020820190506133536000830184612fa3565b92915050565b6000604051905081810181811067ffffffffffffffff821117156133805761337f613749565b5b8060405250919050565b600067ffffffffffffffff8211156133a5576133a4613749565b5b601f19601f8301169050602081019050919050565b600067ffffffffffffffff8211156133d5576133d4613749565b5b601f19601f83011690506020810190509