0 txs
10 calls
constructor
No constructor.
functions
currentEpoch
viewfunction currentEpoch() view returns (uint256)
executeRound
payablefunction executeRound(tuple priceLazerData, uint64 initDate, bool skipSettlement) payable
releaseEpochEscrow
nonpayablefunction releaseEpochEscrow(uint256 epoch)
setManualRoundEndPrices
nonpayablefunction setManualRoundEndPrices(tuple[] priceData, uint64 initDate, bool skipSettlement)
events
EndRound
event EndRound(uint256 indexed epoch, uint256 productId, uint256 price, uint256 timestamp)
OrderSettled
event OrderSettled(address indexed user, uint256 indexed idx, uint256 epoch, uint256 prevBalance, uint256 newBalance, uint256 usedCouponAmount)
RoundSettled
event RoundSettled(uint256 indexed epoch, uint256 orderCount, uint256 collectedFee)
StartRound
event StartRound(uint256 indexed epoch, uint256 productId, uint256 price, uint256 timestamp)
errors
EpochHasNotStartedYet
error EpochHasNotStartedYet()
InsufficientVerificationFee
error InsufficientVerificationFee()
InvalidChannel
error InvalidChannel()
InvalidEpoch
error InvalidEpoch()
InvalidInitDate
error InvalidInitDate()
creation bytecode
0x6080806040523461001657613482908161001c8239f35b600080fdfe6080604052600436101561001257600080fd5b60003560e01c80630c22030514610edb5780635474552b14610b3c57806375f763cd146100715763766718081461004857600080fd5b3461006c57600036600319011261006c57602061006442611406565b604051908152f35b600080fd5b60031960603682011261006c57600435906001600160401b03821161006c57604090823603011261006c576100a461121f565b906100ad611235565b916100e260018060a01b037fbe1200067ce661cd4a64675e599c9324c644030caa522faae6121b807a00bd6954163314611244565b61012f6101197fbe1200067ce661cd4a64675e599c9324c644030caa522faae6121b807a00bd77546001600160401b038416611280565b60008051602061342d833981519152549061128d565b610b2a576040519161014083611313565b80600401356001600160401b03811161006c5781013660238201121561006c57600481013561016e816113b6565b9161017c6040519384611349565b818352366024838301011161006c5781600092602460209301838601378301015283526024810135906001600160401b03821161006c5736602383830101121561006c576101cf600483830101356113d1565b916101dd6040519384611349565b81810160048101358085526020850193913660069290921b016024011161006c5791602482840101925b808301600481013560061b016024018410610af55750505050602083015260018060a01b037fbe1200067ce661cd4a64675e599c9324c644030caa522faae6121b807a00bd7954166040519063bac12f8760e01b8252602082600481845afa9182156108ac57600092610ac1575b50813410610aaf5760006102aa83928651604051958680948193630cbf0d2d60e11b8352602060048401526024830190611559565b03925af19182156108ac57600092610a1f575b508034116109f1575b506040516307bdfb3160e21b815260206004820152608081806102ec6024820186611559565b0381733a832ce3a1ceef0a065afd12a29526be718f8b415af49182156108ac57600092600092600091610987575b5060019093610328816115af565b036109755761033960ff83166115b9565b9460009360005b60ff851660ff82161061064357505050505061035b816115b9565b9260005b8281106106195750505061037b6001600160401b038216611406565b9061038542611406565b826000526000805160206133ed83398151915260205260406000209083148061060a575b6105bd575b60005b845181101561045657808460206103ca600194896113e8565b5101516001600160401b036103df848a6113e8565b5151168160005260048601602052604060002091825415610405575b50505050016103b1565b91819055604080519283526001600160401b039182166020840152908716908201527fa0710752d6e9448c257348e94170ab990b11947ce7a33bda46ef363b2e3ed40490606090a2848880806103fb565b505060001982019182116105a757816000526000805160206133ed833981519152602052604060002093828554148061059a575b8061058c575b8061057d575b61055a575b92600585019060005b815181101561054657808560206104bd600194866113e8565b5101516001600160401b036104d284876113e8565b51511681600052866020526040600020918254156104f5575b50505050016104a4565b91819055604080519283526001600160401b039182166020840152908816908201527fa235c93d1b2f697aad8778fa4900285a0ee92e32ec1b0bc7e9bb0515ccf488e090606090a2858980806104eb565b86861561054f57005b61055890611468565b005b6001600160401b038216600286015560038501805460ff1916600117905561049b565b5060ff60038601541615610496565b5060ff600686015416610490565b506001850154151561048a565b634e487b7160e01b600052601160045260246000fd5b8281556001600160401b03821660018201556105f160008051602061342d833981519152546001600160401b0384166112ad565b600282015560068101805460ff191660011790556103ae565b5060ff600682015416156103a9565b80610626600192846113e8565b5161063182886113e8565b5261063c81876113e8565b500161035f565b60606106649260405180948192633edc80ed60e21b8352886004840161161c565b0381733a832ce3a1ceef0a065afd12a29526be718f8b415af49182156108ac57600092600091600091610918575b509260009160009060005b60ff821660ff82161061079e5750508061078c575b6106c4575b505060010160ff16610340565b9394989697909560009a929a199960005b6020880151805182101561077a57816106ed916113e8565b515163ffffffff881614610703576001016106d5565b6020809399949b9a9c508861071f939998509d959d01516113e8565b5101515b60018101156106b7576001600160401b036040989398519261074484611313565b1682526020820152610756828a6113e8565b5261076181896113e8565b5060001981146105a7576001908101959060ff906106b7565b50509594509590979698999199610723565b506001600160401b03821615156106b2565b604080516353677f7f60e01b815297889081906107bf908d6004840161161c565b0381733a832ce3a1ceef0a065afd12a29526be718f8b415af480156108ac576000976000916108ce575b50809760058110156108b85715610807575b5060010160ff1661069d565b604080516367974a5f60e11b815298509295509092508690819061082f908b6004840161161c565b0381733a832ce3a1ceef0a065afd12a29526be718f8b415af480156108ac57600095600091610865575b509492600191826107fb565b9550506040853d6040116108a4575b8161088160409383611349565b8101031261006c5761089e60206108978761157e565b96016115a0565b8d610859565b3d9150610874565b6040513d6000823e3d90fd5b634e487b7160e01b600052602160045260246000fd5b9750506040873d604011610910575b816108ea60409383611349565b8101031261006c57865196600588101561006c57602061090a91016115a0565b8f6107e9565b3d91506108dd565b935050506060823d60601161096d575b8161093560609383611349565b8101031261006c57815163ffffffff8116810361006c57610964604061095d60208601611592565b94016115a0565b9092908b610692565b3d9150610928565b60405163ea3a9a3960e01b8152600490fd5b93505090506080823d6080116109e9575b816109a560809383611349565b8101031261006c576109b68261157e565b50602082015190600482101561006c5760016109e060606109d960408701611592565b95016115a0565b9293929061031a565b3d9150610998565b60008080610a00819434611280565b818115610a16575b3390f1156108ac57846102c6565b506108fc610a08565b9091503d806000833e610a328183611349565b81019060408183031261006c5780516001600160401b03811161006c5781019082601f8301121561006c57815191610a69836113b6565b93610a776040519586611349565b8385526020848301011161006c57602092610a9791848087019101611536565b01516001600160a01b0381160361006c5790856102bd565b604051636033686960e11b8152600490fd5b9091506020813d602011610aed575b81610add60209383611349565b8101031261006c57519085610275565b3d9150610ad0565b60408436031261006c57604060206024938251610b1181611313565b8735815282880135838201528152019401939150610207565b6040516317446e4b60e11b8152600490fd5b3461006c57602036600319011261006c57610b8160018060a01b037fbe1200067ce661cd4a64675e599c9324c644030caa522faae6121b807a00bd6954163314611244565b6004356000526000805160206133ed83398151915260205260406000207fbe1200067ce661cd4a64675e599c9324c644030caa522faae6121b807a00bd6c602052604060002060005b8154811015610eca57610bdd81836112ce565b509060405161018081018181106001600160401b03821117610eb45760405282548082526001840154806020840152600285015460408401526003850154606084015260018060a01b0360048601541690608084019582875260018060a01b03600582015416908160a08701526006810154918260c0880152600782015460e088015260088201549182610100890152600b60ff600983015416159182156101208b0152600a8101546101408b01520154610160890152610caa575b505050505050506001915001610bca565b8403610d6a57505060008051602061340d83398151915254955160208501518551610100909601516064808202996001600160a01b03948516989750909316945090925090870481036105a7576305f5e1000295808704620f424014901517156105a757813b1561006c5760008094610d3a60405198899687958694631b47f29b60e01b8652306004870161137d565b03925af19182156108ac57600192610d5b575b505b84808080808080610c99565b610d6490611300565b84610d4d565b60008051602061340d833981519152549597509394929391926001600160a01b031691610d969161136a565b80620f4240810204620f424014811517156105a757813b1561006c576000620f424091610dde829660405198899788968795631b47f29b60e01b87520292306004870161137d565b03925af180156108ac57610ea5575b5060008051602061340d8339815191525460a08301516020840151845160e086015161010087015191946001600160a01b03948516941691610e2e9161136a565b80620f4240810204620f424014811517156105a757813b1561006c576000620f424091610e76829660405198899788968795631b47f29b60e01b87520292306004870161137d565b03925af180156108ac57600193849261012092610e96575b500152610d4f565b610e9f90611300565b87610e8e565b610eae90611300565b84610ded565b634e487b7160e01b600052604160045260246000fd5b60038301805460ff19166001179055005b3461006c57606036600319011261006c576001600160401b036004351161006c5736602360043501121561006c576001600160401b03600435600401351161006c573660246004356004013560061b60043501011161006c57610f3c61121f565b610f44611235565b610f7860018060a01b037fbe1200067ce661cd4a64675e599c9324c644030caa522faae6121b807a00bd6954163314611244565b610faf6101197fbe1200067ce661cd4a64675e599c9324c644030caa522faae6121b807a00bd77546001600160401b038516611280565b610b2a57610fc56001600160401b038316611406565b610fce42611406565b908181101561120d57806000526000805160206133ed8339815191526020526040600020936001820182116105a757600182016000526000805160206133ed83398151915260205260406000206006810180549060ff8216156111a5575b50508286541480611198575b8061118a575b61104e575b505050501561054f57005b61107060008051602061342d833981519152546001600160401b0384166112ad565b600287015560005b6004356004013581106110a2575050505060038301805460ff191660011790555082808080611043565b80847fa235c93d1b2f697aad8778fa4900285a0ee92e32ec1b0bc7e9bb0515ccf488e0604460019460061b600435016001600160401b036110e5602483016112ba565b168282013560005260058d01602052604060002055898754111580611176575b61114f575b6111468861111a602484016112ba565b604051948594013584916040919493606084019584526001600160401b03809216602085015216910152565b0390a201611078565b6001600160401b03611163602483016112ba565b166004880160205260406000205561110a565b506004870160205260406000205415611105565b5060ff60068701541661103e565b5060018601541515611038565b6001850183556111ec6111d060008051602061342d833981519152546001600160401b0387166112ad565b80600186015560008051602061342d83398151915254906112ad565b6002840155600160ff1980931617905560038201908154169055868061102c565b60405163d5b25b6360e01b8152600490fd5b602435906001600160401b038216820361006c57565b60443590811515820361006c57565b1561124b57565b60405162461bcd60e51b815260206004820152600d60248201526c27b7363c9037b832b930ba37b960991b6044820152606490fd5b919082039182116105a757565b8115611297570690565b634e487b7160e01b600052601260045260246000fd5b919082018092116105a757565b356001600160401b038116810361006c5790565b80548210156112ea57600052600c602060002091020190600090565b634e487b7160e01b600052603260045260246000fd5b6001600160401b038111610eb457604052565b604081019081106001600160401b03821117610eb457604052565b60a081019081106001600160401b03821117610eb457604052565b90601f801991011681019081106001600160401b03821117610eb457604052565b818102929181159184041417156105a757565b6001600160a01b03918216815291166020820152604081019190915260608101919091526080810191909152600060a082015260c00190565b6001600160401b038111610eb457601f01601f191660200190565b6001600160401b038111610eb45760051b60200190565b80518210156112ea5760209160051b010190565b8115611297570490565b7fbe1200067ce661cd4a64675e599c9324c644030caa522faae6121b807a00bd775490818110611456576114539161143d91611280565b60008051602061342d83398151915254906113fc565b90565b60405163cec504ff60e01b8152600490fd5b908154918215801561152a575b801561151e575b6115195760009283527fbe1200067ce661cd4a64675e599c9324c644030caa522faae6121b807a00bd6c60205260408320835b81548510156114e0576114d86001916114d26114cb88866112ce565b508661163e565b906112ad565b9401936114af565b6040919394507f866f813a2289b14a1e94be9b6a7db4b5ad759df3fb1466245f650642f3cc7a56925493549082519182526020820152a2565b509050565b5060028101541561147c565b50600181015415611475565b60005b8381106115495750506000910152565b8181015183820152602001611539565b9060209161157281518092818552858086019101611536565b601f01601f1916010190565b51906001600160401b038216820361006c57565b519060ff8216820361006c57565b519061ffff8216820361006c57565b600411156108b857565b906115c3826113d1565b6040906115d36040519182611349565b83815280936115e4601f19916113d1565b019160009060005b8481106115fa575050505050565b602090825161160881611313565b8481528285818301528287010152016115ec565b9061ffff611637602092959495604085526040850190611559565b9416910152565b906009810190815460ff600091166130695761167b600560028401549586845260048101602052604084205461271093849160038801549061136a565b04968452016020526040822054908295600685019283549160646116a36007890154856112ad565b14611b345750505050600483015460058401546001600160a01b0391821691168114611a59575060008051602061340d83398151915280546004850154600186015486549454600888015494956001600160a01b03938416959294909316929161170c9161136a565b92620f4240840293808504620f42401490151715611a4557823b15611a415791611754939187809460405196879586948593631b47f29b60e01b9b8c8652306004870161137d565b03925af18015611a3657908491611a1e575b5050815460058501546001860154865460078801546008890154919592946001600160a01b039081169416929161179c9161136a565b620f4240810290808204620f42401490151715611a0a57833b15611a065787949392916117da8692604051988997889687958652306004870161137d565b03925af180156119fb579083916119e3575b50506117f783613141565b8254600184015460058501549254604051630988931960e21b8082526001600160a01b03958616600483018190529290951696916020826024818b5afa9182156119d85787926119a4575b50604051918683528160048401526020836024818c5afa918215611999578892611963575b61187393508587613070565b600460018060a01b039101541691604051938085528360048601526020856024818a5afa948515611958578695611923575b5060209060246040518099819382528760048301525afa94851561191757946118e1575b6118d39550613070565b805460ff1916600117905590565b93506020853d60201161190f575b816118fc60209383611349565b8101031261006c576118d39451936118c9565b3d91506118ef565b604051903d90823e3d90fd5b9094506020813d602011611950575b8161193f60209383611349565b8101031261006c57519360206118a5565b3d9150611932565b6040513d88823e3d90fd5b91506020833d602011611991575b8161197e60209383611349565b8101031261006c57611873925191611867565b3d9150611971565b6040513d8a823e3d90fd5b9091506020813d6020116119d0575b816119c060209383611349565b8101031261006c57519038611842565b3d91506119b3565b6040513d89823e3d90fd5b6119ec90611300565b6119f75781386117ec565b5080fd5b6040513d85823e3d90fd5b8780fd5b634e487b7160e01b88526011600452602488fd5b611a2790611300565b611a32578238611766565b8280fd5b6040513d86823e3d90fd5b8680fd5b634e487b7160e01b87526011600452602487fd5b9060018060a01b0360008051602061340d83398151915254166001850154611a97611a8c875494546007890154906112ad565b60088801549061136a565b93620f424094858102958187041490151715611b2057823b15611b1c57908580949392611adb60405197889687958694631b47f29b60e01b8652306004870161137d565b03925af18015611b1157611afa575b5050611af590613141565b6118d3565b611b048291611300565b611b0e5780611aea565b80fd5b6040513d84823e3d90fd5b8580fd5b634e487b7160e01b86526011600452602486fd5b96979396929594928181101561240d575050505060048201546005830154945460088401546001600160a01b039283169690959394600094939091169291611b7c878261136a565b9081620f4240810204620f42401482151715611b2057878986036123e157611ba39161136a565b620f4240810290808204620f42401490151715611b2057925b611bd56000805160206133cd833981519152548561136a565b0496600a830154801580156000146123d757620f42408202918204620f4240141715611a455790611c05916113fc565b975b620f4240611c158a8661136a565b0490611c218286611280565b620f4240611c2f8c8c61136a565b04611c3a818c611280565b9084612348575b50816122c7575b5060008051602061340d833981519152546001860154865490916001600160a01b0316803b1561228857908a91620f42408389611c9f60405197889687958694631b47f29b60e01b865202918c306004870161137d565b03925af1801561205b579089916122b3575b50508a61217b575b60018060a01b0360008051602061340d83398151915254169a8b600187015496549860208a60846040518095819363644fec3b60e11b83523060048401528d602484015286604484015260648301525afa918215612170578e908c93612139575b50602060249160405192838092630988931960e21b82528660048301525afa90811561212e578f918b918e916120f4575b50611d5b602494926020926112ad565b9260405194858092630988931960e21b82528560048301525afa9283156120e9578c8b918f956120a3575b5093611dc0979693611da2936114d29793620f42409d976130bb565b801561209957611db5889182840261136a565b049687915b02611280565b604051630988931960e21b8152600481018390529091906020816024818f5afa90811561205b578991612066575b50602492611dfb91611280565b60208c60405194858092630988931960e21b82528660048301525afa91821561205b578992612025575b611e3193508689613070565b801515811561201c575b611eff575b505050611ef99550906004916000805160206133cd833981519152549060405194611e6a8661132e565b83865260406020870191611e7d816115af565b8083528188019384526060880194855260808801958a875281527fbe1200067ce661cd4a64675e599c9324c644030caa522faae6121b807a00bd716020522095518655600186019051611ecf816115af565b611ed8816115af565b60ff80198354169116179055516002850155516003840155519101556112ad565b906118d3565b90611f09916112ad565b6000805160206133ad83398151915254604051630988931960e21b81526001600160a01b0390911660048201819052909290916020846024818d5afa9384156119d8578794611fe6575b50611f62602091602495611280565b9960405194858092630988931960e21b82528660048301525afa928315611958578693611fa8575b5091611ef998611f9f92869594600497613070565b90913880611e40565b91949392506020823d602011611fde575b81611fc660209383611349565b8101031261006c579051929391929190611ef9611f8a565b3d9150611fb9565b93506020843d602011612014575b8161200160209383611349565b8101031261006c57925192611f62611f53565b3d9150611ff4565b50811515611e3b565b91506020833d602011612053575b8161204060209383611349565b8101031261006c57611e31925191611e25565b3d9150612033565b6040513d8b823e3d90fd5b90506020813d602011612091575b8161208160209383611349565b8101031261006c57516024611dee565b3d9150612074565b508a968791611dba565b979693959a945050506020863d6020116120e1575b816120c560209383611349565b8101031261006c5794519197939490939290898c611dc0611d86565b3d91506120b8565b6040513d8f823e3d90fd5b925050506020813d602011612126575b8161211160209383611349565b8101031261006c57518e908a90611d5b611d4b565b3d9150612104565b6040513d8e823e3d90fd5b9250506020823d602011612168575b8161215560209383611349565b8101031261006c579051908d6020611d1a565b3d9150612148565b6040513d8d823e3d90fd5b620f424061218b8c82870261136a565b0480612198575b50611cb9565b60008051602061340d833981519152546001600160a01b0316803b156122af576040516322a7dcd360e21b81526001600160a01b038516600482015260248101839052908a908290604490829084905af180156122a457908a9161228c575b505060008051602061340d833981519152546000805160206133ad833981519152546001600160a01b039182169116813b15612288576040516301a36ec960e21b81526001600160a01b03919091166004820152602481019290925289908290604490829084905af1801561205b57908991612274575b50612192565b61227d90611300565b611a0657873861226e565b8a80fd5b61229590611300565b6122a05788386121f7565b8880fd5b6040513d8c823e3d90fd5b8980fd5b6122bc90611300565b611a06578738611cb1565b60018060a01b0360008051602061340d83398151915254166001870154918754823b156123445791858c8c6123188897958397604051998a988997889663875ab05360e01b88523060048901613104565b03925af1801561205b57908991612330575b50611c48565b61233990611300565b611a0657873861232a565b8b80fd5b60018060a01b0360008051602061340d833981519152541660018060a01b036000805160206133ad83398151915254166001890154928954833b156123d357918d8d6123b18296948c9896604051998a988997889663875ab05360e01b88523060048901613104565b03925af180156122a45715611c41576123cc90999199611300565b9738611c41565b8d80fd5b5050508497611c07565b6123f09150600784015461136a565b620f4240810290808204620f42401490151715611b205792611bbc565b1115612c4a57505050600581015460048201546001600160a01b0390811691166000828203612c065750612447855460088501549061136a565b620f4240908181029181830414901517156105a757945b549461246f6008850154809761136a565b9485620f4240810204620f424014861517156105a7576124a36000805160206133cd83398151915254620f4240880261136a565b600b860154919004968115600081612bfc5750620f42408302928304620f42401417156105a7576124d3916113fc565b915b620f42406124e58482890261136a565b04906124f682620f42408902611280565b93620f4240612505828b61136a565b04612510818b611280565b9084612b77575b5085612b08575b5060018060a01b0360008051602061340d83398151915254166001880154885490823b1561006c5761256f9260009283899360405196879586948593631b47f29b60e01b85528c306004870161137d565b03925af180156108ac57612af9575b50806129ef575b60018060a01b0360008051602061340d83398151915254169460018801549754966040519063644fec3b60e11b82523060048301528960248301528060448301528860648301526020826084818b5afa9182156108ac576000926129bb575b50604051630988931960e21b8152600481018290526020816024818c5afa80156108ac57600090612987575b6126219150620f42408d02906112ad565b604051630988931960e21b815260048101839052916020836024818d5afa9283156108ac578b8d91600095612947575b50926114d29592612686989592612667956130bb565b6000811561293e575061267e620f4240918861136a565b048096611280565b604051630988931960e21b81526004810183905290602082602481895afa80156108ac5760009061290a575b6126bc9250611280565b604051630988931960e21b8152600481018390529190602083602481895afa9182156108ac576000926128d4575b6126f693508888613070565b80151581156128cb575b6127b9575b505050600491506000805160206133cd83398151915254604051936127298561132e565b8285526020850160018152620f424060408701920282526060860192835260808601938785526000527fbe1200067ce661cd4a64675e599c9324c644030caa522faae6121b807a00bd7160205260406000209551865560018601905161278e816115af565b612797816115af565b60ff8019835416911617905551600285015551600384015551910155906118d3565b906127c3916112ad565b6000805160206133ad83398151915254604051630988931960e21b81526001600160a01b039091166004820181905294909291602084602481865afa9384156108ac57600094612895575b5061281d602091602495611280565b9260405194858092630988931960e21b82528960048301525afa9283156108ac5760009361285e575b5090600494612856939285613070565b388080612705565b9250906020833d60201161288d575b8161287a60209383611349565b8101031261006c57915191906004612846565b3d915061286d565b93506020843d6020116128c3575b816128b060209383611349565b8101031261006c5792519261281d61280e565b3d91506128a3565b50811515612700565b91506020833d602011612902575b816128ef60209383611349565b8101031261006c576126f69251916126ea565b3d91506128e2565b506020823d602011612936575b8161292460209383611349565b8101031261006c576126bc91516126b2565b3d9150612917565b90508096611280565b979450505090926020863d60201161297f575b8161296760209383611349565b8101031261006c579451919492908b8b6114d2612651565b3d915061295a565b506020813d6020116129b3575b816129a160209383611349565b8101031261006c576126219051612610565b3d9150612994565b9091506020813d6020116129e7575b816129d760209383611349565b8101031261006c575190386125e4565b3d91506129ca565b620f42406129fd828661136a565b0480612a0a575b50612585565b60008051602061340d833981519152546001600160a01b0316803b1561006c576040516322a7dcd360e21b81526001600160a01b038516600482015260248101839052906000908290604490829084905af180156108ac57612aea575b5060008051602061340d833981519152546000805160206133ad833981519152546001600160a01b0391821692911690823b1561006c576040516301a36ec960e21b81526001600160a01b039290921660048301526024820152906000908290604490829084905af180156108ac5715612a0457612ae490611300565b38612a04565b612af390611300565b38612a67565b612b0290611300565b3861257e565b60008051602061340d8339815191525460018901548954916001600160a01b0316803b1561006c578560008b612b598c978397604051998a988997889663875ab05360e01b88523060048901613104565b03925af180156108ac571561251e57612b7190611300565b3861251e565b60008051602061340d833981519152546000805160206133ad8339815191525460018b01548b54939290916001600160a01b039182169116813b1561006c5760008c612bde82968c98604051998a988997889663875ab05360e01b88523060048901613104565b03925af180156108ac571561251757612bf690611300565b38612517565b92505050916124d5565b612c19600785015460088601549061136a565b90620f424091828102928184041490151715612c3657509461245e565b634e487b7160e01b81526011600452602490fd5b60008051602061340d83398151915254600480860154604051630988931960e21b81526001600160a01b03918216928101839052959998509396509394921692602085602481875afa948515611958578695613035575b506005830154604051630988931960e21b81526001600160a01b03909116600482015293602085602481845afa9485156119d8578795613001575b50600184015491612cf485549460088701549061136a565b9081620f4240810204620f42401482151715612fda57823b156122a057604051631b47f29b60e01b8152948994869493859387938593612d3e93620f42400292306004870161137d565b03925af18015612fcf57612fee575b5060008051602061340d8339815191525460058201546001830154835460078501546008860154919492936001600160a01b03938416931691612d8f9161136a565b9081620f4240810204620f42401482151715612fda57823b156122a057604051631b47f29b60e01b8152948994869493859387938593612dd993620f42400292306004870161137d565b03925af18015612fcf57908591612fb7575b50508054600182015460048084015460008051602061340d83398151915254604051630988931960e21b81526001600160a01b039283169381018490529116969395919491936020826024818b5afa91821561205b578992612f80575b5060209291612e5b91602497868a613070565b60050154604051630988931960e21b81526001600160a01b0390911660048201819052969094859182905afa928315611958578693612f49575b5090600494612ea5939285613070565b6000805160206133cd8339815191525460405193612ec28561132e565b828552602085016002815260408087019280845260608801948552608088019581875281527fbe1200067ce661cd4a64675e599c9324c644030caa522faae6121b807a00bd716020522095518655600186019051612f1f816115af565b612f28816115af565b60ff80198354169116179055516002850155516003840155519101556118d3565b9250906020833d602011612f78575b81612f6560209383611349565b8101031261006c57915191906004612e95565b3d9150612f58565b909291506020813d602011612faf575b81612f9d60209383611349565b8101031261006c575190916024612e48565b3d9150612f90565b612fc090611300565b612fcb578338612deb565b8380fd5b6040513d87823e3d90fd5b634e487b7160e01b89526011600452602489fd5b612ffa90949194611300565b9238612d4d565b9094506020813d60201161302d575b8161301d60209383611349565b81010312611a4157519338612cdc565b3d9150613010565b9094506020813d602011613061575b8161305160209383611349565b81010312611b1c57519338612ca1565b3d9150613044565b9250505090565b93917fa15779a7b66856c8539d52d6e89beef2a2229d642158ec7a873b24067daa1bd79260809294604051958652602086015260408501526000606085015260018060a01b031692a3565b9460809291947fa15779a7b66856c8539d52d6e89beef2a2229d642158ec7a873b24067daa1bd79460405196875260208701526040860152606085015260018060a01b031692a3565b9390979695929160c0959260e086019960018060a01b03928380921688521660208701521660408501526060840152608083015260a08201520152565b600b810154906000918061328f575b50600a8101548061316057505050565b61316e90600683015461136a565b90620f42409182810292818404149015171561327b5760008051602061340d83398151915280546004909201546001600160a01b03928316908316813b15611b1c576040516322a7dcd360e21b81526001600160a01b03919091166004820152602481018590529085908290604490829084905af18015612fcf578392918691613262575b50505416906000805160206133ad8339815191525416813b15612fcb576040516301a36ec960e21b81526001600160a01b03919091166004820152602481019290925282908290604490829084905af18015611b1157613251575050565b61325b8291611300565b611b0e5750565b61326e91929350611300565b612fcb57819084386131f3565b634e487b7160e01b83526011600452602483fd5b61329d90600783015461136a565b620f42409081810291818304149015171561327b5760008051602061340d833981519152805460058401546001600160a01b0392918316908316813b15611a41576040516322a7dcd360e21b81526001600160a01b03919091166004820152602481018590529086908290604490829084905af1801561195857613399575b5081905416906000805160206133ad8339815191525416813b15613395576040516301a36ec960e21b81526001600160a01b03919091166004820152602481019290925283908290604490829084905af180156119fb57908391613381575b50613150565b61338a90611300565b6119f757813861337b565b8480fd5b946133a5839296611300565b949061331c56febe1200067ce661cd4a64675e599c9324c644030caa522faae6121b807a00bd76be1200067ce661cd4a64675e599c9324c644030caa522faae6121b807a00bd6abe1200067ce661cd4a64675e599c9324c644030caa522faae6121b807a00bd6bbe1200067ce661cd4a64675e599c9324c644030caa522faae6121b807a00bd67be1200067ce661cd4a64675e599c9324c644030caa522faae6121b807a00bd78a264697066735822122027b5bc4b02bc2fcfc63fa3bb7f2a4d6a10df2ebe1c333c22c06a03ea630dda8564736f6c63430008160033