[ { "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": "previousOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": true, "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "inputs": [ { "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": "uint256", "name": "quantity", "type": "uint256" } ], "name": "devMint", "outputs": [], "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": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "operator", "type": "address" } ], "name": "isApprovedForAll", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "isWhitelisted", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "quantity", "type": "uint256" } ], "name": "mint", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [], "name": "mintActive", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "mintHasStarted", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "onlyWhitelist", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "ownerOf", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_tokenId", "type": "uint256" }, { "internalType": "uint256", "name": "_salePrice", "type": "uint256" } ], "name": "royaltyInfo", "outputs": [ { "internalType": "address", "name": "receiver", "type": "address" }, { "internalType": "uint256", "name": "royaltyAmount", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "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": [], "name": "secondsUntilPublic", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "secondsUntilWL", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "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": "artist_", "type": "address" } ], "name": "setArtist", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "customBaseURI_", "type": "string" } ], "name": "setBaseURI", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "status", "type": "bool" } ], "name": "setMintActive", "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": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "transferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address[]", "name": "_accounts", "type": "address[]" } ], "name": "whitelistAccounts", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ]
608060405260006008553480156200001657600080fd5b506103786040518060400160405280600881526020017f436f696e466c69700000000000000000000000000000000000000000000000008152506040518060400160405280600381526020017f43464c000000000000000000000000000000000000000000000000000000000081525081600090805190602001906200009e92919062000293565b508060019080519060200190620000b792919062000293565b505050620000da620000ce620001c560201b60201c565b620001cd60201b60201c565b8060098190555050604051806080016040528060438152602001620042d660439139600d90805190602001906200011392919062000293565b50610378600c819055506103e8600e819055506001601660006101000a81548160ff021916908315150217905550600a600f8190555066470de4df82000060108190555060006011819055507372bb5315237126e0d2307dbaac3ee10d92adfdfb601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555063630ddfa0601781905550620003a8565b600033905090565b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b828054620002a19062000343565b90600052602060002090601f016020900481019282620002c5576000855562000311565b82601f10620002e057805160ff191683800117855562000311565b8280016001018555821562000311579182015b8281111562000310578251825591602001919060010190620002f3565b5b50905062000320919062000324565b5090565b5b808211156200033f57600081600090555060010162000325565b5090565b600060028204905060018216806200035c57607f821691505b6020821081141562000373576200037262000379565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b613f1e80620003b86000396000f3fe6080604052600436106101cd5760003560e01c806370a08231116100f7578063a88e099611610095578063d4c9753311610064578063d4c975331461067c578063e985e9c5146106a5578063ee1cc944146106e2578063f2fde38b1461070b576101cd565b8063a88e0996146105c0578063b56694f1146105eb578063b88d4fde14610616578063c87b56dd1461063f576101cd565b806395d89b41116100d157806395d89b4114610525578063a0712d6814610550578063a21b5fe91461056c578063a22cb46514610597576101cd565b806370a08231146104a6578063715018a6146104e35780638da5cb5b146104fa576101cd565b80632a55205a1161016f57806352a838fe1161013e57806352a838fe146103ec57806355f804b3146104175780635855279e146104405780636352211e14610469576101cd565b80632a55205a1461031f578063375a069a1461035d5780633af32abf1461038657806342842e0e146103c3576101cd565b8063095ea7b3116101ab578063095ea7b31461027757806318160ddd146102a057806323b872dd146102cb57806325fd90f3146102f4576101cd565b806301ffc9a7146101d257806306fdde031461020f578063081812fc1461023a575b600080fd5b3480156101de57600080fd5b506101f960048036038101906101f49190612c28565b610734565b6040516102069190613201565b60405180910390f35b34801561021b57600080fd5b5061022461079d565b604051610231919061321c565b60405180910390f35b34801561024657600080fd5b50610261600480360381019061025c9190612ccb565b61082f565b60405161026e9190613171565b60405180910390f35b34801561028357600080fd5b5061029e60048036038101906102999190612b72565b610875565b005b3480156102ac57600080fd5b506102b561098d565b6040516102c291906134fe565b60405180910390f35b3480156102d757600080fd5b506102f260048036038101906102ed9190612a5c565b61099e565b005b34801561030057600080fd5b506103096109fe565b6040516103169190613201565b60405180910390f35b34801561032b57600080fd5b5061034660048036038101906103419190612cf8565b610a15565b6040516103549291906131d8565b60405180910390f35b34801561036957600080fd5b50610384600480360381019061037f9190612ccb565b610a61565b005b34801561039257600080fd5b506103ad60048036038101906103a891906129ef565b610a94565b6040516103ba9190613201565b60405180910390f35b3480156103cf57600080fd5b506103ea60048036038101906103e59190612a5c565b610aea565b005b3480156103f857600080fd5b50610401610b0a565b60405161040e91906134fe565b60405180910390f35b34801561042357600080fd5b5061043e60048036038101906104399190612c82565b610b35565b005b34801561044c57600080fd5b5061046760048036038101906104629190612bb2565b610b57565b005b34801561047557600080fd5b50610490600480360381019061048b9190612ccb565b610bf4565b60405161049d9190613171565b60405180910390f35b3480156104b257600080fd5b506104cd60048036038101906104c891906129ef565b610ca6565b6040516104da91906134fe565b60405180910390f35b3480156104ef57600080fd5b506104f8610d5e565b005b34801561050657600080fd5b5061050f610d72565b60405161051c9190613171565b60405180910390f35b34801561053157600080fd5b5061053a610d9c565b604051610547919061321c565b60405180910390f35b61056a60048036038101906105659190612ccb565b610e2e565b005b34801561057857600080fd5b50610581611332565b60405161058e9190613201565b60405180910390f35b3480156105a357600080fd5b506105be60048036038101906105b99190612b32565b61133f565b005b3480156105cc57600080fd5b506105d5611355565b6040516105e29190613201565b60405180910390f35b3480156105f757600080fd5b5061060061136e565b60405161060d91906134fe565b60405180910390f35b34801561062257600080fd5b5061063d60048036038101906106389190612aaf565b6113a7565b005b34801561064b57600080fd5b5061066660048036038101906106619190612ccb565b611409565b604051610673919061321c565b60405180910390f35b34801561068857600080fd5b506106a3600480360381019061069e91906129ef565b61151c565b005b3480156106b157600080fd5b506106cc60048036038101906106c79190612a1c565b611568565b6040516106d99190613201565b60405180910390f35b3480156106ee57600080fd5b5061070960048036038101906107049190612bfb565b6115fc565b005b34801561071757600080fd5b50610732600480360381019061072d91906129ef565b611621565b005b6000632a55205a60e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916141561078c5760019050610798565b610795826116a5565b90505b919050565b6060600080546107ac906137da565b80601f01602080910402602001604051908101604052809291908181526020018280546107d8906137da565b80156108255780601f106107fa57610100808354040283529160200191610825565b820191906000526020600020905b81548152906001019060200180831161080857829003601f168201915b5050505050905090565b600061083a82611787565b6004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b600061088082610bf4565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156108f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108e89061345e565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166109106117d2565b73ffffffffffffffffffffffffffffffffffffffff16148061093f575061093e816109396117d2565b611568565b5b61097e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109759061339e565b60405180910390fd5b61098883836117da565b505050565b6000610999600b611893565b905090565b6109af6109a96117d2565b826118a1565b6109ee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109e5906134de565b60405180910390fd5b6109f9838383611936565b505050565b6000601660009054906101000a900460ff16905090565b600080601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16612710600e5485610a4c9190613696565b610a569190613665565b915091509250929050565b610a69611b9d565b60005b81811015610a9057610a7d33611c1b565b8080610a889061383d565b915050610a6c565b5050565b6000601360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b610b05838383604051806020016040528060008152506113a7565b505050565b6000610b14611332565b610b2d5742601754610b2691906136f0565b9050610b32565b600090505b90565b610b3d611b9d565b80600d9080519060200190610b53929190612765565b5050565b610b5f611b9d565b60005b8151811015610bf057600160136000848481518110610b8457610b8361394e565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610be89061383d565b915050610b62565b5050565b6000806002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610c9d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c949061343e565b60405180910390fd5b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610d17576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d0e9061331e565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610d66611b9d565b610d706000611cec565b565b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060018054610dab906137da565b80601f0160208091040260200160405190810160405280929190818152602001828054610dd7906137da565b8015610e245780601f10610df957610100808354040283529160200191610e24565b820191906000526020600020905b815481529060010190602001808311610e0757829003601f168201915b5050505050905090565b601660009054906101000a900460ff16610e7d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e749061347e565b60405180910390fd5b610e85611332565b610ec4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ebb906134be565b60405180910390fd5b600f54811115610f09576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f009061337e565b60405180910390fd5b610f11611355565b156110bc5760018114610f59576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f50906133de565b60405180910390fd5b601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610fe5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fdc9061333e565b60405180910390fd5b80601154610ff39190613696565b341015611035576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161102c9061335e565b60405180910390fd5b6001601460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054106110b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110ae9061349e565b60405180910390fd5b6111dd565b600581106110ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110f6906132be565b60405180910390fd5b8060105461110d9190613696565b34101561114f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111469061335e565b60405180910390fd5b6005601560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548261119c919061360f565b106111dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111d39061349e565b60405180910390fd5b5b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f19350505050158015611245573d6000803e3d6000fd5b5060005b8181101561132e5761125a33611c1b565b611262611355565b156112c3576001601460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546112b7919061360f565b9250508190555061131b565b6001601560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611313919061360f565b925050819055505b80806113269061383d565b915050611249565b5050565b6000601754421015905090565b61135161134a6117d2565b8383611db2565b5050565b6000610258601754611367919061360f565b4210905090565b6000611378611355565b1561139f574261025860175461138e919061360f565b61139891906136f0565b90506113a4565b600090505b90565b6113b86113b26117d2565b836118a1565b6113f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113ee906134de565b60405180910390fd5b61140384848484611f1f565b50505050565b606061141482611787565b6000600660008481526020019081526020016000208054611434906137da565b80601f0160208091040260200160405190810160405280929190818152602001828054611460906137da565b80156114ad5780601f10611482576101008083540402835291602001916114ad565b820191906000526020600020905b81548152906001019060200180831161149057829003601f168201915b5050505050905060006114be611f7b565b90506000815114156114d4578192505050611517565b6000825111156115095780826040516020016114f1929190613121565b60405160208183030381529060405292505050611517565b6115128461200d565b925050505b919050565b611524611b9d565b80601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b611604611b9d565b80601660006101000a81548160ff02191690831515021790555050565b611629611b9d565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611699576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116909061325e565b60405180910390fd5b6116a281611cec565b50565b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061177057507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80611780575061177f82612075565b5b9050919050565b611790816120df565b6117cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117c69061343e565b60405180910390fd5b50565b600033905090565b816004600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff1661184d83610bf4565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600081600001549050919050565b6000806118ad83610bf4565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614806118ef57506118ee8185611568565b5b8061192d57508373ffffffffffffffffffffffffffffffffffffffff166119158461082f565b73ffffffffffffffffffffffffffffffffffffffff16145b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff1661195682610bf4565b73ffffffffffffffffffffffffffffffffffffffff16146119ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119a39061327e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611a1c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a13906132de565b60405180910390fd5b611a2783838361214b565b611a326000826117da565b6001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611a8291906136f0565b925050819055506001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611ad9919061360f565b92505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4611b98838383612150565b505050565b611ba56117d2565b73ffffffffffffffffffffffffffffffffffffffff16611bc3610d72565b73ffffffffffffffffffffffffffffffffffffffff1614611c19576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c109061341e565b60405180910390fd5b565b6000611c27600b611893565b600c54611c3491906136f0565b4442604051602001611c47929190613145565b6040516020818303038152906040528051906020012060001c611c6a9190613890565b9050611c76600b612155565b600c54611c83600b611893565b1115611cc4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cbb906133fe565b60405180910390fd5b60006001611cd18361216b565b611cdb919061360f565b9050611ce78382612270565b505050565b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611e21576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e18906132fe565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051611f129190613201565b60405180910390a3505050565b611f2a848484611936565b611f368484848461244a565b611f75576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f6c9061323e565b60405180910390fd5b50505050565b6060600d8054611f8a906137da565b80601f0160208091040260200160405190810160405280929190818152602001828054611fb6906137da565b80156120035780601f10611fd857610100808354040283529160200191612003565b820191906000526020600020905b815481529060010190602001808311611fe657829003601f168201915b5050505050905090565b606061201882611787565b6000612022611f7b565b90506000815111612042576040518060200160405280600081525061206d565b8061204c846125e1565b60405160200161205d929190613121565b6040516020818303038152906040525b915050919050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b60008073ffffffffffffffffffffffffffffffffffffffff166002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614159050919050565b505050565b505050565b6001816000016000828254019250508190555050565b60008060085460095461217e91906136f0565b90506000806000600a600060018661219691906136f0565b81526020019081526020016000205414156121bf576001836121b891906136f0565b91506121e2565b600a60006001856121d091906136f0565b81526020019081526020016000205491505b6000600a600087815260200190815260200160002054141561221e5784905081600a60008781526020019081526020016000208190555061224d565b600a600086815260200190815260200160002054905081600a6000878152602001908152602001600020819055505b600860008154809291906122609061383d565b9190505550809350505050919050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156122e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122d7906133be565b60405180910390fd5b6122e9816120df565b15612329576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123209061329e565b60405180910390fd5b6123356000838361214b565b6001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612385919061360f565b92505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a461244660008383612150565b5050565b600061246b8473ffffffffffffffffffffffffffffffffffffffff16612742565b156125d4578373ffffffffffffffffffffffffffffffffffffffff1663150b7a026124946117d2565b8786866040518563ffffffff1660e01b81526004016124b6949392919061318c565b602060405180830381600087803b1580156124d057600080fd5b505af192505050801561250157506040513d601f19601f820116820180604052508101906124fe9190612c55565b60015b612584573d8060008114612531576040519150601f19603f3d011682016040523d82523d6000602084013e612536565b606091505b5060008151141561257c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125739061323e565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149150506125d9565b600190505b949350505050565b60606000821415612629576040518060400160405280600181526020017f3000000000000000000000000000000000000000000000000000000000000000815250905061273d565b600082905060005b6000821461265b5780806126449061383d565b915050600a826126549190613665565b9150612631565b60008167ffffffffffffffff8111156126775761267661397d565b5b6040519080825280601f01601f1916602001820160405280156126a95781602001600182028036833780820191505090505b5090505b60008514612736576001826126c291906136f0565b9150600a856126d19190613890565b60306126dd919061360f565b60f81b8183815181106126f3576126f261394e565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a8561272f9190613665565b94506126ad565b8093505050505b919050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b828054612771906137da565b90600052602060002090601f01602090048101928261279357600085556127da565b82601f106127ac57805160ff19168380011785556127da565b828001600101855582156127da579182015b828111156127d95782518255916020019190600101906127be565b5b5090506127e791906127eb565b5090565b5b808211156128045760008160009055506001016127ec565b5090565b600061281b6128168461353e565b613519565b9050808382526020820190508285602086028201111561283e5761283d6139b1565b5b60005b8581101561286e578161285488826128fc565b845260208401935060208301925050600181019050612841565b5050509392505050565b600061288b6128868461356a565b613519565b9050828152602081018484840111156128a7576128a66139b6565b5b6128b2848285613798565b509392505050565b60006128cd6128c88461359b565b613519565b9050828152602081018484840111156128e9576128e86139b6565b5b6128f4848285613798565b509392505050565b60008135905061290b81613e8c565b92915050565b600082601f830112612926576129256139ac565b5b8135612936848260208601612808565b91505092915050565b60008135905061294e81613ea3565b92915050565b60008135905061296381613eba565b92915050565b60008151905061297881613eba565b92915050565b600082601f830112612993576129926139ac565b5b81356129a3848260208601612878565b91505092915050565b600082601f8301126129c1576129c06139ac565b5b81356129d18482602086016128ba565b91505092915050565b6000813590506129e981613ed1565b92915050565b600060208284031215612a0557612a046139c0565b5b6000612a13848285016128fc565b91505092915050565b60008060408385031215612a3357612a326139c0565b5b6000612a41858286016128fc565b9250506020612a52858286016128fc565b9150509250929050565b600080600060608486031215612a7557612a746139c0565b5b6000612a83868287016128fc565b9350506020612a94868287016128fc565b9250506040612aa5868287016129da565b9150509250925092565b60008060008060808587031215612ac957612ac86139c0565b5b6000612ad7878288016128fc565b9450506020612ae8878288016128fc565b9350506040612af9878288016129da565b925050606085013567ffffffffffffffff811115612b1a57612b196139bb565b5b612b268782880161297e565b91505092959194509250565b60008060408385031215612b4957612b486139c0565b5b6000612b57858286016128fc565b9250506020612b688582860161293f565b9150509250929050565b60008060408385031215612b8957612b886139c0565b5b6000612b97858286016128fc565b9250506020612ba8858286016129da565b9150509250929050565b600060208284031215612bc857612bc76139c0565b5b600082013567ffffffffffffffff811115612be657612be56139bb565b5b612bf284828501612911565b91505092915050565b600060208284031215612c1157612c106139c0565b5b6000612c1f8482850161293f565b91505092915050565b600060208284031215612c3e57612c3d6139c0565b5b6000612c4c84828501612954565b91505092915050565b600060208284031215612c6b57612c6a6139c0565b5b6000612c7984828501612969565b91505092915050565b600060208284031215612c9857612c976139c0565b5b600082013567ffffffffffffffff811115612cb657612cb56139bb565b5b612cc2848285016129ac565b91505092915050565b600060208284031215612ce157612ce06139c0565b5b6000612cef848285016129da565b91505092915050565b60008060408385031215612d0f57612d0e6139c0565b5b6000612d1d858286016129da565b9250506020612d2e858286016129da565b9150509250929050565b612d4181613724565b82525050565b612d5081613736565b82525050565b6000612d61826135cc565b612d6b81856135e2565b9350612d7b8185602086016137a7565b612d84816139c5565b840191505092915050565b6000612d9a826135d7565b612da481856135f3565b9350612db48185602086016137a7565b612dbd816139c5565b840191505092915050565b6000612dd3826135d7565b612ddd8185613604565b9350612ded8185602086016137a7565b80840191505092915050565b6000612e066032836135f3565b9150612e11826139d6565b604082019050919050565b6000612e296026836135f3565b9150612e3482613a25565b604082019050919050565b6000612e4c6025836135f3565b9150612e5782613a74565b604082019050919050565b6000612e6f601c836135f3565b9150612e7a82613ac3565b602082019050919050565b6000612e926012836135f3565b9150612e9d82613aec565b602082019050919050565b6000612eb56024836135f3565b9150612ec082613b15565b604082019050919050565b6000612ed86019836135f3565b9150612ee382613b64565b602082019050919050565b6000612efb6029836135f3565b9150612f0682613b8d565b604082019050919050565b6000612f1e6017836135f3565b9150612f2982613bdc565b602082019050919050565b6000612f416015836135f3565b9150612f4c82613c05565b602082019050919050565b6000612f64601e836135f3565b9150612f6f82613c2e565b602082019050919050565b6000612f87603e836135f3565b9150612f9282613c57565b604082019050919050565b6000612faa6020836135f3565b9150612fb582613ca6565b602082019050919050565b6000612fcd6015836135f3565b9150612fd882613ccf565b602082019050919050565b6000612ff0601c836135f3565b9150612ffb82613cf8565b602082019050919050565b60006130136020836135f3565b915061301e82613d21565b602082019050919050565b60006130366018836135f3565b915061304182613d4a565b602082019050919050565b60006130596021836135f3565b915061306482613d73565b604082019050919050565b600061307c6016836135f3565b915061308782613dc2565b602082019050919050565b600061309f6015836135f3565b91506130aa82613deb565b602082019050919050565b60006130c26015836135f3565b91506130cd82613e14565b602082019050919050565b60006130e5602e836135f3565b91506130f082613e3d565b604082019050919050565b6131048161378e565b82525050565b61311b6131168261378e565b613886565b82525050565b600061312d8285612dc8565b91506131398284612dc8565b91508190509392505050565b6000613151828561310a565b602082019150613161828461310a565b6020820191508190509392505050565b60006020820190506131866000830184612d38565b92915050565b60006080820190506131a16000830187612d38565b6131ae6020830186612d38565b6131bb60408301856130fb565b81810360608301526131cd8184612d56565b905095945050505050565b60006040820190506131ed6000830185612d38565b6131fa60208301846130fb565b9392505050565b60006020820190506132166000830184612d47565b92915050565b600060208201905081810360008301526132368184612d8f565b905092915050565b6000602082019050818103600083015261325781612df9565b9050919050565b6000602082019050818103600083015261327781612e1c565b9050919050565b6000602082019050818103600083015261329781612e3f565b9050919050565b600060208201905081810360008301526132b781612e62565b9050919050565b600060208201905081810360008301526132d781612e85565b9050919050565b600060208201905081810360008301526132f781612ea8565b9050919050565b6000602082019050818103600083015261331781612ecb565b9050919050565b6000602082019050818103600083015261333781612eee565b9050919050565b6000602082019050818103600083015261335781612f11565b9050919050565b6000602082019050818103600083015261337781612f34565b9050919050565b6000602082019050818103600083015261339781612f57565b9050919050565b600060208201905081810360008301526133b781612f7a565b9050919050565b600060208201905081810360008301526133d781612f9d565b9050919050565b600060208201905081810360008301526133f781612fc0565b9050919050565b6000602082019050818103600083015261341781612fe3565b9050919050565b6000602082019050818103600083015261343781613006565b9050919050565b6000602082019050818103600083015261345781613029565b9050919050565b600060208201905081810360008301526134778161304c565b9050919050565b600060208201905081810360008301526134978161306f565b9050919050565b600060208201905081810360008301526134b781613092565b9050919050565b600060208201905081810360008301526134d7816130b5565b9050919050565b600060208201905081810360008301526134f7816130d8565b9050919050565b600060208201905061351360008301846130fb565b92915050565b6000613523613534565b905061352f828261380c565b919050565b6000604051905090565b600067ffffffffffffffff8211156135595761355861397d565b5b602082029050602081019050919050565b600067ffffffffffffffff8211156135855761358461397d565b5b61358e826139c5565b9050602081019050919050565b600067ffffffffffffffff8211156135b6576135b561397d565b5b6135bf826139c5565b9050602081019050919050565b600081519050919050565b600081519050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600081905092915050565b600061361a8261378e565b91506136258361378e565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561365a576136596138c1565b5b828201905092915050565b60006136708261378e565b915061367b8361378e565b92508261368b5761368a6138f0565b5b828204905092915050565b60006136a18261378e565b91506136ac8361378e565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156136e5576136e46138c1565b5b828202905092915050565b60006136fb8261378e565b91506137068361378e565b925082821015613719576137186138c1565b5b828203905092915050565b600061372f8261376e565b9050919050565b60008115159050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b82818337600083830152505050565b60005b838110156137c55780820151818401526020810190506137aa565b838111156137d4576000848401525b50505050565b600060028204905060018216806137f257607f821691505b602082108114156138065761380561391f565b5b50919050565b613815826139c5565b810181811067ffffffffffffffff821117156138345761383361397d565b5b80604052505050565b60006138488261378e565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561387b5761387a6138c1565b5b600182019050919050565b6000819050919050565b600061389b8261378e565b91506138a68361378e565b9250826138b6576138b56138f0565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f4552433732313a207472616e736665722066726f6d20696e636f72726563742060008201527f6f776e6572000000000000000000000000000000000000000000000000000000602082015250565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b7f34206d696e74207065722077616c6c65742e0000000000000000000000000000600082015250565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b7f4552433732313a2061646472657373207a65726f206973206e6f74206120766160008201527f6c6964206f776e65720000000000000000000000000000000000000000000000602082015250565b7f5075626c6963206d696e74206e6f74206163746976652e000000000000000000600082015250565b7f4e6f7420656e6f75676820415641582073656e742e0000000000000000000000600082015250565b7f43616e6e6f74206d696e742074686174206d616e79206174206f6e63652e0000600082015250565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60008201527f6b656e206f776e6572206e6f7220617070726f76656420666f7220616c6c0000602082015250565b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b7f3120574c206d696e74207065722077616c6c65742e0000000000000000000000600082015250565b7f50726f6a6563742069732066696e6973686564206d696e74696e672e00000000600082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f4552433732313a20696e76616c696420746f6b656e2049440000000000000000600082015250565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b7f4d696e74696e67206973206e6f74206163746976652e00000000000000000000600082015250565b7f4e6f206d6f7265206d696e7420616c6c6f7765642e0000000000000000000000600082015250565b7f4d696e7420686173206e6f7420737461727465642e0000000000000000000000600082015250565b7f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560008201527f72206e6f7220617070726f766564000000000000000000000000000000000000602082015250565b613e9581613724565b8114613ea057600080fd5b50565b613eac81613736565b8114613eb757600080fd5b50565b613ec381613742565b8114613ece57600080fd5b50565b613eda8161378e565b8114613ee557600080fd5b5056fea2646970667358221220975abfa47ac0b9f9ac53f1d6df6b3d1a2d91d2a1bf190bbdb422daa2f7ef545864736f6c63430008070033697066733a2f2f62616679626569636d3477326879336f75646e3366633662367179727a6a66376c78616b7a667162366b79786e78746f7336696175696a793636612f