0 txs
0 calls
constructor
No constructor.
functions
artTokentoAuctionId
purefunction artTokentoAuctionId(address collection, uint256 tokenId) pure returns (uint256)
auctionConfig
viewfunction auctionConfig(uint256) view returns (address artist, address seller, uint16 split, uint80 buyNowStartTime, uint80 auctionStartTime, uint88 buyNowPrice, uint88 reservePrice, uint256 preBidPrice)
auctionIdToAuction
viewfunction auctionIdToAuction(uint256) view returns (uint24 offsetFromEnd, uint72 amount, address bidder)
beneficiary
viewfunction beneficiary() view returns (address)
getArtTokenIdFromId
purefunction getArtTokenIdFromId(uint256 id) pure returns (uint256)
getAuctionEndTime
viewfunction getAuctionEndTime(uint256 auctionId) view returns (uint256)
getAuctionStartTime
viewfunction getAuctionStartTime(uint256 auctionId) view returns (uint256)
getCollectionFromId
purefunction getCollectionFromId(uint256 id) pure returns (address)
getSellerFromId
viewfunction getSellerFromId(uint256 auctionId) view returns (address)
isAuctionActive
viewfunction isAuctionActive(uint256 auctionId) view returns (bool)
isAuctionOver
viewfunction isAuctionOver(uint256 auctionId) view returns (bool)
owner
viewfunction owner() view returns (address)
paused
viewfunction paused() view returns (bool)
reservePrice
viewfunction reservePrice(uint256 auctionId) view returns (uint256)
bid
payablefunction bid(uint256 auctionId) payable
bidOnFavs
payablefunction bidOnFavs(uint256[] favorites, uint256[] expectedPrices) payable
buyNow
payablefunction buyNow(uint256 auctionId) payable
buyNowMultiple
payablefunction buyNowMultiple(uint256[] auctionIds) payable
changePrices
nonpayablefunction changePrices(address collectionAddress, address sellerAddress, uint256 tokenId, uint256 newBuyNowPrice, uint256 newReservePrice, uint256 newPreBidPrice)
changePricesMultiple
nonpayablefunction changePricesMultiple(address[] collections, address[] sellers, uint256[] tokenIds, uint256[] newBuyNowPrices, uint256[] newReservePrices, uint256[] newPreBidPrices)
changeSplit
nonpayablefunction changeSplit(address collectionAddress, uint256 tokenId, address artist, uint256 split)
changeSplitMultiple
nonpayablefunction changeSplitMultiple(address[] collections, uint256[] tokenIds, address[] artists, uint256[] splits)
renounceOwnership
nonpayablefunction renounceOwnership()
reschedule
nonpayablefunction reschedule(address collectionAddress, address sellerAddress, uint256 tokenId, uint256 newBuyNowStartTime, uint256 newAuctionStartTime)
rescheduleMultiple
nonpayablefunction rescheduleMultiple(address[] collections, address[] sellers, uint256[] tokenIds, uint256[] newBuyNowStartTimes, uint256[] newAuctionStartTimes)
resetAuction
nonpayablefunction resetAuction(address collectionAddress, uint256 tokenId)
resetMultiple
nonpayablefunction resetMultiple(address[] collections, uint256[] tokenIds)
schedule
nonpayablefunction schedule(address collectionAddress, address sellerAddress, uint256 tokenId, uint256 buyNowStartTime, uint256 auctionStartTime, address artist, uint256 split, uint256 buyNowPrice, uint256 reserve, uint256 preBidPrice)
scheduleMultiple
nonpayablefunction scheduleMultiple(address[] collections, address[] sellers, uint256[] tokenIds, uint256[] buyNowStartTimes, uint256[] auctionStartTimes, address[] artists, uint256[] splits, uint256[] buyNowPrices, uint256[] reservePrices, uint256[] preBidPrices)
scheduleMultipleLight
nonpayablefunction scheduleMultipleLight(address collections, address[] sellers, uint256[] tokenIds, uint256 buyNowStartTime, uint256 auctionStartTimes, address artists, uint256 splits, uint256 buyNowPrice, uint256 reservePrices, uint256 preBidPrices)
setBeneficiary
nonpayablefunction setBeneficiary(address _beneficiary)
setPaused
nonpayablefunction setPaused(bool _paused)
settleAuction
payablefunction settleAuction(uint256 auctionId) payable
settleMultipleAuctions
payablefunction settleMultipleAuctions(uint256[] auctionIds) payable
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
events
BidMade
event BidMade(uint256 indexed auctionId, address indexed collectionAddress, uint256 indexed tokenId, address bidder, uint256 amount, uint256 timestamp)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
Sale
event Sale(address indexed orderMaker, address indexed orderTaker, uint256[] tokenIds, address indexed collectionAddress, address currencyAddress, uint256 priceInWei)
Settled
event Settled(uint256 indexed auctionId, address indexed collectionAddress, uint256 indexed tokenId, uint256 timestamp, uint256 price)
errors
OwnableInvalidOwner
error OwnableInvalidOwner(address owner)
OwnableUnauthorizedAccount
error OwnableUnauthorizedAccount(address account)
creation bytecode
0x6080806040523461006e575f805473d7dd9612a21f7c249fb7f33e9c2e9144345e162b6001600160a01b0319821681178355916001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09080a3612da690816100738239f35b5f80fdfe610320806040526004361015610013575f80fd5b5f3560e01c90816302548376146121925750806302ffbaba14611f7c5780630306f9c414611f39578063038a3f1814611ef757806308a0f32f14611bae5780630eb92ef214611ae65780631033a663146117045780631107a8fc1461167457806316c38b3c1461162f5780631ae03271146115255780631c31f710146114e257806327327ba0146114865780632bef5b4b1461142c5780632c104a921461140e5780632e9936111461123657806338af3eed1461120e578063454a2ab314610f05578063469847fd14610a955780635c975abb14610a705780636652fc2b146107545780637100dd8714610710578063715018a6146106b95780638624e7df146106735780638c77cc091461064d5780638da5cb5b14610626578063919e84f5146105f0578063930e79f1146105d257806395657db0146105b257806396e79cce14610467578063d9f7cc28146102e1578063e361c5a8146102bb578063e4190e0c1461027e578063e71f7b1514610256578063ecee4c9d146102275763f2fde38b1461019e575f80fd5b34610223576020366003190112610223576101b7612208565b6101bf612294565b6001600160a01b0390811690811561020b575f54826001600160601b0360a01b8216175f55167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3005b604051631e4fbdf760e01b81525f6004820152602490fd5b5f80fd5b3461022357604036600319011261022357610254610243612208565b61024b612294565b60243590612ab3565b005b34610223576020366003190112610223576020610274600435612c69565b6040519015158152f35b346102235760a03660031901126102235761025461029a612208565b6102a261221e565b6102aa612294565b608435916064359160443591612a27565b346102235760203660031901126102235760206102d9600435612d45565b604051908152f35b346102235760c0366003190112610223576001600160401b03600435818111610223576103129036906004016121d8565b6024929192358281116102235761032d9036906004016121d8565b9290604435828111610223576103479036906004016121d8565b939095606435848111610223576103629036906004016121d8565b9290946084358181116102235761037d9036906004016121d8565b95909160a435908111610223576103989036906004016121d8565b9790946103a3612294565b8985148061045e575b80610455575b8061044c575b6103c190612787565b5f5b8581106103cc57005b8b8b8b8f8b8b868f93818b8f8f938f8492908f6103ec858094819361240d565b6103f5906127cb565b9e6103ff9261240d565b610408906127cb565b9b6104129261240d565b359661041d9261240d565b35956104289261240d565b35946104339261240d565b359361043e956126c8565b610447906123ff565b6103c3565b508789146103b8565b508787146103b2565b50868a146103ac565b346102235760a0366003190112610223576001600160401b03600435818111610223576104989036906004016121d8565b91602435818111610223576104b19036906004016121d8565b929091604435818111610223576104cc9036906004016121d8565b93606435838111610223576104e59036906004016121d8565b93608435908111610223576104fe9036906004016121d8565b959093610509612294565b878a14806105a9575b806105a0575b80610597575b61052790612787565b5f5b8a811061053257005b61053d818c8561240d565b610546906127cb565b610551828c8861240d565b61055a906127cb565b610565838c8661240d565b35610571848b8961240d565b359061057e858d8c61240d565b359261058994612a27565b610592906123ff565b610529565b5085871461051e565b50878914610518565b50858814610512565b3461022357602036600319011261022357602060405160043560601c8152f35b346102235760203660031901126102235760206102d9600435612ce8565b34610223576020366003190112610223576004355f52600260205260206001600160501b03600260405f20015416604051908152f35b34610223575f366003190112610223575f546040516001600160a01b039091168152602090f35b346102235760203660031901126102235760206040516001600160601b03600435168152f35b346102235760803660031901126102235761068c612208565b604435906001600160a01b038216820361022357610254916106ac612294565b60643591602435906127df565b34610223575f366003190112610223576106d1612294565b5f80546001600160a01b0319811682556001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b3461022357604036600319011261022357602061072b612208565b60405160609190911b6bffffffffffffffffffffffff19166024356001600160601b0316178152f35b3461022357610140366003190112610223576001600160401b03600435818111610223576107869036906004016121d8565b60a05261012052602435818111610223576107a59036906004016121d8565b6103005261020052604435818111610223576107c59036906004016121d8565b6102e05260e052606435818111610223576107e49036906004016121d8565b6102205261018052608435818111610223576108049036906004016121d8565b6102c0526101605260a435818111610223576108249036906004016121d8565b6102405260c05260c435818111610223576108439036906004016121d8565b610260526101005260e435818111610223576108639036906004016121d8565b610280526101405261010435818111610223576108849036906004016121d8565b6102a0526101e0526101243511610223576108a536610124356004016121d8565b6101c0526101a0526108b5612294565b6102e05160a0511480610a61575b80610a52575b80610a43575b80610a34575b80610a25575b80610a16575b80610a07575b806109f8575b6108f690612787565b5f6080525b60a0516080511061090857005b6109e561092561092060805160a0516101205161240d565b6127cb565b61093b610920608051610300516102005161240d565b61094d6080516102e05160e05161240d565b35610961608051610220516101805161240d565b356109756080516102c0516101605161240d565b3561098b6109206080516102405160c05161240d565b9061099f608051610260516101005161240d565b35926109b4608051610280516101405161240d565b35946109c96080516102a0516101e05161240d565b35966109de6080516101c0516101a05161240d565b3598612866565b6109f06080516123ff565b6080526108fb565b506101c0516102a051146108ed565b506102a05161028051146108e7565b506102805161026051146108e1565b506102605161024051146108db565b50610240516102c051146108d5565b506102c05161022051146108cf565b50610220516102e051146108c9565b506102e05161030051146108c3565b34610223575f36600319011261022357602060ff60015460a01c166040519015158152f35b6020366003190112610223576004356001600160401b03811161022357610ac09036906004016121d8565b90610ad360ff60015460a01c161561241d565b5f905f92610ae081612487565b925f9081426201517f19015b848210610c52575050348603610c0d5780610bfd575b5080610b0a57005b610b1381612487565b935f5b828110610bd95750505015610bc557355f818152600260205260409020600101549091906001600160a01b03169160405193606085016060865283518091526020608087019401905f5b818110610baf5750505f602087015250604085015260601c9233926001600160a01b0316917fc65ee7505fdeb91046b761185d8b9208aa2795bf4a1544b5fb6be78caf491346919081900390a4005b8251865260209586019590920191600101610b60565b634e487b7160e01b5f52603260045260245ffd5b80610be7610bf8928461245c565b51610bf2828961245c565b526123ff565b610b16565b610c0790336123ab565b85610b02565b60405162461bcd60e51b815260206004820152601a60248201527f496e636f72726563742045544820616d6f756e742073656e742e0000000000006044820152606490fd5b909296610c6084868861240d565b3593845f52600260205260405f2060405192610c7b8461232e565b60018060a01b03825416845260018201549160018060a01b038316602086015261ffff8360a01c1660408601528260b01c606086015260028101549260036001600160501b038516928360808901526001600160581b038660501c1660a08901528560a81c60c0890152015460e087015260b01c4210908115610efa575b508015610ee6575b610ec057428511610eac57865f52600260205260405f206002016001600160501b0386166001600160501b0319825416179055604051610d40816122ff565b5f8152602081018360501c6001600160481b031681526040820190338252895f52600360205260405f20925162ffffff16905160181b6bffffffffffffffffff00000016916001600160601b0319905160601b1691171790558160501c6001600160581b0316610daf9161237e565b99610dba873361255c565b6001600160601b038716610dce828c61245c565b52610dd8906123ff565b956040514281528260501c6001600160581b031660208201526001600160601b038216918060601c9160407fb2790cfbb501cb5d139a6d2e6b8157f1e9fc7043f1354b6645d9accfa9d9558291a4604083015161ffff16908115610e9d94610e9893610e9292610ea3575b612710610e5f610e74926001600160581b038760501c1661238b565b925192049182906001600160a01b03166123ab565b6001546001600160a01b03169260501c6001600160581b031661239e565b906123ab565b6123ff565b90610aec565b50611b58610e43565b634e487b7160e01b5f52601160045260245ffd5b999550610e9d9250936001600160581b03610ee0929560501c169061237e565b926123ff565b506001600160581b038260501c1615610d01565b90504210158c610cf9565b6020806003193601126102235760043590610f2860ff60015460a01c16156122bf565b815f5260028152600360405f206002810180546001600160501b0380808316146111f6575b5050500154610f5b83612c69565b9081156111d9575b50806111be575b1561118757815f526003815260405f209160405192610f88846122ff565b5462ffffff9283821685526001600160481b03808360181c169482870195808752604088019460601c85526702c68af0bb1400008110155f1461117e576103e8905b612710918201808311610eac57610fe09161238b565b043410158061116c575b15611131575f95815f985116948361100188612ce8565b9251168061111b575b50506102588061101a428461239e565b106110e6575b5050806bffffffffffffffffff000000916040519561103e876122ff565b168552838501923416835260036040860194338652875f525260405f20945116915160181b16916001600160601b0319905160601b1691171790556040516001600160601b038216917fe55fea5e734015d5114a28644bd784f4484c9d4fa2d29dee5aff56034294e21b8160601c92806110d342343384604091949392606082019560018060a01b0316825260208201520152565b0390a4806110dd57005b610254916123ab565b949194420191824211610eac5761110d611113926bffffffffffffffffff0000009461239e565b9061237e565b939088611020565b90516001600160a01b031698509650888061100a565b60405162461bcd60e51b8152600481018490526013602482015272084d2c840dcdee840d0d2ced040cadcdeeaced606b1b6044820152606490fd5b5061117685612d45565b341015610fea565b6107d090610fca565b6064906040519062461bcd60e51b82526004820152601060248201526f41756374696f6e20496e61637469766560801b6044820152fd5b50815f5260028152600160405f20015460b01c421015610f6a565b8015159150816111eb575b5083610f63565b9050341015836111e4565b4216906001600160501b031916179055848080610f4d565b34610223575f366003190112610223576001546040516001600160a01b039091168152602090f35b602080600319360112610223576102549060043590815f526003815260405f209060405191611264836122ff565b549162ffffff831681526001600160481b0391604081830192848660181c168452019360601c8452845f526002815260405f2094604051926112a58461232e565b60018060a01b039485885416855260018801549186831685870152600361ffff9960408801948b8160a01c16865260b01c606089015260028101546001600160501b03811660808a01526001600160581b038160501c1660a08a015260a81c60c0890152015460e087015261132161131c85612cb1565b6124b9565b51169586156113ce576113ba938388816040610e929b9c6127109761134e8d9c9a8d6113af9a511661255c565b8360601c94856001600160601b0386169788928651904282528b8201527fb2790cfbb501cb5d139a6d2e6b8157f1e9fc7043f1354b6645d9accfa9d95582968791a45116948d86156113c4575b90604091825191428352820152a48861238b565b0493849151166123ab565b600154169261239e565b611b58965061139b565b50610e9295506113af6113ba9383612710936113f56113ee8a9997612d45565b3414612505565b816040349c8d93611409848d5f541661255c565b61134e565b34610223576020366003190112610223576020610274600435612cb1565b346102235761014036600319011261022357610254611449612208565b61145161221e565b9061145a612234565b90611463612294565b6101243592610104359260e4359260c43592608435916064359160443591612866565b34610223576114943661224a565b906114a0939293612294565b6114ab828514612787565b5f5b8481106114b657005b80610e986114cb6109206114dd94898961240d565b6114d683878761240d565b3590612ab3565b6114ad565b34610223576020366003190112610223576114fb612208565b611503612294565b600180546001600160a01b0319166001600160a01b0392909216919091179055005b34610223576080366003190112610223576001600160401b03600435818111610223576115569036906004016121d8565b602492919235828111610223576115719036906004016121d8565b926044358181116102235761158a9036906004016121d8565b91606435908111610223576115a39036906004016121d8565b9590926115ae612294565b81861480611626575b8061161d575b6115c690612787565b5f5b8681106115d157005b80610e98878a87611611858f6109208f998b611603828f6115fd6116189f836109209161160a9a61240d565b9b61240d565b359661240d565b938c61240d565b35926127df565b6115c8565b508087146115bd565b508082146115b7565b346102235760203660031901126102235760043580151580910361022357611655612294565b6001805460ff60a01b191660a09290921b60ff60a01b16919091179055005b34610223576020366003190112610223576004355f52600260205261010060405f2060018060a01b038082541691600181015460036002830154920154926040519485528116602085015261ffff8160a01c16604085015260b01c60608401526001600160501b03811660808401526001600160581b038160501c1660a084015260a81c60c083015260e0820152f35b61170d3661224a565b92919061172260ff60015460a01c16156122bf565b838203610223575f935f925f5b818110611794578685340361174f578061174557005b61025490336123ab565b60405162461bcd60e51b815260206004820152601c60248201527f496e636f727265637420616d6f756e74206f66204554482073656e74000000006044820152606490fd5b61179f81838861240d565b35906117b76117af82868861240d565b35809761237e565b95825f52600280602052600360405f2091604051906117d58261232e565b60018060a01b03845416825260018401549360018060a01b038516602084015261ffff8560a01c166040840152606083019460b01c85528181015460e06001600160501b03958693848416938460808901526001600160581b038160501c1660a089015260a81c60c08801520154940193845214611ac2575b5061185886612c69565b908115611aa4575b5015918215611a97575b5050611a8857825f52600360205260405f20926040519361188a856122ff565b5462ffffff811685526001600160481b038160181c169081602087015260601c60408601526702c68af0bb1400008110155f14611a80576103e85b61271001908161271011610eac57612710916118e09161238b565b0482101580611a6e575b15611a58575f905f9262ffffff86511661190383612ce8565b966001600160481b0360208201511680611a3e575b50506102589687611929428361239e565b10611a1c575b50611a07965062ffffff60405191611946836122ff565b168152602081016001600160481b03831681526040820190338252845f5260036020526bffffffffffffffffff00000062ffffff60405f20945116915160181b16916001600160601b0319905160601b169117179055604051917fe55fea5e734015d5114a28644bd784f4484c9d4fa2d29dee5aff56034294e21b6001600160601b03821693806119f78460601c9542903384604091949392606082019560018060a01b0316825260208201520152565b0390a480611a0c575b50506123ff565b61172f565b611a15916123ab565b8880611a00565b908742014211610eac5761110d611a3892611a0799420161239e565b8d61192f565b6040909101516001600160a01b0316955093508d80611918565b50611a079250611a68919861237e565b966123ff565b50611a7881612d45565b8210156118ea565b6107d06118c5565b611a079250611a68919861237e565b5116421090508a8061186a565b51801515915081611ab7575b508c611860565b90508310158c611ab0565b865f528060205260405f20018242166001600160501b03198254161790558c61184e565b346102235761014036600319011261022357611b00612208565b6001600160401b0360243581811161022357611b209036906004016121d8565b92909160443590811161022357611b3b9036906004016121d8565b91606435608435611b4a612234565b60c4359160e4359361010435956101243597611b64612294565b5f5b8a8110611b6f57005b80610e988b8f8f8f8b8f938f938f93611ba18f939b8f9392611b9b8f94611ba99f84906109209261240d565b9361240d565b35908d612866565b611b66565b6020366003190112610223576004355f52600260205260405f2060405190611bd58261232e565b60018060a01b038154168252600181015460018060a01b038116602084015261ffff8160a01c16604084015260b01c606083015260036002820154916001600160501b03831660808501526001600160581b038360501c1660a08501528260a81c60c0850152015460e0830152611c5460ff60015460a01c161561241d565b6001600160501b036060830151164210611ebb57426001600160501b036080840151161115611e76576001600160581b038160501c16151580611e61575b15611e26576201517f194201428111610eac576004355f5260026020526001600160501b03600260405f200191166001600160501b0319825416179055604051611cdb816122ff565b5f8152602081016001600160481b033416815260408201903382526004355f5260036020526bffffffffffffffffff00000062ffffff60405f20945116915160181b16916001600160601b0319905160601b169117179055611d3f6004353361255c565b60605115610bc5576001600160601b03600435166080526004355f52600260205260018060a01b03600160405f200154169160405160608101936060825260605180955260808201946080905f5b818110611e105761025487610e9288888c895f60208401526001600160581b038660501c1660408401527fc65ee7505fdeb91046b761185d8b9208aa2795bf4a1544b5fb6be78caf49134660043560601c938033940390a461ffff6040820151168015610ea357612710610e5f610e74926001600160581b038760501c1661238b565b8251885260209788019790920191600101611d8d565b60405162461bcd60e51b815260206004820152601360248201527224b731b7b93932b1ba1022aa241039b2b73a1760691b6044820152606490fd5b506001600160581b038160501c163414611c92565b60405162461bcd60e51b815260206004820152601860248201527f41756374696f6e20616c726561647920737461727465642e00000000000000006044820152606490fd5b60405162461bcd60e51b815260206004820152601460248201527321b0b7103737ba10313abc903737bb903cb2ba1760611b6044820152606490fd5b346102235760c036600319011261022357610254611f13612208565b611f1b61221e565b90611f24612294565b60a435916084359160643591604435916126c8565b34610223576020366003190112610223576004355f908152600260209081526040909120600101546001600160a01b03166040516001600160a01b039091168152f35b602080600319360112610223576004356001600160401b03811161022357611fa89036906004016121d8565b5f92915f925f925b808410611fd75761025485611fc6883414612505565b6001546001600160a01b03166123ab565b90919293611fe685838661240d565b35805f5260039081855260405f2060405190612001826122ff565b549162ffffff831682526001600160481b03878301818560181c16815260406060940194841c855261203561131c84612cb1565b5116928315612152579261213661110d938361206361213b98956121419a9860018060a01b0390511661255c565b604051428152848c8201526001600160601b03821690827fb2790cfbb501cb5d139a6d2e6b8157f1e9fc7043f1354b6645d9accfa9d95582604082871c93a45f528960029485825260405f20604051936120bc8561232e565b60018060a01b03978883541686526001830154948986169087015260a09161ffff86841c169586604089015260b01c90870152820154906001600160501b03821660808701526001600160581b038260501c169086015260a81c60c0850152015460e08301528015612149575b6113af612710918561238b565b61239e565b946123ff565b929190611fb0565b50611b58612129565b50986121419492509261213b9361213661110d936121796121728e612d45565b809461237e565b9c61218d8160018060a01b035f541661255c565b612063565b34610223576020366003190112610223576060906004355f52600360205260405f205462ffffff811682526001600160481b038160181c166020830152821c6040820152f35b9181601f84011215610223578235916001600160401b038311610223576020808501948460051b01011161022357565b600435906001600160a01b038216820361022357565b602435906001600160a01b038216820361022357565b60a435906001600160a01b038216820361022357565b6040600319820112610223576001600160401b03916004358381116102235782612276916004016121d8565b9390939260243591821161022357612290916004016121d8565b9091565b5f546001600160a01b031633036122a757565b60405163118cdaa760e01b8152336004820152602490fd5b156122c657565b60405162461bcd60e51b8152602060048201526011602482015270109a59191a5b99c81a5cc81c185d5cd959607a1b6044820152606490fd5b606081019081106001600160401b0382111761231a57604052565b634e487b7160e01b5f52604160045260245ffd5b61010081019081106001600160401b0382111761231a57604052565b6001600160401b03811161231a57604052565b90601f801991011681019081106001600160401b0382111761231a57604052565b91908201809211610eac57565b81810292918115918404141715610eac57565b91908203918211610eac57565b908047106123f2575f91828080808585617530f1156123c957505050565b601691600b9184526073825360ff602053f0156123e4575b50565b620f42405a116123e1575b80fd5b63b12d13eb5f526004601cfd5b5f198114610eac5760010190565b9190811015610bc55760051b0190565b1561242457565b60405162461bcd60e51b815260206004820152601060248201526f109d5e5a5b99c81a5cc81c185d5cd95960821b6044820152606490fd5b8051821015610bc55760209160051b010190565b6001600160401b03811161231a5760051b60200190565b9061249182612470565b61249e604051918261235d565b82815280926124af601f1991612470565b0190602036910137565b156124c057565b60405162461bcd60e51b815260206004820152601760248201527f41756374696f6e206973207374696c6c206163746976650000000000000000006044820152606490fd5b1561250c57565b60405162461bcd60e51b815260206004820152602260248201527f496e636f72726563742066756e64732073656e7420666f7220756e636c61696d604482015261195960f21b6064820152608490fd5b6001600160601b038260601c92169060409182516331a9108f60e11b8152816004820152602081602481885afa80915f91612683575b50906125f45750833b156102235782516340c10f1960e01b81526001600160a01b0390921660048301526024820152915f908390818381604481015b03925af19081156125eb57506125e257505b565b6125e09061234a565b513d5f823e3d90fd5b6001600160a01b039081168061263f575050833b156102235782516340c10f1960e01b81526001600160a01b0390921660048301526024820152915f908390818381604481016125ce565b8591959392933b15610223575f6064928195875198899687956323b872dd60e01b8752600487015216602485015260448401525af19081156125eb57506125e25750565b6020813d82116126c0575b8161269b6020938361235d565b810103126126bc5751906001600160a01b03821682036123ef57505f612592565b5080fd5b3d915061268e565b90916001600160601b0316906001600160601b03199060601b16175f52600260205260405f209160028301906001600160501b03825416421015610223576001840180546001600160a01b0319166001600160a01b039094169390931790925580546affffffffffffffffffffff60501b191660509290921b600160501b600160a81b031691909117815560039261278391906001600160581b039082546001600160a81b0316911660a81b6001600160a81b031916179055565b0155565b1561278e57565b60405162461bcd60e51b8152602060048201526015602482015274082e4e4c2f240d8cadccee8d040dad2e6dac2e8c6d605b1b6044820152606490fd5b356001600160a01b03811681036102235790565b9161ffff926001600160601b036125e0959316906001600160601b03199060601b16179060018060a01b031680612842575b505f908152600260205260409020600101805461ffff60a01b19169290911660a01b61ffff60a01b16919091179055565b815f52600260205260405f20906001600160601b0360a01b8254161790555f612811565b979498959096939291966001600160601b0388166001600160601b03198a60601b16175f5260026020526001600160501b03600260405f20015416610223578315612a18575b604051996128b98b61232e565b600160a01b60019003168a52600160a01b600190031660208a015261ffff1660408901526001600160501b031660608801526001600160501b031660808701526001600160581b031660a08601526001600160581b031660c085015260e08401526001600160601b0316906001600160601b03199060601b16175f52600260205260405f2090600160a01b600190038151166001600160601b0360a01b90818454161783556001830190600160a01b6001900360208401511690825416178155604082015161ffff166129a490829081549061ffff60a01b9060a01b169061ffff60a01b1916179055565b606082015181546001600160b01b031960b09290921b919091166001600160b01b03909116179055608081015160a082015160c083015160a81b6001600160a81b0319166001600160501b0390921660509190911b600160501b600160a81b03161717600283015560e00151600390910155565b6001600160501b0393506128ac565b939192936001600160601b035f9416906001600160601b03199060601b161783526002602052604083209360028501946001600160501b0394858754164210156123ef578483116123ef5750600101805461ffff60a01b166001600160a01b039093169290921790841660b01b6001600160b01b031916179055166001600160501b0319825416179055565b6001600160601b03918219928391169160601b1617612ad181612cb1565b15612c0d575b604091825190612ae68261232e565b5f8083526020808401828152868501838152606086018481526080870185815260a080890187815260c08a0188815260e08b018981528c8a526002988990528d8a209b518c546001600160a01b039182166001600160a01b0319909116178d5597519651955160b01b6001600160b01b03191661ffff60a01b9690941b959095169590961694909417176001890155519151925160a81b6001600160a81b031916600160501b600160a81b0360509490941b939093166001600160501b03909216919091179190911791850191909155909290600390519101556bffffffffffffffffff00000062ffffff855195612bdd876122ff565b8487526020870194808652818801968188528152600360205220955116925160181b16925160601b169117179055565b805f5260036020526040805f20815190612c26826122ff565b549062ffffff821681526001600160481b038260181c169182602083015260601c928391015280612c59575b5050612ad7565b612c62916123ab565b5f80612c52565b805f526002602052612c8b6001600160501b03600260405f2001541691612ce8565b8115159182612ca6575b5081612c9f575090565b9050421090565b42101591505f612c95565b805f526002602052612cd36001600160501b03600260405f2001541691612ce8565b9015159081612ce0575090565b905042101590565b905f9180835260026020526001600160501b0360026040852001541690620151808201809211612d315760408462ffffff92612d2e95965260036020522054169061237e565b90565b634e487b7160e01b84526011600452602484fd5b5f526002602052600260405f20015460a81c8015155f14612d635790565b5067016345785d8a00009056fea26469706673582212207e158ca4970b7b92b214c43be29cd3b29dcff908b6ebe54b66438fbe5273d9b464736f6c63430008150033