[ { "inputs": [ { "internalType": "string", "name": "_baseUri", "type": "string" }, { "internalType": "address", "name": "initialOwner", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [], "name": "ApprovalCallerNotOwnerNorApproved", "type": "error" }, { "inputs": [], "name": "ApprovalQueryForNonexistentToken", "type": "error" }, { "inputs": [], "name": "BalanceQueryForZeroAddress", "type": "error" }, { "inputs": [], "name": "MintERC2309QuantityExceedsLimit", "type": "error" }, { "inputs": [], "name": "MintToZeroAddress", "type": "error" }, { "inputs": [], "name": "MintZeroQuantity", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "name": "OwnableInvalidOwner", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "OwnableUnauthorizedAccount", "type": "error" }, { "inputs": [], "name": "OwnerQueryForNonexistentToken", "type": "error" }, { "inputs": [], "name": "OwnershipNotInitializedForExtraData", "type": "error" }, { "inputs": [], "name": "TransferCallerNotOwnerNorApproved", "type": "error" }, { "inputs": [], "name": "TransferFromIncorrectOwner", "type": "error" }, { "inputs": [], "name": "TransferToNonERC721ReceiverImplementer", "type": "error" }, { "inputs": [], "name": "TransferToZeroAddress", "type": "error" }, { "inputs": [], "name": "URIQueryForNonexistentToken", "type": "error" }, { "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": "uint256", "name": "fromTokenId", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "toTokenId", "type": "uint256" }, { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" } ], "name": "ConsecutiveTransfer", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "previousOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": true, "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "inputs": [], "name": "COST", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "MAX_PER_WALLET", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "MAX_SUPPLY", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "allowMintOpen", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "approve", "outputs": [], "stateMutability": "payable", "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": "cut", "type": "uint256" } ], "name": "cutSupply", "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": "uint256", "name": "quantity", "type": "uint256" } ], "name": "mint", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [], "name": "mintSwitch", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "quantity", "type": "uint256" } ], "name": "ownerMint", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "ownerOf", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "safeTransferFrom", "outputs": [], "stateMutability": "payable", "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": "payable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "operator", "type": "address" }, { "internalType": "bool", "name": "approved", "type": "bool" } ], "name": "setApprovalForAll", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "_uri", "type": "string" } ], "name": "setBaseUri", "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": "payable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "adr", "type": "address" } ], "name": "withdraw", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ]
6080604052610bac6009553480156200001757600080fd5b50604051620034a7380380620034a783398181016040528101906200003d9190620006c8565b806040518060400160405280600e81526020017f42617365205265736964656e74730000000000000000000000000000000000008152506040518060400160405280600281526020017f42520000000000000000000000000000000000000000000000000000000000008152508160029081620000bb919062000979565b508060039081620000cd919062000979565b50620000de6200019a60201b60201c565b6000819055505050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036200015b5760006040517f1e4fbdf700000000000000000000000000000000000000000000000000000000815260040162000152919062000a71565b60405180910390fd5b6200016c81620001a360201b60201c565b5081600b90816200017e919062000979565b50620001923360016200026960201b60201c565b505062000a8e565b60006001905090565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60008054905060008203620002aa576040517fb562e8dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b620002bf60008483856200045060201b60201c565b600160406001901b178202600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055506200034e836200033060008660006200045660201b60201c565b62000341856200048660201b60201c565b176200049660201b60201c565b6004600083815260200190815260200160002081905550600080838301905073ffffffffffffffffffffffffffffffffffffffff85169150828260007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600080a4600183015b818114620003f157808360007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600080a4600181019050620003b4565b50600082036200042d576040517f2e07630000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060008190555050506200044b6000848385620004c160201b60201c565b505050565b50505050565b60008060e883901c905060e862000475868684620004c760201b60201c565b62ffffff16901b9150509392505050565b60006001821460e11b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff83169250814260a01b178317905092915050565b50505050565b60009392505050565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6200053982620004ee565b810181811067ffffffffffffffff821117156200055b576200055a620004ff565b5b80604052505050565b600062000570620004d0565b90506200057e82826200052e565b919050565b600067ffffffffffffffff821115620005a157620005a0620004ff565b5b620005ac82620004ee565b9050602081019050919050565b60005b83811015620005d9578082015181840152602081019050620005bc565b60008484015250505050565b6000620005fc620005f68462000583565b62000564565b9050828152602081018484840111156200061b576200061a620004e9565b5b62000628848285620005b9565b509392505050565b600082601f830112620006485762000647620004e4565b5b81516200065a848260208601620005e5565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620006908262000663565b9050919050565b620006a28162000683565b8114620006ae57600080fd5b50565b600081519050620006c28162000697565b92915050565b60008060408385031215620006e257620006e1620004da565b5b600083015167ffffffffffffffff811115620007035762000702620004df565b5b620007118582860162000630565b92505060206200072485828601620006b1565b9150509250929050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200078157607f821691505b60208210810362000797576200079662000739565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620008017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620007c2565b6200080d8683620007c2565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b60006200085a620008546200084e8462000825565b6200082f565b62000825565b9050919050565b6000819050919050565b620008768362000839565b6200088e620008858262000861565b848454620007cf565b825550505050565b600090565b620008a562000896565b620008b28184846200086b565b505050565b5b81811015620008da57620008ce6000826200089b565b600181019050620008b8565b5050565b601f8211156200092957620008f3816200079d565b620008fe84620007b2565b810160208510156200090e578190505b620009266200091d85620007b2565b830182620008b7565b50505b505050565b600082821c905092915050565b60006200094e600019846008026200092e565b1980831691505092915050565b60006200096983836200093b565b9150826002028217905092915050565b62000984826200072e565b67ffffffffffffffff811115620009a0576200099f620004ff565b5b620009ac825462000768565b620009b9828285620008de565b600060209050601f831160018114620009f15760008415620009dc578287015190505b620009e885826200095b565b86555062000a58565b601f19841662000a01866200079d565b60005b8281101562000a2b5784890151825560018201915060208501945060208101905062000a04565b8683101562000a4b578489015162000a47601f8916826200093b565b8355505b6001600288020188555050505b505050505050565b62000a6b8162000683565b82525050565b600060208201905062000a88600083018462000a60565b92915050565b612a098062000a9e6000396000f3fe60806040526004361061019c5760003560e01c8063715018a6116100ec578063bf8fbbd21161008a578063eacb912d11610064578063eacb912d14610585578063f19e75d41461059c578063f2fde38b146105c5578063f4c44569146105ee5761019c565b8063bf8fbbd2146104e0578063c87b56dd1461050b578063e985e9c5146105485761019c565b8063a0712d68116100c6578063a0712d6814610456578063a0bcfc7f14610472578063a22cb4651461049b578063b88d4fde146104c45761019c565b8063715018a6146103e95780638da5cb5b1461040057806395d89b411461042b5761019c565b80631964e63e1161015957806342842e0e1161013357806342842e0e1461032a57806351cff8d9146103465780636352211e1461036f57806370a08231146103ac5761019c565b80631964e63e146102b857806323b872dd146102e357806332cb6b0c146102ff5761019c565b806301ffc9a7146101a157806306fdde03146101de578063081812fc14610209578063095ea7b3146102465780630f2cdd6c1461026257806318160ddd1461028d575b600080fd5b3480156101ad57600080fd5b506101c860048036038101906101c39190611c85565b610617565b6040516101d59190611ccd565b60405180910390f35b3480156101ea57600080fd5b506101f3610629565b6040516102009190611d78565b60405180910390f35b34801561021557600080fd5b50610230600480360381019061022b9190611dd0565b6106bb565b60405161023d9190611e3e565b60405180910390f35b610260600480360381019061025b9190611e85565b61073a565b005b34801561026e57600080fd5b5061027761087e565b6040516102849190611ed4565b60405180910390f35b34801561029957600080fd5b506102a2610883565b6040516102af9190611ed4565b60405180910390f35b3480156102c457600080fd5b506102cd61089a565b6040516102da9190611ccd565b60405180910390f35b6102fd60048036038101906102f89190611eef565b6108ad565b005b34801561030b57600080fd5b50610314610bcf565b6040516103219190611ed4565b60405180910390f35b610344600480360381019061033f9190611eef565b610bd5565b005b34801561035257600080fd5b5061036d60048036038101906103689190611f42565b610bf5565b005b34801561037b57600080fd5b5061039660048036038101906103919190611dd0565b610c4d565b6040516103a39190611e3e565b60405180910390f35b3480156103b857600080fd5b506103d360048036038101906103ce9190611f42565b610c5f565b6040516103e09190611ed4565b60405180910390f35b3480156103f557600080fd5b506103fe610d17565b005b34801561040c57600080fd5b50610415610d2b565b6040516104229190611e3e565b60405180910390f35b34801561043757600080fd5b50610440610d55565b60405161044d9190611d78565b60405180910390f35b610470600480360381019061046b9190611dd0565b610de7565b005b34801561047e57600080fd5b50610499600480360381019061049491906120a4565b610fa1565b005b3480156104a757600080fd5b506104c260048036038101906104bd9190612119565b610fbc565b005b6104de60048036038101906104d991906121fa565b6110c7565b005b3480156104ec57600080fd5b506104f561113a565b6040516105029190611ed4565b60405180910390f35b34801561051757600080fd5b50610532600480360381019061052d9190611dd0565b611145565b60405161053f9190611d78565b60405180910390f35b34801561055457600080fd5b5061056f600480360381019061056a919061227d565b6111e3565b60405161057c9190611ccd565b60405180910390f35b34801561059157600080fd5b5061059a611277565b005b3480156105a857600080fd5b506105c360048036038101906105be9190611dd0565b6112ab565b005b3480156105d157600080fd5b506105ec60048036038101906105e79190611f42565b611317565b005b3480156105fa57600080fd5b5061061560048036038101906106109190611dd0565b61139d565b005b600061062282611413565b9050919050565b606060028054610638906122ec565b80601f0160208091040260200160405190810160405280929190818152602001828054610664906122ec565b80156106b15780601f10610686576101008083540402835291602001916106b1565b820191906000526020600020905b81548152906001019060200180831161069457829003601f168201915b5050505050905090565b60006106c6826114a5565b6106fc576040517fcf4700e400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6006600083815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b600061074582610c4d565b90508073ffffffffffffffffffffffffffffffffffffffff16610766611504565b73ffffffffffffffffffffffffffffffffffffffff16146107c9576107928161078d611504565b6111e3565b6107c8576040517fcfb3b94200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5b826006600084815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550818373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a4505050565b600381565b600061088d61150c565b6001546000540303905090565b600a60009054906101000a900460ff1681565b60006108b882611515565b90508373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161461091f576040517fa114810000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008061092b846115e1565b91509150610941818761093c611504565b611608565b61098d5761095686610951611504565b6111e3565b61098c576040517f59c896be00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5b600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16036109f3576040517fea553b3400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610a00868686600161164c565b8015610a0b57600082555b600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600081546001900391905081905550600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000815460010191905081905550610ad985610ab5888887611652565b7c02000000000000000000000000000000000000000000000000000000001761167a565b600460008681526020019081526020016000208190555060007c0200000000000000000000000000000000000000000000000000000000841603610b5f5760006001850190506000600460008381526020019081526020016000205403610b5d576000548114610b5c578360046000838152602001908152602001600020819055505b5b505b838573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4610bc786868660016116a5565b505050505050565b60095481565b610bf0838383604051806020016040528060008152506110c7565b505050565b610bfd6116ab565b60004790508173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610c48573d6000803e3d6000fd5b505050565b6000610c5882611515565b9050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610cc6576040517f8f4eb60400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b67ffffffffffffffff600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054169050919050565b610d1f6116ab565b610d296000611732565b565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060038054610d64906122ec565b80601f0160208091040260200160405190810160405280929190818152602001828054610d90906122ec565b8015610ddd5780601f10610db257610100808354040283529160200191610ddd565b820191906000526020600020905b815481529060010190602001808311610dc057829003601f168201915b5050505050905090565b600a60009054906101000a900460ff16610e36576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e2d90612369565b60405180910390fd5b60095481610e426117f8565b610e4c91906123b8565b1115610e8d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e8490612438565b60405180910390fd5b6003811115610ed1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ec8906124a4565b60405180910390fd5b3481660fa1c6d5030000610ee591906124c4565b1115610f26576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f1d90612552565b60405180910390fd5b3273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610f94576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f8b906125be565b60405180910390fd5b610f9e338261180b565b50565b610fa96116ab565b80600b9081610fb8919061278a565b5050565b8060076000610fc9611504565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff16611076611504565b73ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31836040516110bb9190611ccd565b60405180910390a35050565b6110d28484846108ad565b60008373ffffffffffffffffffffffffffffffffffffffff163b14611134576110fd848484846119c6565b611133576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5b50505050565b660fa1c6d503000081565b6060611150826114a5565b611186576040517fa14c4b5000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000611190611b16565b905060008151036111b057604051806020016040528060008152506111db565b806111ba84611ba8565b6040516020016111cb929190612898565b6040516020818303038152906040525b915050919050565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b61127f6116ab565b600a60009054906101000a900460ff1615600a60006101000a81548160ff021916908315150217905550565b6112b36116ab565b600954816112bf6117f8565b6112c991906123b8565b111561130a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161130190612438565b60405180910390fd5b611314338261180b565b50565b61131f6116ab565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036113915760006040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081526004016113889190611e3e565b60405180910390fd5b61139a81611732565b50565b6113a56116ab565b6009546113b06117f8565b826113bb91906123b8565b11156113fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113f390612438565b60405180910390fd5b8060095461140a91906128bc565b60098190555050565b60006301ffc9a760e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061146e57506380ac58cd60e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b8061149e5750635b5e139f60e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b9050919050565b6000816114b061150c565b111580156114bf575060005482105b80156114fd575060007c0100000000000000000000000000000000000000000000000000000000600460008581526020019081526020016000205416145b9050919050565b600033905090565b60006001905090565b6000808290508061152461150c565b116115aa576000548110156115a95760006004600083815260200190815260200160002054905060007c01000000000000000000000000000000000000000000000000000000008216036115a7575b6000810361159d576004600083600190039350838152602001908152602001600020549050611573565b80925050506115dc565b505b5b6040517fdf2d9b4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b919050565b60008060006006600085815260200190815260200160002090508092508254915050915091565b600073ffffffffffffffffffffffffffffffffffffffff8316925073ffffffffffffffffffffffffffffffffffffffff821691508382148383141790509392505050565b50505050565b60008060e883901c905060e8611669868684611bf8565b62ffffff16901b9150509392505050565b600073ffffffffffffffffffffffffffffffffffffffff83169250814260a01b178317905092915050565b50505050565b6116b3611c01565b73ffffffffffffffffffffffffffffffffffffffff166116d1610d2b565b73ffffffffffffffffffffffffffffffffffffffff1614611730576116f4611c01565b6040517f118cdaa70000000000000000000000000000000000000000000000000000000081526004016117279190611e3e565b60405180910390fd5b565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600061180261150c565b60005403905090565b6000805490506000820361184b576040517fb562e8dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611858600084838561164c565b600160406001901b178202600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055506118cf836118c06000866000611652565b6118c985611c09565b1761167a565b6004600083815260200190815260200160002081905550600080838301905073ffffffffffffffffffffffffffffffffffffffff85169150828260007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600080a4600183015b81811461197057808360007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600080a4600181019050611935565b50600082036119ab576040517f2e07630000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060008190555050506119c160008483856116a5565b505050565b60008373ffffffffffffffffffffffffffffffffffffffff1663150b7a026119ec611504565b8786866040518563ffffffff1660e01b8152600401611a0e9493929190612945565b6020604051808303816000875af1925050508015611a4a57506040513d601f19601f82011682018060405250810190611a4791906129a6565b60015b611ac3573d8060008114611a7a576040519150601f19603f3d011682016040523d82523d6000602084013e611a7f565b606091505b506000815103611abb576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050949350505050565b6060600b8054611b25906122ec565b80601f0160208091040260200160405190810160405280929190818152602001828054611b51906122ec565b8015611b9e5780601f10611b7357610100808354040283529160200191611b9e565b820191906000526020600020905b815481529060010190602001808311611b8157829003601f168201915b5050505050905090565b606060a060405101806040526020810391506000825281835b600115611be357600184039350600a81066030018453600a8104905080611bc1575b50828103602084039350808452505050919050565b60009392505050565b600033905090565b60006001821460e11b9050919050565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b611c6281611c2d565b8114611c6d57600080fd5b50565b600081359050611c7f81611c59565b92915050565b600060208284031215611c9b57611c9a611c23565b5b6000611ca984828501611c70565b91505092915050565b60008115159050919050565b611cc781611cb2565b82525050565b6000602082019050611ce26000830184611cbe565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611d22578082015181840152602081019050611d07565b60008484015250505050565b6000601f19601f8301169050919050565b6000611d4a82611ce8565b611d548185611cf3565b9350611d64818560208601611d04565b611d6d81611d2e565b840191505092915050565b60006020820190508181036000830152611d928184611d3f565b905092915050565b6000819050919050565b611dad81611d9a565b8114611db857600080fd5b50565b600081359050611dca81611da4565b92915050565b600060208284031215611de657611de5611c23565b5b6000611df484828501611dbb565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611e2882611dfd565b9050919050565b611e3881611e1d565b82525050565b6000602082019050611e536000830184611e2f565b92915050565b611e6281611e1d565b8114611e6d57600080fd5b50565b600081359050611e7f81611e59565b92915050565b60008060408385031215611e9c57611e9b611c23565b5b6000611eaa85828601611e70565b9250506020611ebb85828601611dbb565b9150509250929050565b611ece81611d9a565b82525050565b6000602082019050611ee96000830184611ec5565b92915050565b600080600060608486031215611f0857611f07611c23565b5b6000611f1686828701611e70565b9350506020611f2786828701611e70565b9250506040611f3886828701611dbb565b9150509250925092565b600060208284031215611f5857611f57611c23565b5b6000611f6684828501611e70565b91505092915050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b611fb182611d2e565b810181811067ffffffffffffffff82111715611fd057611fcf611f79565b5b80604052505050565b6000611fe3611c19565b9050611fef8282611fa8565b919050565b600067ffffffffffffffff82111561200f5761200e611f79565b5b61201882611d2e565b9050602081019050919050565b82818337600083830152505050565b600061204761204284611ff4565b611fd9565b90508281526020810184848401111561206357612062611f74565b5b61206e848285612025565b509392505050565b600082601f83011261208b5761208a611f6f565b5b813561209b848260208601612034565b91505092915050565b6000602082840312156120ba576120b9611c23565b5b600082013567ffffffffffffffff8111156120d8576120d7611c28565b5b6120e484828501612076565b91505092915050565b6120f681611cb2565b811461210157600080fd5b50565b600081359050612113816120ed565b92915050565b600080604083850312156121305761212f611c23565b5b600061213e85828601611e70565b925050602061214f85828601612104565b9150509250929050565b600067ffffffffffffffff82111561217457612173611f79565b5b61217d82611d2e565b9050602081019050919050565b600061219d61219884612159565b611fd9565b9050828152602081018484840111156121b9576121b8611f74565b5b6121c4848285612025565b509392505050565b600082601f8301126121e1576121e0611f6f565b5b81356121f184826020860161218a565b91505092915050565b6000806000806080858703121561221457612213611c23565b5b600061222287828801611e70565b945050602061223387828801611e70565b935050604061224487828801611dbb565b925050606085013567ffffffffffffffff81111561226557612264611c28565b5b612271878288016121cc565b91505092959194509250565b6000806040838503121561229457612293611c23565b5b60006122a285828601611e70565b92505060206122b385828601611e70565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061230457607f821691505b602082108103612317576123166122bd565b5b50919050565b7f4d494e54204953204e4f54205354415254454421000000000000000000000000600082015250565b6000612353601483611cf3565b915061235e8261231d565b602082019050919050565b6000602082019050818103600083015261238281612346565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006123c382611d9a565b91506123ce83611d9a565b92508282019050808211156123e6576123e5612389565b5b92915050565b7f534f4c44204f5554210000000000000000000000000000000000000000000000600082015250565b6000612422600983611cf3565b915061242d826123ec565b602082019050919050565b6000602082019050818103600083015261245181612415565b9050919050565b7f4c494d4954205045522057414c4c455400000000000000000000000000000000600082015250565b600061248e601083611cf3565b915061249982612458565b602082019050919050565b600060208201905081810360008301526124bd81612481565b9050919050565b60006124cf82611d9a565b91506124da83611d9a565b92508282026124e881611d9a565b915082820484148315176124ff576124fe612389565b5b5092915050565b7f4e4f5420454e4f55474820455448000000000000000000000000000000000000600082015250565b600061253c600e83611cf3565b915061254782612506565b602082019050919050565b6000602082019050818103600083015261256b8161252f565b9050919050565b7f4e4f20434f4e5452414354530000000000000000000000000000000000000000600082015250565b60006125a8600c83611cf3565b91506125b382612572565b602082019050919050565b600060208201905081810360008301526125d78161259b565b9050919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026126407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82612603565b61264a8683612603565b95508019841693508086168417925050509392505050565b6000819050919050565b600061268761268261267d84611d9a565b612662565b611d9a565b9050919050565b6000819050919050565b6126a18361266c565b6126b56126ad8261268e565b848454612610565b825550505050565b600090565b6126ca6126bd565b6126d5818484612698565b505050565b5b818110156126f9576126ee6000826126c2565b6001810190506126db565b5050565b601f82111561273e5761270f816125de565b612718846125f3565b81016020851015612727578190505b61273b612733856125f3565b8301826126da565b50505b505050565b600082821c905092915050565b600061276160001984600802612743565b1980831691505092915050565b600061277a8383612750565b9150826002028217905092915050565b61279382611ce8565b67ffffffffffffffff8111156127ac576127ab611f79565b5b6127b682546122ec565b6127c18282856126fd565b600060209050601f8311600181146127f457600084156127e2578287015190505b6127ec858261276e565b865550612854565b601f198416612802866125de565b60005b8281101561282a57848901518255600182019150602085019450602081019050612805565b868310156128475784890151612843601f891682612750565b8355505b6001600288020188555050505b505050505050565b600081905092915050565b600061287282611ce8565b61287c818561285c565b935061288c818560208601611d04565b80840191505092915050565b60006128a48285612867565b91506128b08284612867565b91508190509392505050565b60006128c782611d9a565b91506128d283611d9a565b92508282039050818111156128ea576128e9612389565b5b92915050565b600081519050919050565b600082825260208201905092915050565b6000612917826128f0565b61292181856128fb565b9350612931818560208601611d04565b61293a81611d2e565b840191505092915050565b600060808201905061295a6000830187611e2f565b6129676020830186611e2f565b6129746040830185611ec5565b8181036060830152612986818461290c565b905095945050505050565b6000815190506129a081611c59565b92915050565b6000602082840312156129bc576129bb611c23565b5b60006129ca84828501612991565b9150509291505056fea26469706673582212202849544bbee298328e3795a438f70f347dd9cebbe4121dad2151c8472162f87064736f6c634300081400330000000000000000000000000000000000000000000000000000000000000040000000000000000000000000852fbc9a47bedfdf204fe95df4aa62af8e94a48d0000000000000000000000000000000000000000000000000000000000000036697066733a2f2f516d655a3169737937674863696f59644579785168624254667469486b527674784d79575863564e433178376b532f00000000000000000000
0xa26469706673582212202849544bbee298328e3795a438f70f347dd9cebbe4121dad2151c8472162f87064736f6c634300081400330000000000000000000000000000000000000000000000000000000000000040000000000000000000000000852fbc9a47bedfdf204fe95df4aa62af8e94a48d0000000000000000000000000000000000000000000000000000000000000036697066733a2f2f516d655a3169737937674863696f59644579785168624254667469486b527674784d79575863564e433178376b532f00000000000000000000