117 txs
1.2k calls
constructor
constructor(uint256 _startPresaleDate, uint256 _startMintDate, string _baseTokenURI, address _presaleSigner, address[] _payees, uint256[] _shares)
functions
balanceOf
viewfunction balanceOf(address owner) view returns (uint256)
baseTokenURI
viewfunction baseTokenURI() view returns (string)
baseTokenURIFrozen
viewfunction baseTokenURIFrozen() view returns (bool)
getApproved
viewfunction getApproved(uint256 tokenId) view returns (address)
HASH_PREFIX
viewfunction HASH_PREFIX() view returns (string)
isApprovedForAll
viewfunction isApprovedForAll(address owner, address operator) view returns (bool)
MAX_PURCHASE_COUNT
viewfunction MAX_PURCHASE_COUNT() view returns (uint256)
MAX_SUPPLY
viewfunction MAX_SUPPLY() view returns (uint256)
MINT_PRICE
viewfunction MINT_PRICE() view returns (uint256)
name
viewfunction name() view returns (string)
owner
viewfunction owner() view returns (address)
ownerOf
viewfunction ownerOf(uint256 tokenId) view returns (address)
payee
viewfunction payee(uint256 index) view returns (address)
presaleActive
viewfunction presaleActive() view returns (bool)
provenanceHash
viewfunction provenanceHash() view returns (uint256)
provenanceHashFrozen
viewfunction provenanceHashFrozen() view returns (bool)
released
viewfunction released(address account) view returns (uint256)
released
viewfunction released(address token, address account) view returns (uint256)
saleActive
viewfunction saleActive() view returns (bool)
shares
viewfunction shares(address account) view returns (uint256)
startMintDate
viewfunction startMintDate() view returns (uint256)
startPresaleDate
viewfunction startPresaleDate() view returns (uint256)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
symbol
viewfunction symbol() view returns (string)
tokenOfOwnerByIndex
viewfunction tokenOfOwnerByIndex(address owner, uint256 index) view returns (uint256)
tokenURI
viewfunction tokenURI(uint256 tokenId) view returns (string)
totalMinted
viewfunction totalMinted() view returns (uint256)
totalReleased
viewfunction totalReleased() view returns (uint256)
totalReleased
viewfunction totalReleased(address token) view returns (uint256)
totalShares
viewfunction totalShares() view returns (uint256)
totalSupply
viewfunction totalSupply() view returns (uint256)
usedTicketCount
viewfunction usedTicketCount(bytes pass) view returns (uint256)
approve
nonpayablefunction approve(address to, uint256 tokenId)
freezeBaseTokenURI
nonpayablefunction freezeBaseTokenURI()
freezeProvenanceHash
nonpayablefunction freezeProvenanceHash()
mint
payablefunction mint(uint256 numberOfTokens) payable
mintArtistFreebies
payablefunction mintArtistFreebies(uint256 numberOfTokens) payable
presaleMint
payablefunction presaleMint(uint256 numberOfTokens, bytes pass, uint256 allotment) payable
release
nonpayablefunction release(address account)
release
nonpayablefunction release(address token, address account)
renounceOwnership
nonpayablefunction renounceOwnership()
safeTransferFrom
nonpayablefunction safeTransferFrom(address from, address to, uint256 tokenId, bytes _data)
safeTransferFrom
nonpayablefunction safeTransferFrom(address from, address to, uint256 tokenId)
setApprovalForAll
nonpayablefunction setApprovalForAll(address operator, bool approved)
setBaseURI
nonpayablefunction setBaseURI(string _baseTokenURI)
setProvenanceHash
nonpayablefunction setProvenanceHash(uint256 _provenanceHash)
setStartMintDate
nonpayablefunction setStartMintDate(uint256 _startMintDate)
setStartPresaleDate
nonpayablefunction setStartPresaleDate(uint256 _startPresaleDate)
transferFrom
nonpayablefunction transferFrom(address from, address to, uint256 tokenId)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
events
Approval
event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId)
ApprovalForAll
event ApprovalForAll(address indexed owner, address indexed operator, bool approved)
ERC20PaymentReleased
event ERC20PaymentReleased(address indexed token, address to, uint256 amount)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
PayeeAdded
event PayeeAdded(address account, uint256 shares)
PaymentReceived
event PaymentReceived(address from, uint256 amount)
PaymentReleased
event PaymentReleased(address to, uint256 amount)
Transfer
event Transfer(address indexed from, address indexed to, uint256 indexed tokenId)
errors
BaseURIIsFrozen
error BaseURIIsFrozen()
ExceedsAllotment
error ExceedsAllotment()
InsufficientPayment
error InsufficientPayment()
InvalidPresalePass
error InvalidPresalePass()
MintingTooMany
error MintingTooMany()
NotEnoughFreebiesLeft
error NotEnoughFreebiesLeft()
ProvenanceHashFrozen
error ProvenanceHashFrozen()
SaleNotStarted
error SaleNotStarted()
SoldOut
error SoldOut()
creation bytecode
0x60a0604052600060809081526200001b906003906001620004bc565b5060196015557feb2d24e20e33ec21cfbc5a08551f9bfad183c52bad0acbe9c1a00317ae7ec2f16016553480156200005257600080fd5b506040516200403138038062004031833981016040819052620000759162000724565b604080518082018252600d81526c43796265722042616e6469747360981b60208083019182528351808501909452600684526510905391125560d21b90840152815185938593929091620000cc9160009162000526565b508051620000e290600190602084019062000526565b5050600160075550620000f5336200027c565b8051825114620001675760405162461bcd60e51b815260206004820152603260248201527f5061796d656e7453706c69747465723a2070617965657320616e6420736861726044820152710cae640d8cadccee8d040dad2e6dac2e8c6d60731b60648201526084015b60405180910390fd5b6000825111620001ba5760405162461bcd60e51b815260206004820152601a60248201527f5061796d656e7453706c69747465723a206e6f2070617965657300000000000060448201526064016200015e565b60005b8251811015620002265762000211838281518110620001e057620001e062000858565b6020026020010151838381518110620001fd57620001fd62000858565b6020026020010151620002ce60201b60201c565b806200021d8162000884565b915050620001bd565b5050506013869055601485905583516200024890601190602087019062000526565b5050601780546001600160a01b0390931661010002610100600160a81b03199093169290921790915550620008fa92505050565b600880546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b0382166200033b5760405162461bcd60e51b815260206004820152602c60248201527f5061796d656e7453706c69747465723a206163636f756e74206973207468652060448201526b7a65726f206164647265737360a01b60648201526084016200015e565b600081116200038d5760405162461bcd60e51b815260206004820152601d60248201527f5061796d656e7453706c69747465723a2073686172657320617265203000000060448201526064016200015e565b6001600160a01b0382166000908152600b602052604090205415620004095760405162461bcd60e51b815260206004820152602b60248201527f5061796d656e7453706c69747465723a206163636f756e7420616c726561647960448201526a206861732073686172657360a81b60648201526084016200015e565b600d8054600181019091557fd7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb50180546001600160a01b0319166001600160a01b0384169081179091556000908152600b6020526040902081905560095462000473908290620008a2565b600955604080516001600160a01b0384168152602081018390527f40c340f65e17194d14ddddb073d3c9f888e3cb52b5aae0c6c7706b4fbc905fac910160405180910390a15050565b82805482825590600052602060002090810192821562000514579160200282015b828111156200051457825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190620004dd565b5062000522929150620005a3565b5090565b8280546200053490620008bd565b90600052602060002090601f01602090048101928262000558576000855562000514565b82601f106200057357805160ff191683800117855562000514565b8280016001018555821562000514579182015b828111156200051457825182559160200191906001019062000586565b5b80821115620005225760008155600101620005a4565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b0381118282101715620005fb57620005fb620005ba565b604052919050565b80516001600160a01b03811681146200061b57600080fd5b919050565b60006001600160401b038211156200063c576200063c620005ba565b5060051b60200190565b600082601f8301126200065857600080fd5b81516020620006716200066b8362000620565b620005d0565b82815260059290921b840181019181810190868411156200069157600080fd5b8286015b84811015620006b757620006a98162000603565b835291830191830162000695565b509695505050505050565b600082601f830112620006d457600080fd5b81516020620006e76200066b8362000620565b82815260059290921b840181019181810190868411156200070757600080fd5b8286015b84811015620006b757805183529183019183016200070b565b60008060008060008060c087890312156200073e57600080fd5b865160208089015160408a01519298509650906001600160401b03808211156200076757600080fd5b818a0191508a601f8301126200077c57600080fd5b815181811115620007915762000791620005ba565b620007a5601f8201601f19168501620005d0565b8181528c85838601011115620007ba57600080fd5b60005b82811015620007da578481018601518282018701528501620007bd565b82811115620007ec5760008684840101525b509750620007ff905060608b0162000603565b955060808a01519250808311156200081657600080fd5b620008248b848c0162000646565b945060a08a01519250808311156200083b57600080fd5b50506200084b89828a01620006c2565b9150509295509295509295565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006000198214156200089b576200089b6200086e565b5060010190565b60008219821115620008b857620008b86200086e565b500190565b600181811c90821680620008d257607f821691505b60208210811415620008f457634e487b7160e01b600052602260045260246000fd5b50919050565b613727806200090a6000396000f3fe60806040526004361061032d5760003560e01c806381c162f2116101a5578063c002d23d116100ec578063d79779b211610095578063e33b7de31161006f578063e33b7de314610933578063e985e9c514610948578063e9e6090014610991578063f2fde38b146109a457600080fd5b8063d79779b2146108d1578063da67e22a14610907578063e08a5f9e1461091d57600080fd5b8063ce7c2ac2116100c6578063ce7c2ac21461086c578063ce9c6053146108a2578063d547cfb7146108bc57600080fd5b8063c002d23d1461081a578063c6ab67a314610836578063c87b56dd1461084c57600080fd5b80639a2a9c3d1161014e578063a2309ff811610128578063a2309ff8146107c5578063b88d4fde146107da578063bad65624146107fa57600080fd5b80639a2a9c3d14610778578063a0712d6814610792578063a22cb465146107a557600080fd5b80639593b23b1161017f5780639593b23b1461071a57806395d89b411461072d5780639852595c1461074257600080fd5b806381c162f2146106c75780638b83209b146106dc5780638da5cb5b146106fc57600080fd5b8063406072a9116102745780636272c8d51161021d5780636d44aef5116101f75780636d44aef51461065d57806370a082311461067d578063715018a61461069d578063752c0ace146106b257600080fd5b80636272c8d5146105ed5780636352211e1461062557806368428a1b1461064557600080fd5b8063493143e41161024e578063493143e41461059557806353135ca0146105b557806355f804b3146105cd57600080fd5b8063406072a91461050f57806342842e0e1461055557806348b750441461057557600080fd5b8063197b8314116102d65780632f745c59116102b05780632f745c59146104c457806332cb6b0c146104e45780633a98ef39146104fa57600080fd5b8063197b83141461046f57806323b872dd1461048457806327c91342146104a457600080fd5b8063095ea7b311610307578063095ea7b31461040a57806318160ddd1461042c578063191655871461044f57600080fd5b806301ffc9a71461037b57806306fdde03146103b0578063081812fc146103d257600080fd5b36610376577f6ef95f06320e7a25a04a175ca677b7052bdd97131872c2192525a629f51be77033604080516001600160a01b0390921682523460208301520160405180910390a1005b600080fd5b34801561038757600080fd5b5061039b610396366004613119565b6109c4565b60405190151581526020015b60405180910390f35b3480156103bc57600080fd5b506103c5610a61565b6040516103a7919061318e565b3480156103de57600080fd5b506103f26103ed3660046131a1565b610af3565b6040516001600160a01b0390911681526020016103a7565b34801561041657600080fd5b5061042a6104253660046131cf565b610b80565b005b34801561043857600080fd5b50610441610cb2565b6040519081526020016103a7565b34801561045b57600080fd5b5061042a61046a3660046131fb565b610cce565b34801561047b57600080fd5b5061042a610e7f565b34801561049057600080fd5b5061042a61049f366004613218565b610ee8565b3480156104b057600080fd5b5061042a6104bf3660046131a1565b610f6f565b3480156104d057600080fd5b506104416104df3660046131cf565b61100b565b3480156104f057600080fd5b5061044161138881565b34801561050657600080fd5b50600954610441565b34801561051b57600080fd5b5061044161052a366004613259565b6001600160a01b039182166000908152600f6020908152604080832093909416825291909152205490565b34801561056157600080fd5b5061042a610570366004613218565b6110f2565b34801561058157600080fd5b5061042a610590366004613259565b61110d565b3480156105a157600080fd5b5061042a6105b03660046131a1565b611391565b3480156105c157600080fd5b5060135442101561039b565b3480156105d957600080fd5b5061042a6105e836600461331e565b6113f0565b3480156105f957600080fd5b506103c56040518060400160405280600c81526020016b435942455242414e4449545360a01b81525081565b34801561063157600080fd5b506103f26106403660046131a1565b61149e565b34801561065157600080fd5b5060145442101561039b565b34801561066957600080fd5b5061042a6106783660046131a1565b61153e565b34801561068957600080fd5b506104416106983660046131fb565b61159d565b3480156106a957600080fd5b5061042a611637565b3480156106be57600080fd5b50610441601981565b3480156106d357600080fd5b5061042a61169d565b3480156106e857600080fd5b506103f26106f73660046131a1565b611706565b34801561070857600080fd5b506008546001600160a01b03166103f2565b61042a610728366004613387565b611736565b34801561073957600080fd5b506103c5611849565b34801561074e57600080fd5b5061044161075d3660046131fb565b6001600160a01b03166000908152600c602052604090205490565b34801561078457600080fd5b5060175461039b9060ff1681565b61042a6107a03660046131a1565b611858565b3480156107b157600080fd5b5061042a6107c03660046133e5565b611916565b3480156107d157600080fd5b506104416119db565b3480156107e657600080fd5b5061042a6107f5366004613413565b6119ed565b34801561080657600080fd5b5061044161081536600461347f565b611a7b565b34801561082657600080fd5b5061044167016345785d8a000081565b34801561084257600080fd5b5061044160165481565b34801561085857600080fd5b506103c56108673660046131a1565b611aa3565b34801561087857600080fd5b506104416108873660046131fb565b6001600160a01b03166000908152600b602052604090205490565b3480156108ae57600080fd5b5060125461039b9060ff1681565b3480156108c857600080fd5b506103c5611b7c565b3480156108dd57600080fd5b506104416108ec3660046131fb565b6001600160a01b03166000908152600e602052604090205490565b34801561091357600080fd5b5061044160145481565b34801561092957600080fd5b5061044160135481565b34801561093f57600080fd5b50600a54610441565b34801561095457600080fd5b5061039b610963366004613259565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205460ff1690565b61042a61099f3660046131a1565b611c0a565b3480156109b057600080fd5b5061042a6109bf3660046131fb565b611cc4565b60006001600160e01b031982167f80ac58cd000000000000000000000000000000000000000000000000000000001480610a2757506001600160e01b031982167f5b5e139f00000000000000000000000000000000000000000000000000000000145b80610a5b57507f01ffc9a7000000000000000000000000000000000000000000000000000000006001600160e01b03198316145b92915050565b606060008054610a70906134b4565b80601f0160208091040260200160405190810160405280929190818152602001828054610a9c906134b4565b8015610ae95780601f10610abe57610100808354040283529160200191610ae9565b820191906000526020600020905b815481529060010190602001808311610acc57829003601f168201915b5050505050905090565b6000610afe82611da3565b610b645760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b60648201526084015b60405180910390fd5b506000908152600560205260409020546001600160a01b031690565b6000610b8b8261149e565b9050806001600160a01b0316836001600160a01b03161415610c155760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560448201527f72000000000000000000000000000000000000000000000000000000000000006064820152608401610b5b565b336001600160a01b0382161480610c315750610c318133610963565b610ca35760405162461bcd60e51b815260206004820152603860248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760448201527f6e6572206e6f7220617070726f76656420666f7220616c6c00000000000000006064820152608401610b5b565b610cad8383611ddf565b505050565b6000600254610cbf6119db565b610cc99190613505565b905090565b6001600160a01b0381166000908152600b6020526040902054610d425760405162461bcd60e51b815260206004820152602660248201527f5061796d656e7453706c69747465723a206163636f756e7420686173206e6f2060448201526573686172657360d01b6064820152608401610b5b565b6000610d4d600a5490565b610d57904761351c565b90506000610d848383610d7f866001600160a01b03166000908152600c602052604090205490565b611e5a565b905080610de75760405162461bcd60e51b815260206004820152602b60248201527f5061796d656e7453706c69747465723a206163636f756e74206973206e6f742060448201526a191d59481c185e5b595b9d60aa1b6064820152608401610b5b565b6001600160a01b0383166000908152600c602052604081208054839290610e0f90849061351c565b9250508190555080600a6000828254610e28919061351c565b90915550610e3890508382611ea0565b604080516001600160a01b0385168152602081018390527fdf20fd1e76bc69d672e4814fafb2c449bba3a5369d8359adf9e05e6fde87b056910160405180910390a1505050565b6008546001600160a01b03163314610ed95760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610b5b565b6012805460ff19166001179055565b610ef23382611fb9565b610f645760405162461bcd60e51b815260206004820152603160248201527f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f60448201527f776e6572206e6f7220617070726f7665640000000000000000000000000000006064820152608401610b5b565b610cad8383836120a2565b6008546001600160a01b03163314610fc95760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610b5b565b60175460ff1615611006576040517f294f075600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b601655565b600080805b60035481101561108357846001600160a01b03166003828154811061103757611037613534565b6000918252602090912001546001600160a01b031614156110715783821415611063579150610a5b9050565b61106e60018361351c565b91505b8061107b8161354a565b915050611010565b5060405162461bcd60e51b815260206004820152602b60248201527f455243373231456e756d657261626c653a206f776e657220696e646578206f7560448201527f74206f6620626f756e64730000000000000000000000000000000000000000006064820152608401610b5b565b610cad838383604051806020016040528060008152506119ed565b6001600160a01b0381166000908152600b60205260409020546111815760405162461bcd60e51b815260206004820152602660248201527f5061796d656e7453706c69747465723a206163636f756e7420686173206e6f2060448201526573686172657360d01b6064820152608401610b5b565b6001600160a01b0382166000908152600e60205260408120546040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b038516906370a082319060240160206040518083038186803b1580156111f257600080fd5b505afa158015611206573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061122a9190613565565b611234919061351c565b9050600061126d8383610d7f87876001600160a01b039182166000908152600f6020908152604080832093909416825291909152205490565b9050806112d05760405162461bcd60e51b815260206004820152602b60248201527f5061796d656e7453706c69747465723a206163636f756e74206973206e6f742060448201526a191d59481c185e5b595b9d60aa1b6064820152608401610b5b565b6001600160a01b038085166000908152600f602090815260408083209387168352929052908120805483929061130790849061351c565b90915550506001600160a01b0384166000908152600e60205260408120805483929061133490849061351c565b909155506113459050848483612290565b604080516001600160a01b038581168252602082018490528616917f3be5b7a71e84ed12875d241991c70855ac5817d847039e17a9d895c1ceb0f18a910160405180910390a250505050565b6008546001600160a01b031633146113eb5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610b5b565b601455565b6008546001600160a01b0316331461144a5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610b5b565b60125460ff1615611487576040517f18c3d33800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805161149a90601190602084019061306a565b5050565b600080600383815481106114b4576114b4613534565b6000918252602090912001546001600160a01b0316905080610a5b5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460448201527f656e7420746f6b656e00000000000000000000000000000000000000000000006064820152608401610b5b565b6008546001600160a01b031633146115985760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610b5b565b601355565b60006001600160a01b03821661161b5760405162461bcd60e51b815260206004820152602a60248201527f4552433732313a2062616c616e636520717565727920666f7220746865207a6560448201527f726f2061646472657373000000000000000000000000000000000000000000006064820152608401610b5b565b506001600160a01b031660009081526004602052604090205490565b6008546001600160a01b031633146116915760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610b5b565b61169b6000612310565b565b6008546001600160a01b031633146116f75760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610b5b565b6017805460ff19166001179055565b6000600d828154811061171b5761171b613534565b6000918252602090912001546001600160a01b031692915050565b600260075414156117895760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610b5b565b60026007556013544210156117b1576040516316851a3760e11b815260040160405180910390fd5b60006117bd838361236f565b9050808411156117f9576040517f921c5afc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61180b67016345785d8a00008561357e565b34101561182b5760405163cd1c886760e01b815260040160405180910390fd5b611835838561240b565b61183e84612442565b505060016007555050565b606060018054610a70906134b4565b600260075414156118ab5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610b5b565b60026007556014544210156118d3576040516316851a3760e11b815260040160405180910390fd5b6118e567016345785d8a00008261357e565b3410156119055760405163cd1c886760e01b815260040160405180910390fd5b61190e81612442565b506001600755565b6001600160a01b03821633141561196f5760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610b5b565b3360008181526006602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b600354600090610cc990600190613505565b6119f73383611fb9565b611a695760405162461bcd60e51b815260206004820152603160248201527f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f60448201527f776e6572206e6f7220617070726f7665640000000000000000000000000000006064820152608401610b5b565b611a75848484846124f1565b50505050565b6000601082604051611a8d919061359d565b9081526020016040518091039020549050919050565b6060611aae82611da3565b611b205760405162461bcd60e51b815260206004820152602f60248201527f4552433732314d657461646174613a2055524920717565727920666f72206e6f60448201527f6e6578697374656e7420746f6b656e00000000000000000000000000000000006064820152608401610b5b565b6000611b2a61256f565b90506000815111611b4a5760405180602001604052806000815250611b75565b80611b548461257e565b604051602001611b659291906135b9565b6040516020818303038152906040525b9392505050565b60118054611b89906134b4565b80601f0160208091040260200160405190810160405280929190818152602001828054611bb5906134b4565b8015611c025780601f10611bd757610100808354040283529160200191611c02565b820191906000526020600020905b815481529060010190602001808311611be557829003601f168201915b505050505081565b6008546001600160a01b03163314611c645760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610b5b565b601554811115611ca0576040517f15ec4e7000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060156000828254611cb29190613505565b90915550611cc1905081612442565b50565b6008546001600160a01b03163314611d1e5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610b5b565b6001600160a01b038116611d9a5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610b5b565b611cc181612310565b6000806001600160a01b031660038381548110611dc257611dc2613534565b6000918252602090912001546001600160a01b0316141592915050565b6000818152600560205260409020805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0384169081179091558190611e218261149e565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6009546001600160a01b0384166000908152600b602052604081205490918391611e84908661357e565b611e8e91906135fe565b611e989190613505565b949350505050565b80471015611ef05760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e63650000006044820152606401610b5b565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114611f3d576040519150601f19603f3d011682016040523d82523d6000602084013e611f42565b606091505b5050905080610cad5760405162461bcd60e51b815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d617920686176652072657665727465640000000000006064820152608401610b5b565b6000611fc482611da3565b6120255760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b6064820152608401610b5b565b60006120308361149e565b9050806001600160a01b0316846001600160a01b0316148061206b5750836001600160a01b031661206084610af3565b6001600160a01b0316145b80611e9857506001600160a01b0380821660009081526006602090815260408083209388168352929052205460ff16949350505050565b826001600160a01b03166120b58261149e565b6001600160a01b0316146121315760405162461bcd60e51b815260206004820152602960248201527f4552433732313a207472616e73666572206f6620746f6b656e2074686174206960448201527f73206e6f74206f776e00000000000000000000000000000000000000000000006064820152608401610b5b565b6001600160a01b0382166121ac5760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152608401610b5b565b6121b7600082611ddf565b6001600160a01b03831660009081526004602052604081208054600192906121e0908490613505565b90915550506001600160a01b038216600090815260046020526040812080546001929061220e90849061351c565b92505081905550816003828154811061222957612229613534565b60009182526020822001805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03938416179055604051839285811692908716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9190a4505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb00000000000000000000000000000000000000000000000000000000179052610cad9084906126b0565b600880546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60008061237b83612795565b9050600061238982866127ed565b6017549091506001600160a01b0380831661010090920416146123d8576040517f52fdb07200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6010856040516123e8919061359d565b908152602001604051809103902054846124029190613505565b95945050505050565b8060108360405161241c919061359d565b90815260200160405180910390206000828254612439919061351c565b90915550505050565b601981111561247d576040517f7c5369f600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611388816124896119db565b612493919061351c565b11156124cb576040517f52df9fe500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b8181101561149a576124df33612802565b806124e98161354a565b9150506124ce565b6124fc8484846120a2565b6125088484848461281b565b611a755760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b6064820152608401610b5b565b606060118054610a70906134b4565b6060816125be57505060408051808201909152600181527f3000000000000000000000000000000000000000000000000000000000000000602082015290565b8160005b81156125e857806125d28161354a565b91506125e19050600a836135fe565b91506125c2565b60008167ffffffffffffffff81111561260357612603613292565b6040519080825280601f01601f19166020018201604052801561262d576020820181803683370190505b5090505b8415611e9857612642600183613505565b915061264f600a86613612565b61265a90603061351c565b60f81b81838151811061266f5761266f613534565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053506126a9600a866135fe565b9450612631565b6000612705826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166129739092919063ffffffff16565b805190915015610cad57808060200190518101906127239190613626565b610cad5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152608401610b5b565b60006040518060400160405280600c81526020016b435942455242414e4449545360a01b81525033836040516020016127d093929190613643565b604051602081830303815290604052805190602001209050919050565b6000611b75826127fc85612982565b906129bd565b611cc181604051806020016040528060008152506129e1565b60006001600160a01b0384163b1561296857604051630a85bd0160e11b81526001600160a01b0385169063150b7a029061285f903390899088908890600401613682565b602060405180830381600087803b15801561287957600080fd5b505af19250505080156128a9575060408051601f3d908101601f191682019092526128a6918101906136be565b60015b61294e573d8080156128d7576040519150601f19603f3d011682016040523d82523d6000602084013e6128dc565b606091505b5080516129465760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b6064820152608401610b5b565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050611e98565b506001949350505050565b6060611e988484600085612a6f565b6040517f19457468657265756d205369676e6564204d6573736167653a0a3332000000006020820152603c8101829052600090605c016127d0565b60008060006129cc8585612bb7565b915091506129d981612c27565b509392505050565b6129ea82612de2565b612a086000836001600380549050612a029190613505565b8461281b565b61149a5760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b6064820152608401610b5b565b606082471015612ae75760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c00000000000000000000000000000000000000000000000000006064820152608401610b5b565b6001600160a01b0385163b612b3e5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610b5b565b600080866001600160a01b03168587604051612b5a919061359d565b60006040518083038185875af1925050503d8060008114612b97576040519150601f19603f3d011682016040523d82523d6000602084013e612b9c565b606091505b5091509150612bac828286612ef2565b979650505050505050565b600080825160411415612bee5760208301516040840151606085015160001a612be287828585612f2b565b94509450505050612c20565b825160401415612c185760208301516040840151612c0d868383613018565b935093505050612c20565b506000905060025b9250929050565b6000816004811115612c3b57612c3b6136db565b1415612c445750565b6001816004811115612c5857612c586136db565b1415612ca65760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152606401610b5b565b6002816004811115612cba57612cba6136db565b1415612d085760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606401610b5b565b6003816004811115612d1c57612d1c6136db565b1415612d755760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b6064820152608401610b5b565b6004816004811115612d8957612d896136db565b1415611cc15760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202776272076616c604482015261756560f01b6064820152608401610b5b565b6001600160a01b038116612e385760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610b5b565b6003546001600160a01b0382166000908152600460205260408120805460019290612e6490849061351c565b90915550506003805460018101825560009182527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b01805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0385169081179091556040518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b60608315612f01575081611b75565b825115612f115782518084602001fd5b8160405162461bcd60e51b8152600401610b5b919061318e565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0831115612f62575060009050600361300f565b8460ff16601b14158015612f7a57508460ff16601c14155b15612f8b575060009050600461300f565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015612fdf573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166130085760006001925092505061300f565b9150600090505b94509492505050565b6000807f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83168161304e60ff86901c601b61351c565b905061305c87828885612f2b565b935093505050935093915050565b828054613076906134b4565b90600052602060002090601f01602090048101928261309857600085556130de565b82601f106130b157805160ff19168380011785556130de565b828001600101855582156130de579182015b828111156130de5782518255916020019190600101906130c3565b506130ea9291506130ee565b5090565b5b808211156130ea57600081556001016130ef565b6001600160e01b031981168114611cc157600080fd5b60006020828403121561312b57600080fd5b8135611b7581613103565b60005b83811015613151578181015183820152602001613139565b83811115611a755750506000910152565b6000815180845261317a816020860160208601613136565b601f01601f19169290920160200192915050565b602081526000611b756020830184613162565b6000602082840312156131b357600080fd5b5035919050565b6001600160a01b0381168114611cc157600080fd5b600080604083850312156131e257600080fd5b82356131ed816131ba565b946020939093013593505050565b60006020828403121561320d57600080fd5b8135611b75816131ba565b60008060006060848603121561322d57600080fd5b8335613238816131ba565b92506020840135613248816131ba565b929592945050506040919091013590565b6000806040838503121561326c57600080fd5b8235613277816131ba565b91506020830135613287816131ba565b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b600067ffffffffffffffff808411156132c3576132c3613292565b604051601f8501601f19908116603f011681019082821181831017156132eb576132eb613292565b8160405280935085815286868601111561330457600080fd5b858560208301376000602087830101525050509392505050565b60006020828403121561333057600080fd5b813567ffffffffffffffff81111561334757600080fd5b8201601f8101841361335857600080fd5b611e98848235602084016132a8565b600082601f83011261337857600080fd5b611b75838335602085016132a8565b60008060006060848603121561339c57600080fd5b83359250602084013567ffffffffffffffff8111156133ba57600080fd5b6133c686828701613367565b925050604084013590509250925092565b8015158114611cc157600080fd5b600080604083850312156133f857600080fd5b8235613403816131ba565b91506020830135613287816133d7565b6000806000806080858703121561342957600080fd5b8435613434816131ba565b93506020850135613444816131ba565b925060408501359150606085013567ffffffffffffffff81111561346757600080fd5b61347387828801613367565b91505092959194509250565b60006020828403121561349157600080fd5b813567ffffffffffffffff8111156134a857600080fd5b611e9884828501613367565b600181811c908216806134c857607f821691505b602082108114156134e957634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b600082821015613517576135176134ef565b500390565b6000821982111561352f5761352f6134ef565b500190565b634e487b7160e01b600052603260045260246000fd5b600060001982141561355e5761355e6134ef565b5060010190565b60006020828403121561357757600080fd5b5051919050565b6000816000190483118215151615613598576135986134ef565b500290565b600082516135af818460208701613136565b9190910192915050565b600083516135cb818460208801613136565b8351908301906135df818360208801613136565b01949350505050565b634e487b7160e01b600052601260045260246000fd5b60008261360d5761360d6135e8565b500490565b600082613621576136216135e8565b500690565b60006020828403121561363857600080fd5b8151611b75816133d7565b60008451613655818460208901613136565b60609490941b6bffffffffffffffffffffffff191691909301908152601481019190915260340192915050565b60006001600160a01b038087168352808616602084015250836040830152608060608301526136b46080830184613162565b9695505050505050565b6000602082840312156136d057600080fd5b8151611b7581613103565b634e487b7160e01b600052602160045260246000fdfea264697066735822122058054e59b207c5c31945dadf44ddba718d6369e438908646993437098b891bc964736f6c634300080900330000000000000000000000000000000000000000000000000000000062b73f100000000000000000000000000000000000000000000000000000000062b7694000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000b0166616cff74f6a78ba94e0feeab994f366fa8b00000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000180000000000000000000000000000000000000000000000000000000000000002268747470733a2f2f63796265722d62616e646974732e636f6d2f6170692f6e66742f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000080099c469ea4de62abd8f8719c781db5b06379af000000000000000000000000af3f8e6be1b3adbf20d5215168d882232b558b850000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000003c0000000000000000000000000000000000000000000000000000000000000028