[ { "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": "uint256[]", "name": "tokenIds", "type": "uint256[]" }, { "indexed": false, "internalType": "uint256[]", "name": "quantites", "type": "uint256[]" }, { "indexed": false, "internalType": "address", "name": "user", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "depositAmount", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "dbId", "type": "uint256" } ], "name": "LockGasPaid", "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": "Mint", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256[]", "name": "tokenIds", "type": "uint256[]" }, { "indexed": false, "internalType": "uint256[]", "name": "quantites", "type": "uint256[]" }, { "indexed": false, "internalType": "address", "name": "user", "type": "address" }, { "indexed": false, "internalType": "bool", "name": "status", "type": "bool" } ], "name": "NFTLockStatus", "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": "id", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "SaleMint", "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": "uint256[]", "name": "tokenIds", "type": "uint256[]" }, { "indexed": false, "internalType": "uint256[]", "name": "quantites", "type": "uint256[]" }, { "indexed": false, "internalType": "address", "name": "user", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "depositAmount", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "dbId", "type": "uint256" } ], "name": "UnLockGasPaid", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "account", "type": "address" } ], "name": "Unpaused", "type": "event" }, { "inputs": [], "name": "BURNER_ROLE", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "DEFAULT_ADMIN_ROLE", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "LOCKING_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": "_address", "type": "address" }, { "internalType": "uint256[]", "name": "_tokenIds", "type": "uint256[]" }, { "internalType": "bool", "name": "status", "type": "bool" } ], "name": "bulkUpdateAllowAddresses", "outputs": [], "stateMutability": "nonpayable", "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": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "getAuthor", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "getCreator", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" } ], "name": "getRoleAdmin", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "getRoyaltyFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "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": "uint256[]", "name": "tokenIds", "type": "uint256[]" }, { "internalType": "uint256[]", "name": "quantities", "type": "uint256[]" }, { "internalType": "uint256", "name": "dbId", "type": "uint256" } ], "name": "lockGas", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "uint256[]", "name": "tokenIds", "type": "uint256[]" }, { "internalType": "uint256[]", "name": "quantities", "type": "uint256[]" }, { "internalType": "address", "name": "user", "type": "address" }, { "internalType": "bool", "name": "status", "type": "bool" } ], "name": "lockNFTBulk", "outputs": [], "stateMutability": "nonpayable", "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": "quantities", "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": "quantities", "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": "account", "type": "address" }, { "internalType": "uint256", "name": "id", "type": "uint256" }, { "internalType": "uint256", "name": "amount", "type": "uint256" }, { "internalType": "bytes", "name": "data", "type": "bytes" } ], "name": "saleMint", "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": "address", "name": "author", "type": "address" }, { "internalType": "uint256[]", "name": "tokenIds", "type": "uint256[]" } ], "name": "setAuthor", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "setRoyalty", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "operator", "type": "address" }, { "internalType": "bool", "name": "approved", "type": "bool" } ], "name": "setTransferApprovedForAll", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "newuri", "type": "string" } ], "name": "setURI", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" }, { "internalType": "address", "name": "user", "type": "address" }, { "internalType": "bool", "name": "status", "type": "bool" } ], "name": "setlockStatusNFT", "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": [ { "internalType": "uint256[]", "name": "tokenIds", "type": "uint256[]" }, { "internalType": "uint256[]", "name": "quantities", "type": "uint256[]" }, { "internalType": "uint256", "name": "dbId", "type": "uint256" } ], "name": "unLockGas", "outputs": [], "stateMutability": "payable", "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" } ]
60806040523480156200001157600080fd5b5060408051808201909152600a8152692c20a720a1b7b6b6b7b760b11b60208201526200003e8162000087565b506000805460ff19168155620000559033620000da565b620000817f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a633620000da565b6200030d565b7ffeffaec5312afdafc3b8fb7c85361e6d0462807200cbd1283769da4134fa8d0b7ffeffaec5312afdafc3b8fb7c85361e6d0462807200cbd1283769da4134fa8d10620000d5838262000241565b505050565b60008281527fb1f71c0ba2ec939f106d7d4b15b1d8fd0d205b821e122ec2649edf3533a8ea86602081815260408084206001600160a01b03861685529091529091205460ff16620000d5576000838152602082815260408083206001600160a01b03861684529091529020805460ff19166001179055620001583390565b6001600160a01b0316826001600160a01b0316847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a4505050565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620001c857607f821691505b602082108103620001e957634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620000d557600081815260208120601f850160051c81016020861015620002185750805b601f850160051c820191505b81811015620002395782815560010162000224565b505050505050565b81516001600160401b038111156200025d576200025d6200019d565b62000275816200026e8454620001b3565b84620001ef565b602080601f831160018114620002ad5760008415620002945750858301515b600019600386901b1c1916600185901b17855562000239565b600085815260208120601f198616915b82811015620002de57888601518255948401946001909101908401620002bd565b5085821015620002fd5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b614036806200031d6000396000f3fe60806040526004361061022f5760003560e01c80636b20c4541161012e578063a22cb465116100ab578063e985e9c51161006f578063e985e9c5146106e8578063f0c7dda014610708578063f242432a14610728578063f5298aca14610748578063fdada7921461076857600080fd5b8063a22cb46514610652578063d48e638a14610584578063d539139314610672578063d547741f14610694578063df85afc8146106b457600080fd5b806391d14854116100f257806391d1485414610544578063933a6f0d146105645780639e2b8488146105845780639e4c0141146105f1578063a217fddf1461063d57600080fd5b80636b20c454146104ba578063702f245e146104da578063731133e9146104fa5780638129fc1c1461051a5780638456cb591461052f57600080fd5b80632f2ff15d116101bc57806340398d671161018057806340398d671461041557806344f096fc146104425780634e1273f4146104625780634e59a211146104825780635c975abb146104a257600080fd5b80632f2ff15d1461038d578063357b8c9e146103ad57806336568abe146103cd5780633f4ba83a146103ed5780633fa264641461040257600080fd5b80630e89341c116102035780630e89341c146102cc5780631f7fdffa146102f9578063248a9ca314610319578063282c51f3146103395780632eb2c2d61461036d57600080fd5b8062fdd58e1461023457806301ffc9a71461026757806302fe53051461029757806306cf8d10146102b9575b600080fd5b34801561024057600080fd5b5061025461024f366004612ef7565b610788565b6040519081526020015b60405180910390f35b34801561027357600080fd5b50610287610282366004612f37565b610830565b604051901515815260200161025e565b3480156102a357600080fd5b506102b76102b2366004612ff3565b61083b565b005b6102b76102c73660046130d7565b610853565b3480156102d857600080fd5b506102ec6102e7366004613143565b610a65565b60405161025e91906131ac565b34801561030557600080fd5b506102b76103143660046131df565b610b09565b34801561032557600080fd5b50610254610334366004613143565b610b34565b34801561034557600080fd5b506102547f3c11d16cbaffd01df69ce1c404f6340ee057498f5f00246190ea54220576a84881565b34801561037957600080fd5b506102b7610388366004613277565b610b56565b34801561039957600080fd5b506102b76103a8366004613320565b610cd5565b3480156103b957600080fd5b506102b76103c8366004613397565b610cf6565b3480156103d957600080fd5b506102b76103e8366004613320565b610d80565b3480156103f957600080fd5b506102b7610dfa565b6102b76104103660046130d7565b610e10565b34801561042157600080fd5b506104356104303660046133e9565b611006565b60405161025e919061343f565b34801561044e57600080fd5b506102b761045d366004613462565b611011565b34801561046e57600080fd5b5061043561047d3660046134c6565b6110ac565b34801561048e57600080fd5b506102b761049d366004613590565b6111c8565b3480156104ae57600080fd5b5060005460ff16610287565b3480156104c657600080fd5b506102b76104d53660046135ba565b61121e565b3480156104e657600080fd5b506102b76104f536600461362d565b611259565b34801561050657600080fd5b506102b761051536600461362d565b6112ce565b34801561052657600080fd5b506102b7611338565b34801561053b57600080fd5b506102b76113f7565b34801561055057600080fd5b5061028761055f366004613320565b61140a565b34801561057057600080fd5b506102b761057f366004613681565b611442565b34801561059057600080fd5b506105d961059f366004613143565b60009081527f1836f3834286c4b1526caf24aef8a0ae865c0a8b7124c14b6189880f58d8171060205260409020546001600160a01b031690565b6040516001600160a01b03909116815260200161025e565b3480156105fd57600080fd5b5061025461060c366004613143565b60009081527f1836f3834286c4b1526caf24aef8a0ae865c0a8b7124c14b6189880f58d81711602052604090205490565b34801561064957600080fd5b50610254600081565b34801561065e57600080fd5b506102b761066d366004613590565b61147f565b34801561067e57600080fd5b50610254600080516020613fc183398151915281565b3480156106a057600080fd5b506102b76106af366004613320565b611520565b3480156106c057600080fd5b506102547f378b359774aac882f78964142dd690d159dc5d5f4fe7ea2b5538a36a4cedfd3e81565b3480156106f457600080fd5b506102876107033660046136a3565b61153c565b34801561071457600080fd5b506102b76107233660046136cd565b611589565b34801561073457600080fd5b506102b7610743366004613746565b611696565b34801561075457600080fd5b506102b76107633660046137aa565b611796565b34801561077457600080fd5b506102b76107833660046137dd565b6117cb565b60006001600160a01b0383166107f85760405162461bcd60e51b815260206004820152602a60248201527f455243313135353a2061646472657373207a65726f206973206e6f742061207660448201526930b634b21037bbb732b960b11b60648201526084015b60405180910390fd5b600080516020613f808339815191526000838152602091825260408082206001600160a01b0387168352909252205490505b92915050565b600061082a826118cf565b6000610846816118f4565b61084f826118fe565b5050565b600080516020613fe183398151915260005b84518110156108db5783818151811061088057610880613819565b60200260200101516108ab3387848151811061089e5761089e613819565b6020026020010151610788565b10156108c95760405162461bcd60e51b81526004016107ef9061382f565b806108d381613889565b915050610865565b506005845111156109255760405162461bcd60e51b81526020600482015260146024820152731b585e080d481d1bdad95b9cc8185b1b1bddd95960621b60448201526064016107ef565b805461010090046001600160a01b03166109815760405162461bcd60e51b815260206004820152601d60248201527f67617320636f6c6c6563746f722061646472657373206e6f742073657400000060448201526064016107ef565b805460405160009161010090046001600160a01b03169034908381818185875af1925050503d80600081146109d2576040519150601f19603f3d011682016040523d82523d6000602084013e6109d7565b606091505b5050905080610a1f5760405162461bcd60e51b8152602060048201526014602482015273636f756c646e277420726563656976652067617360601b60448201526064016107ef565b7f62ba2681310c9154e5afd271f3ca93d2428e4005350435381c584380104104a48585333487604051610a569594939291906138a2565b60405180910390a15050505050565b6060600080516020613f808339815191526005018054610a84906138ee565b80601f0160208091040260200160405190810160405280929190818152602001828054610ab0906138ee565b8015610afd5780601f10610ad257610100808354040283529160200191610afd565b820191906000526020600020905b815481529060010190602001808311610ae057829003601f168201915b50505050509050919050565b600080516020613fc1833981519152610b21816118f4565b610b2d85858585611938565b5050505050565b6000908152600080516020613f60833981519152602052604090206001015490565b600080516020613fe183398151915260005b8451811015610cbf57838181518110610b8357610b83613819565b6020026020010151826006016000896001600160a01b03166001600160a01b031681526020019081526020016000206000878481518110610bc657610bc6613819565b6020026020010151815260200190815260200160002054610bf38988858151811061089e5761089e613819565b610bfd9190613928565b1015610c1b5760405162461bcd60e51b81526004016107ef9061393b565b33600090815260018301602052604081208651909190879084908110610c4357610c43613819565b60209081029190910181015182528101919091526040016000205460ff16610cad5760405162461bcd60e51b815260206004820152601d60248201527f455243313135353a207472616e73666572206e6f7420616c6c6f77656400000060448201526064016107ef565b80610cb781613889565b915050610b68565b50610ccd8686868686611ae5565b505050505050565b610cde82610b34565b610ce7816118f4565b610cf18383611b74565b505050565b6000610d01816118f4565b600080516020613fe183398151915260005b83811015610ccd5785826004016000878785818110610d3457610d34613819565b90506020020135815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b031602179055508080610d7890613889565b915050610d13565b6001600160a01b0381163314610df05760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084016107ef565b61084f8282611c08565b6000610e05816118f4565b610e0d611c7d565b50565b600080516020613fe183398151915260005b8451811015610e8b57838181518110610e3d57610e3d613819565b6020026020010151610e5b3387848151811061089e5761089e613819565b1015610e795760405162461bcd60e51b81526004016107ef9061382f565b80610e8381613889565b915050610e22565b50600584511115610ed55760405162461bcd60e51b81526020600482015260146024820152731b585e080d481d1bdad95b9cc8185b1b1bddd95960621b60448201526064016107ef565b805461010090046001600160a01b0316610f315760405162461bcd60e51b815260206004820152601d60248201527f67617320636f6c6c6563746f722061646472657373206e6f742073657400000060448201526064016107ef565b805460405160009161010090046001600160a01b03169034908381818185875af1925050503d8060008114610f82576040519150601f19603f3d011682016040523d82523d6000602084013e610f87565b606091505b5050905080610fcf5760405162461bcd60e51b8152602060048201526014602482015273636f756c646e277420726563656976652067617360601b60448201526064016107ef565b7f99255b30a78b26db10e0f299e087fe850eb3f0f56322949bde26857ac12ed0f68585333487604051610a569594939291906138a2565b606061082a82611ccf565b600061101c816118f4565b600080516020613fe183398151915260005b848110156110a3576001600160a01b03871660009081526001830160205260408120859188888581811061106457611064613819565b90506020020135815260200190815260200160002060006101000a81548160ff021916908315150217905550808061109b90613889565b91505061102e565b50505050505050565b606081518351146111115760405162461bcd60e51b815260206004820152602960248201527f455243313135353a206163636f756e747320616e6420696473206c656e677468604482015268040dad2e6dac2e8c6d60bb1b60648201526084016107ef565b600083516001600160401b0381111561112c5761112c612f54565b604051908082528060200260200182016040528015611155578160200160208202803683370190505b50905060005b84518110156111c05761119385828151811061117957611179613819565b602002602001015185838151811061089e5761089e613819565b8282815181106111a5576111a5613819565b60209081029190910101526111b981613889565b905061115b565b509392505050565b60006111d3816118f4565b506001600160a01b039190911660009081527f1836f3834286c4b1526caf24aef8a0ae865c0a8b7124c14b6189880f58d8170e60205260409020805460ff1916911515919091179055565b7f3c11d16cbaffd01df69ce1c404f6340ee057498f5f00246190ea54220576a848611248816118f4565b611253848484611d6e565b50505050565b600080516020613fc1833981519152611271816118f4565b61127d85858585611f48565b60408051858152602081018590526001600160a01b0387169160009133917f09787a221f13a68fc81552e6f8c4d3e9ba7c108a82df83f4362461d3ffbbed3e91015b60405180910390a45050505050565b600080516020613fc18339815191526112e6816118f4565b6112f285858585611f48565b60408051858152602081018590526001600160a01b0387169160009133917fc0025304673122449dd60b9b0093874b0e2fd6fe57af1c7c2fbfee0ccf5ead5891016112bf565b600080516020613fe1833981519152805460ff1615156001036113935760405162461bcd60e51b8152602060048201526013602482015272185b1c9958591e481a5b9a5d1a585b1a5e9959606a1b60448201526064016107ef565b61139e600033611b74565b6113b6600080516020613fc183398151915233611b74565b6113d7604051806060016040528060218152602001613fa06021913961083b565b6000600080516020613fe1833981519152805460ff191660011790555050565b6000611402816118f4565b610e0d61204b565b6000918252600080516020613f60833981519152602090815260408084206001600160a01b0393909316845291905290205460ff1690565b600061144d816118f4565b5060009182527f1836f3834286c4b1526caf24aef8a0ae865c0a8b7124c14b6189880f58d81711602052604090912055565b6001600160a01b03821660009081527f1836f3834286c4b1526caf24aef8a0ae865c0a8b7124c14b6189880f58d8170e6020526040902054600080516020613fe18339815191529060ff166115165760405162461bcd60e51b815260206004820152601d60248201527f455243313135353a2041646472657373206e6f7420617070726f76656400000060448201526064016107ef565b610cf18383612088565b61152982610b34565b611532816118f4565b610cf18383611c08565b6001600160a01b0391821660009081527ffeffaec5312afdafc3b8fb7c85361e6d0462807200cbd1283769da4134fa8d0c6020908152604080832093909416825291909152205460ff1690565b7f378b359774aac882f78964142dd690d159dc5d5f4fe7ea2b5538a36a4cedfd3e6115b3816118f4565b600080516020613fe183398151915260005b8651811015611650578581815181106115e0576115e0613819565b6020026020010151826006016000876001600160a01b03166001600160a01b03168152602001908152602001600020600089848151811061162357611623613819565b6020026020010151815260200190815260200160002081905550808061164890613889565b9150506115c5565b507f4b6d547c1f60e5ccb0ba41523fa79b71079c34d019fbfdfd0474234adf165f5d86868686604051611686949392919061397c565b60405180910390a1505050505050565b6001600160a01b03851660009081527f1836f3834286c4b1526caf24aef8a0ae865c0a8b7124c14b6189880f58d8171260209081526040808320868452909152902054600080516020613fe18339815191529083906116f58887610788565b6116ff9190613928565b101561171d5760405162461bcd60e51b81526004016107ef9061393b565b336000908152600182016020908152604080832087845290915290205460ff166117895760405162461bcd60e51b815260206004820152601d60248201527f455243313135353a207472616e73666572206e6f7420616c6c6f77656400000060448201526064016107ef565b610ccd8686868686612093565b7f3c11d16cbaffd01df69ce1c404f6340ee057498f5f00246190ea54220576a8486117c0816118f4565b6112538484846120ec565b7f378b359774aac882f78964142dd690d159dc5d5f4fe7ea2b5538a36a4cedfd3e6117f5816118f4565b6001600160a01b03831660009081527f1836f3834286c4b1526caf24aef8a0ae865c0a8b7124c14b6189880f58d8170f60209081526040808320878452909152902054600080516020613fe18339815191529083151560ff9091161515036118945760405162461bcd60e51b81526020600482015260126024820152711cdd185d1d5cc8185b1c9958591e481cd95d60721b60448201526064016107ef565b6001600160a01b0393909316600090815260039093016020908152604080852095855294905250919020805460ff1916911515919091179055565b60006001600160e01b03198216637965db0b60e01b148061082a575061082a82612213565b610e0d8133612263565b600080516020613f808339815191527ffeffaec5312afdafc3b8fb7c85361e6d0462807200cbd1283769da4134fa8d10610cf18382613a09565b6001600160a01b03841661195e5760405162461bcd60e51b81526004016107ef90613ac8565b815183511461197f5760405162461bcd60e51b81526004016107ef90613b09565b600080516020613f808339815191523361199e816000888888886122bc565b60005b8551811015611a3c578481815181106119bc576119bc613819565b60200260200101518360000160008884815181106119dc576119dc613819565b602002602001015181526020019081526020016000206000896001600160a01b03166001600160a01b031681526020019081526020016000206000828254611a249190613b54565b90915550819050611a3481613889565b9150506119a1565b50856001600160a01b031660006001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8888604051611a8d929190613b67565b60405180910390a4611aa4816000888888886122c9565b60005b85518110156110a357611ad387878381518110611ac657611ac6613819565b6020026020010151612424565b80611add81613889565b915050611aa7565b6001600160a01b038516331480611b015750611b01853361153c565b611b1d5760405162461bcd60e51b81526004016107ef90613b95565b611b2a85858585856126dd565b60005b8351811015610ccd57611b4c85858381518110611ac657611ac6613819565b611b6286858381518110611ac657611ac6613819565b80611b6c81613889565b915050611b2d565b600080516020613f60833981519152611b8d838361140a565b610cf1576000838152602082815260408083206001600160a01b03861684529091529020805460ff19166001179055611bc33390565b6001600160a01b0316826001600160a01b0316847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a4505050565b600080516020613f60833981519152611c21838361140a565b15610cf1576000838152602082815260408083206001600160a01b0386168085529252808320805460ff1916905551339286917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a4505050565b611c85612922565b6000805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b6001600160a01b03811660009081527ffeffaec5312afdafc3b8fb7c85361e6d0462807200cbd1283769da4134fa8d0d60209081526040918290208054835181840281018401909452808452606093600080516020613f808339815191529390929190830182828015611d6157602002820191906000526020600020905b815481526020019060010190808311611d4d575b5050505050915050919050565b600080516020613f808339815191526001600160a01b038416611da35760405162461bcd60e51b81526004016107ef90613be3565b8151835114611dc45760405162461bcd60e51b81526004016107ef90613b09565b6000339050611de7818660008787604051806020016040528060008152506122bc565b60005b8451811015611eac576000858281518110611e0757611e07613819565b602002602001015190506000858381518110611e2557611e25613819565b602090810291909101810151600084815287835260408082206001600160a01b038d168352909352919091205490915081811015611e755760405162461bcd60e51b81526004016107ef90613c26565b6000928352602086815260408085206001600160a01b038c1686529091529092209103905580611ea481613889565b915050611dea565b5060006001600160a01b0316856001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8787604051611efd929190613b67565b60405180910390a460408051602081019091526000905260005b8451811015610ccd57611f3686868381518110611ac657611ac6613819565b80611f4081613889565b915050611f17565b6001600160a01b038416611f6e5760405162461bcd60e51b81526004016107ef90613ac8565b600080516020613f80833981519152336000611f898661296d565b90506000611f968661296d565b9050611fa78360008a85858a6122bc565b6000878152602085815260408083206001600160a01b038c16845290915281208054889290611fd7908490613b54565b909155505060408051888152602081018890526001600160a01b03808b1692600092918716917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a46120378360008a8a8a8a6129b8565b6120418888612424565b5050505050505050565b612053612a73565b6000805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258611cb23390565b61084f338383612ab9565b6001600160a01b0385163314806120af57506120af853361153c565b6120cb5760405162461bcd60e51b81526004016107ef90613b95565b6120d88585858585612bcb565b6120e28484612424565b610b2d8584612424565b6001600160a01b0383166121125760405162461bcd60e51b81526004016107ef90613be3565b600080516020613f8083398151915233600061212d8561296d565b9050600061213a8561296d565b905061215a838860008585604051806020016040528060008152506122bc565b6000868152602085815260408083206001600160a01b038b1684529091529020548581101561219b5760405162461bcd60e51b81526004016107ef90613c26565b6000878152602086815260408083206001600160a01b038c81168086529184528285208b8703905582518c81529384018b90529092908816917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4604080516020810190915260009052612037565b60006001600160e01b03198216636cdb3d1360e11b148061224457506001600160e01b031982166303a24d0760e21b145b8061082a57506301ffc9a760e01b6001600160e01b031983161461082a565b61226d828261140a565b61084f5761227a81612d27565b612285836020612d39565b604051602001612296929190613c6a565b60408051601f198184030181529082905262461bcd60e51b82526107ef916004016131ac565b6122c4612a73565b610ccd565b6001600160a01b0384163b15610ccd5760405163bc197c8160e01b81526001600160a01b0385169063bc197c819061230d9089908990889088908890600401613cdf565b6020604051808303816000875af1925050508015612348575060408051601f3d908101601f1916820190925261234591810190613d3d565b60015b6123f457612354613d5a565b806308c379a00361238d5750612368613d76565b80612373575061238f565b8060405162461bcd60e51b81526004016107ef91906131ac565b505b60405162461bcd60e51b815260206004820152603460248201527f455243313135353a207472616e7366657220746f206e6f6e2d455243313135356044820152732932b1b2b4bb32b91034b6b83632b6b2b73a32b960611b60648201526084016107ef565b6001600160e01b0319811663bc197c8160e01b146110a35760405162461bcd60e51b81526004016107ef90613dff565b6000818152600080516020613f80833981519152602081815260408084206001600160a01b0387168552909152909120541580159061248957506001600160a01b0383166000908152600482016020908152604080832085845290915290205460ff16155b15612519576001600160a01b038316600081815260028301602090815260408220805460018181018355828552928420018690559290915290546124cd9190613928565b6001600160a01b0384166000818152600384016020908152604080832087845282528083209490945591815260048401825282812085825290915220805460ff19166001179055505050565b6000828152602082815260408083206001600160a01b038716845290915290205415801561256c57506001600160a01b0383166000908152600482016020908152604080832085845290915290205460ff165b15610cf1576001600160a01b038316600081815260048301602090815260408083208684528252808320805460ff191690559282526002840190522080546125b690600190613928565b815481106125c6576125c6613819565b60009182526020808320909101546001600160a01b03861683526002840182526040808420600386018452818520878652909352909220548154811061260e5761260e613819565b60009182526020808320909101929092556001600160a01b03851680825260038401835260408083208684528085528184205492845260028601909452822080549193929161265f90600190613928565b8154811061266f5761266f613819565b9060005260206000200154815260200190815260200160002081905550806002016000846001600160a01b03166001600160a01b031681526020019081526020016000208054806126c2576126c2613e47565b60019003818190600052602060002001600090559055505050565b81518351146126fe5760405162461bcd60e51b81526004016107ef90613b09565b6001600160a01b0384166127245760405162461bcd60e51b81526004016107ef90613e5d565b600080516020613f80833981519152336127428188888888886122bc565b60005b855181101561287257600086828151811061276257612762613819565b60200260200101519050600086838151811061278057612780613819565b602090810291909101810151600084815287835260408082206001600160a01b038f1683529093529190912054909150818110156127d05760405162461bcd60e51b81526004016107ef90613ea2565b81810386600001600085815260200190815260200160002060008d6001600160a01b03166001600160a01b03168152602001908152602001600020819055508186600001600085815260200190815260200160002060008c6001600160a01b03166001600160a01b0316815260200190815260200160002060008282546128579190613b54565b925050819055505050508061286b90613889565b9050612745565b50856001600160a01b0316876001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb88886040516128c2929190613b67565b60405180910390a46128d88188888888886122c9565b60005b8551811015612041576128fa87878381518110611ac657611ac6613819565b61291088878381518110611ac657611ac6613819565b8061291a81613889565b9150506128db565b60005460ff1661296b5760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b60448201526064016107ef565b565b604080516001808252818301909252606091600091906020808301908036833701905050905082816000815181106129a7576129a7613819565b602090810291909101015292915050565b6001600160a01b0384163b15610ccd5760405163f23a6e6160e01b81526001600160a01b0385169063f23a6e61906129fc9089908990889088908890600401613eec565b6020604051808303816000875af1925050508015612a37575060408051601f3d908101601f19168201909252612a3491810190613d3d565b60015b612a4357612354613d5a565b6001600160e01b0319811663f23a6e6160e01b146110a35760405162461bcd60e51b81526004016107ef90613dff565b60005460ff161561296b5760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b60448201526064016107ef565b816001600160a01b0316836001600160a01b031603612b2c5760405162461bcd60e51b815260206004820152602960248201527f455243313135353a2073657474696e6720617070726f76616c20737461747573604482015268103337b91039b2b63360b91b60648201526084016107ef565b6001600160a01b0383811660008181527ffeffaec5312afdafc3b8fb7c85361e6d0462807200cbd1283769da4134fa8d0c6020908152604080832094871680845294825291829020805460ff191686151590811790915582519081529151600080516020613f808339815191529493927f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3192908290030190a350505050565b6001600160a01b038416612bf15760405162461bcd60e51b81526004016107ef90613e5d565b600080516020613f80833981519152336000612c0c8661296d565b90506000612c198661296d565b9050612c29838a8a85858a6122bc565b6000878152602085815260408083206001600160a01b038d16845290915290205486811015612c6a5760405162461bcd60e51b81526004016107ef90613ea2565b6000888152602086815260408083206001600160a01b038e8116855292528083208a85039055908b16825281208054899290612ca7908490613b54565b909155505060408051898152602081018990526001600160a01b03808c16928d821692918816917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4612d07848b8b8b8b8b6129b8565b612d118989612424565b612d1b8a89612424565b50505050505050505050565b606061082a6001600160a01b03831660145b60606000612d48836002613f31565b612d53906002613b54565b6001600160401b03811115612d6a57612d6a612f54565b6040519080825280601f01601f191660200182016040528015612d94576020820181803683370190505b509050600360fc1b81600081518110612daf57612daf613819565b60200101906001600160f81b031916908160001a905350600f60fb1b81600181518110612dde57612dde613819565b60200101906001600160f81b031916908160001a9053506000612e02846002613f31565b612e0d906001613b54565b90505b6001811115612e85576f181899199a1a9b1b9c1cb0b131b232b360811b85600f1660108110612e4157612e41613819565b1a60f81b828281518110612e5757612e57613819565b60200101906001600160f81b031916908160001a90535060049490941c93612e7e81613f48565b9050612e10565b508315612ed45760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016107ef565b9392505050565b80356001600160a01b0381168114612ef257600080fd5b919050565b60008060408385031215612f0a57600080fd5b612f1383612edb565b946020939093013593505050565b6001600160e01b031981168114610e0d57600080fd5b600060208284031215612f4957600080fd5b8135612ed481612f21565b634e487b7160e01b600052604160045260246000fd5b601f8201601f191681016001600160401b0381118282101715612f8f57612f8f612f54565b6040525050565b60006001600160401b03831115612faf57612faf612f54565b604051612fc6601f8501601f191660200182612f6a565b809150838152848484011115612fdb57600080fd5b83836020830137600060208583010152509392505050565b60006020828403121561300557600080fd5b81356001600160401b0381111561301b57600080fd5b8201601f8101841361302c57600080fd5b61303b84823560208401612f96565b949350505050565b60006001600160401b0382111561305c5761305c612f54565b5060051b60200190565b600082601f83011261307757600080fd5b8135602061308482613043565b6040516130918282612f6a565b83815260059390931b85018201928281019150868411156130b157600080fd5b8286015b848110156130cc57803583529183019183016130b5565b509695505050505050565b6000806000606084860312156130ec57600080fd5b83356001600160401b038082111561310357600080fd5b61310f87838801613066565b9450602086013591508082111561312557600080fd5b5061313286828701613066565b925050604084013590509250925092565b60006020828403121561315557600080fd5b5035919050565b60005b8381101561317757818101518382015260200161315f565b50506000910152565b6000815180845261319881602086016020860161315c565b601f01601f19169290920160200192915050565b602081526000612ed46020830184613180565b600082601f8301126131d057600080fd5b612ed483833560208501612f96565b600080600080608085870312156131f557600080fd5b6131fe85612edb565b935060208501356001600160401b038082111561321a57600080fd5b61322688838901613066565b9450604087013591508082111561323c57600080fd5b61324888838901613066565b9350606087013591508082111561325e57600080fd5b5061326b878288016131bf565b91505092959194509250565b600080600080600060a0868803121561328f57600080fd5b61329886612edb565b94506132a660208701612edb565b935060408601356001600160401b03808211156132c257600080fd5b6132ce89838a01613066565b945060608801359150808211156132e457600080fd5b6132f089838a01613066565b9350608088013591508082111561330657600080fd5b50613313888289016131bf565b9150509295509295909350565b6000806040838503121561333357600080fd5b8235915061334360208401612edb565b90509250929050565b60008083601f84011261335e57600080fd5b5081356001600160401b0381111561337557600080fd5b6020830191508360208260051b850101111561339057600080fd5b9250929050565b6000806000604084860312156133ac57600080fd5b6133b584612edb565b925060208401356001600160401b038111156133d057600080fd5b6133dc8682870161334c565b9497909650939450505050565b6000602082840312156133fb57600080fd5b612ed482612edb565b600081518084526020808501945080840160005b8381101561343457815187529582019590820190600101613418565b509495945050505050565b602081526000612ed46020830184613404565b80358015158114612ef257600080fd5b6000806000806060858703121561347857600080fd5b61348185612edb565b935060208501356001600160401b0381111561349c57600080fd5b6134a88782880161334c565b90945092506134bb905060408601613452565b905092959194509250565b600080604083850312156134d957600080fd5b82356001600160401b03808211156134f057600080fd5b818501915085601f83011261350457600080fd5b8135602061351182613043565b60405161351e8282612f6a565b83815260059390931b850182019282810191508984111561353e57600080fd5b948201945b838610156135635761355486612edb565b82529482019490820190613543565b9650508601359250508082111561357957600080fd5b5061358685828601613066565b9150509250929050565b600080604083850312156135a357600080fd5b6135ac83612edb565b915061334360208401613452565b6000806000606084860312156135cf57600080fd5b6135d884612edb565b925060208401356001600160401b03808211156135f457600080fd5b61360087838801613066565b9350604086013591508082111561361657600080fd5b5061362386828701613066565b9150509250925092565b6000806000806080858703121561364357600080fd5b61364c85612edb565b9350602085013592506040850135915060608501356001600160401b0381111561367557600080fd5b61326b878288016131bf565b6000806040838503121561369457600080fd5b50508035926020909101359150565b600080604083850312156136b657600080fd5b6136bf83612edb565b915061334360208401612edb565b600080600080608085870312156136e357600080fd5b84356001600160401b03808211156136fa57600080fd5b61370688838901613066565b9550602087013591508082111561371c57600080fd5b5061372987828801613066565b93505061373860408601612edb565b91506134bb60608601613452565b600080600080600060a0868803121561375e57600080fd5b61376786612edb565b945061377560208701612edb565b9350604086013592506060860135915060808601356001600160401b0381111561379e57600080fd5b613313888289016131bf565b6000806000606084860312156137bf57600080fd5b6137c884612edb565b95602085013595506040909401359392505050565b6000806000606084860312156137f257600080fd5b8335925061380260208501612edb565b915061381060408501613452565b90509250925092565b634e487b7160e01b600052603260045260246000fd5b60208082526024908201527f455243313135353a20596f7520646f6e2774206f776e20656e6f75676820746f6040820152636b656e7360e01b606082015260800190565b634e487b7160e01b600052601160045260246000fd5b60006001820161389b5761389b613873565b5060010190565b60a0815260006138b560a0830188613404565b82810360208401526138c78188613404565b6001600160a01b039690961660408401525050606081019290925260809091015292915050565b600181811c9082168061390257607f821691505b60208210810361392257634e487b7160e01b600052602260045260246000fd5b50919050565b8181038181111561082a5761082a613873565b60208082526021908201527f455243313135353a204e6f7420656e6f756768206e66747320756e6c6f636b656040820152601960fa1b606082015260800190565b60808152600061398f6080830187613404565b82810360208401526139a18187613404565b6001600160a01b03959095166040840152505090151560609091015292915050565b601f821115610cf157600081815260208120601f850160051c810160208610156139ea5750805b601f850160051c820191505b81811015610ccd578281556001016139f6565b81516001600160401b03811115613a2257613a22612f54565b613a3681613a3084546138ee565b846139c3565b602080601f831160018114613a6b5760008415613a535750858301515b600019600386901b1c1916600185901b178555610ccd565b600085815260208120601f198616915b82811015613a9a57888601518255948401946001909101908401613a7b565b5085821015613ab85787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60208082526021908201527f455243313135353a206d696e7420746f20746865207a65726f206164647265736040820152607360f81b606082015260800190565b6020808252602b908201527f455243313135353a2069647320616e64207175616e746974696573206c656e6760408201526a0e8d040dad2e6dac2e8c6d60ab1b606082015260800190565b8082018082111561082a5761082a613873565b604081526000613b7a6040830185613404565b8281036020840152613b8c8185613404565b95945050505050565b6020808252602e908201527f455243313135353a2063616c6c6572206973206e6f7420746f6b656e206f776e60408201526d195c881bdc88185c1c1c9bdd995960921b606082015260800190565b60208082526023908201527f455243313135353a206275726e2066726f6d20746865207a65726f206164647260408201526265737360e81b606082015260800190565b60208082526024908201527f455243313135353a206275726e20616d6f756e7420657863656564732062616c604082015263616e636560e01b606082015260800190565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351613ca281601785016020880161315c565b7001034b99036b4b9b9b4b733903937b6329607d1b6017918401918201528351613cd381602884016020880161315c565b01602801949350505050565b6001600160a01b0386811682528516602082015260a060408201819052600090613d0b90830186613404565b8281036060840152613d1d8186613404565b90508281036080840152613d318185613180565b98975050505050505050565b600060208284031215613d4f57600080fd5b8151612ed481612f21565b600060033d1115613d735760046000803e5060005160e01c5b90565b600060443d1015613d845790565b6040516003193d81016004833e81513d6001600160401b038160248401118184111715613db357505050505090565b8285019150815181811115613dcb5750505050505090565b843d8701016020828501011115613de55750505050505090565b613df460208286010187612f6a565b509095945050505050565b60208082526028908201527f455243313135353a204552433131353552656365697665722072656a656374656040820152676420746f6b656e7360c01b606082015260800190565b634e487b7160e01b600052603160045260246000fd5b60208082526025908201527f455243313135353a207472616e7366657220746f20746865207a65726f206164604082015264647265737360d81b606082015260800190565b6020808252602a908201527f455243313135353a20696e73756666696369656e742062616c616e636520666f60408201526939103a3930b739b332b960b11b606082015260800190565b6001600160a01b03868116825285166020820152604081018490526060810183905260a060808201819052600090613f2690830184613180565b979650505050505050565b808202811582820484141761082a5761082a613873565b600081613f5757613f57613873565b50600019019056feb1f71c0ba2ec939f106d7d4b15b1d8fd0d205b821e122ec2649edf3533a8ea86feffaec5312afdafc3b8fb7c85361e6d0462807200cbd1283769da4134fa8d0b68747470733a2f2f70726f642d6261636b656e642e78616e616c69612e636f6d2f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a61836f3834286c4b1526caf24aef8a0ae865c0a8b7124c14b6189880f58d8170ca2646970667358221220b291d5d1a5b513b2ed55b5df87d23f40df1ae29c2fd919cd662d88fb78dbc0b364736f6c63430008110033