EVM Transaction
EVM-initiated transaction processed through Canton consensus
Relayer Wraps Tx
Eth tx → Canton BlockProposal
Validator2 — Re-execute
participant2 · REVM re-execution
Validator3 — Re-execute
participant3 · REVM re-execution
Illustrative visualization. Canton commits Command → Consensus → Finalization atomically within a single transaction, so individual Canton step durations are estimates. Measured anchors from on-chain timestamps: Canton record time → synchronizer effective time, and effective time → EVM block timestamp (second granularity).
0x610180806040523461024d5760208161529e80380380916100208285610251565b83398101031261024d57516001600160a01b0381169081900361024d5760405161004b604082610251565b600f815260208101906e4964656e74697479466163746f727960881b825260405191610078604084610251565b600183526020830191603160f81b83528460018060a01b03195f5416175f557f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad6020604051878152a16100ca81610288565b610120526100d784610423565b61014052519020918260e05251902080610100524660a0526040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a0815261014060c082610251565b5190206080523060c0521561023e57600b6040517f57a34f6e879358dd76825d6700df87013ad6a3fb43c0d0c602f70a8772c153bd60408201527f3ebb164d1471255237dec35ae7bcc41f0912fb98d21f3f6bf62c34179982054c60208201523081520160ff81536055902060016015526001600160a01b0390811660145261d6945f526017601e201661016052604051614d42908161055c823960805181613ed8015260a05181613f8f015260c05181613ea2015260e05181613f2701526101005181613f4d01526101205181611266015261014051816112900152610160518181816101bb01528181611940015281816122c901526132670152f35b63d92e233d60e01b5f5260045ffd5b5f80fd5b601f909101601f19168101906001600160401b0382119082101761027457604052565b634e487b7160e01b5f52604160045260245ffd5b908151602081105f14610302575090601f8151116102c25760208151910151602082106102b3571790565b5f198260200360031b1b161790565b604460209160405192839163305a27a960e01b83528160048401528051918291826024860152018484015e5f828201840152601f01601f19168101030190fd5b6001600160401b03811161027457600154600181811c91168015610419575b602082101461040557601f81116103d2575b50602092601f821160011461037157928192935f92610366575b50508160011b915f199060031b1c19161760015560ff90565b015190505f8061034d565b601f1982169360015f52805f20915f5b8681106103ba57508360019596106103a2575b505050811b0160015560ff90565b01515f1960f88460031b161c191690555f8080610394565b91926020600181928685015181550194019201610381565b60015f52601f60205f20910160051c810190601f830160051c015b8181106103fa5750610333565b5f81556001016103ed565b634e487b7160e01b5f52602260045260245ffd5b90607f1690610321565b908151602081105f1461044e575090601f8151116102c25760208151910151602082106102b3571790565b6001600160401b03811161027457600254600181811c91168015610551575b602082101461040557601f811161051e575b50602092601f82116001146104bd57928192935f926104b2575b50508160011b915f199060031b1c19161760025560ff90565b015190505f80610499565b601f1982169360025f52805f20915f5b86811061050657508360019596106104ee575b505050811b0160025560ff90565b01515f1960f88460031b161c191690555f80806104e0565b919260206001819286850151815501940192016104cd565b60025f52601f60205f20910160051c810190601f830160051c015b818110610546575061047f565b5f8155600101610539565b90607f169061046d56fe60806040526004361015610011575f80fd5b5f5f3560e01c806316a8fc34146122645780632432ef2614611f7e57806324cef97614611f545780633d0ba14714611ef85780634309339014611e8f57806344de829114611dde5780634736673414611a4057806350f11d2a14611a0e57806354f93e2e1461196f57806359659e901461192a5780635aa08d831461161d5780636e57136e146115d8578063728690da14611572578063773eb00b146114a957806377c446c0146114335780637a9e5e4b146113895780637ecebe001461134857806384b0196e1461124c57806387fa0d7f146111e45780638b2861431461107d5780638fb360371461103857806395c7d0ec14610e8a5780639a0326ab14610d86578063a857c38e14610bb0578063a988f0f914610b36578063aa5a6e1214610a81578063b3511b9514610a25578063bf7e214f146109fe578063c136d844146109da578063d785960b146109ad578063da84a90214610568578063db0b65da146104f85763f237e48314610185575f80fd5b346104f55760203660031901126104f55761019e61269c565b6101a83633612e50565b6001600160a01b0381169081156104e6577f000000000000000000000000000000000000000000000000000000000000000090813b6104d7573b156104c3576040516372f861a960e11b8152602081600481865afa908115610475578491610494575b50306001600160a01b0390911603610480576040516308828eb760e01b8152602081600481865afa908115610475578491610428575b506001600160401b0380911603610414576040516103be610265602082018361274a565b808252602082019061447782396102c76040519160208084018781523060408601526040855261029660608661274a565b60405194859383850197518091895e840190838201908b8252519283915e010187815203601f19810183528261274a565b8051156104055760405160208101907f73365f5f37365f34f06012573d5f5f3e3d5ffd5b005f526014600cf3000000008252601c8152610308603c8261274a565b8051156103f6578692917f3ebb164d1471255237dec35ae7bcc41f0912fb98d21f3f6bf62c34179982054c91519084f5926001600160a01b038416156103e1578291519082855af1156103c057600160155260145261d69483526017601e206001600160a01b0390811691168082036103aa5750507f90c79582d24b8f21d98ce6f0ebc343c9d44df0e31b4695b6bcb3758fe9bbd45e6020604051338152a280f35b6306e1d94d60e21b845260045260245250604490fd5b833d6103d55763b06ebf3d60e01b8152600490fd5b604051903d90823e3d90fd5b823d6103d55763b06ebf3d60e01b8152600490fd5b631328927760e21b8752600487fd5b63fa7edf2760e01b8552600485fd5b634e0f904360e11b83526004829052602483fd5b90506020813d60201161046d575b816104436020938361274a565b8101031261046957516001600160401b0381168103610469576001600160401b03610241565b8380fd5b3d9150610436565b6040513d86823e3d90fd5b630566ca0b60e11b83526004829052602483fd5b6104b6915060203d6020116104bc575b6104ae818361274a565b8101906129d8565b5f61020b565b503d6104a4565b637a905aed60e01b83526004829052602483fd5b63088a1c1760e41b8452600484fd5b63d92e233d60e01b8352600483fd5b80fd5b50346104f55760603660031901126104f55761051261269c565b61051a6129c1565b906044356001600160401b038111610469579260ff9261055761055160409461054960209836906004016126b2565b929091612a17565b93613aae565b825284522054166040519015158152f35b50346104f55760403660031901126104f55760043590602435906001600160401b0382116104f557366023830112156104f5578160040135916001600160401b0383116109a9578260051b9036602483830101116109a5576105ca3633612e50565b8483525f516020614ccd5f395f51905f5260205260408320948084525f516020614ccd5f395f51905f5260205260408420805490858155816108f9575b5092943683900360a219019350845b818110156107e75760248160051b85010135858112156107e35784018854600160401b8110156107cf5760018101808b558110156107bb5789885260208820602483013560029290921b019081559060448101356001600160a01b03811681036107b7576001830180546001600160a01b0319166001600160a01b0390921691909117905560028201606482013560421936849003018112156107b35782016024018035906001600160401b0382116107af5781360360208201136107af576106e9826106e38554612cd9565b85612e0b565b8a908b601f841160011461073f5783608494600199989794600397946107239492610731575b50508160011b915f199060031b1c19161790565b90555b013591015501610616565b602092500101355f8061070f565b50838c5260208c2091601f1984168d5b818110610795575093600198979693600396938a93836084981061077b575b505050811b019055610726565b01602001355f1983891b60f8161c191690555f808061076e565b91936020600181928288880101358155019501920161074f565b8a80fd5b8980fd5b8880fd5b634e487b7160e01b88526032600452602488fd5b634e487b7160e01b88526041600452602488fd5b8680fd5b509491909394604051938160408601604087525260608086019486010193602484019388925b8484106108455733602089015289897f3003cb7c3250df21b7cf2b948c53492d25f1c99ca9e5434ba72446b1cf05977f8a8a038ba280f35b909192939495605f198882030184528635828112156107af57830160248101358252604481013560018060a01b0381168091036108f5576020830152606481013560421936839003018112156108f55781602491010190602082359201906001600160401b0383116108f15782360382136108f15783606060846108db6020969587966080604060019b015260808601916129f7565b930135910152980194019401929493919061080d565b8c80fd5b8b80fd5b6001600160fe1b0382168203610991578552602085209060021b8101905b8181101561060757600490868155866001820155866002820161093a8154612cd9565b8061094f575b50505086600382015501610917565b601f81116001146109655750555b865f80610940565b8183526020832061098191601f0160051c810190600101612df5565b808252816020812091555561095d565b634e487b7160e01b86526011600452602486fd5b8280fd5b5080fd5b50346104f55760203660031901126104f55760206109d16109cc61269c565b612abf565b54604051908152f35b50346104f55760203660031901126104f55760206109d16109f961269c565b612a4f565b50346104f557806003193601126104f557546040516001600160a01b039091168152602090f35b50346104f55760203660031901126104f557600435906001600160401b0382116104f557610a5f610a5936600485016126b2565b90612d92565b604080516001600160a01b0390931683526020830191909152819081015b0390f35b50346104f55760203660031901126104f5576004356001600160401b0381116109a957610abf610ab8610ac49236906004016126b2565b3691612786565b613cf7565b6020815191012081525f516020614cad5f395f51905f52602052604081205460ff8160a01c166003811015610b225760209290600103610b1b57506001600160a01b03165b6040516001600160a01b039091168152f35b9050610b09565b634e487b7160e01b83526021600452602483fd5b50346104f55760203660031901126104f5576004356001600160401b0381116109a957604091610b71610abf610ab8859436906004016126b2565b6020815191012081525f516020614cad5f395f51905f526020522054610bae82519160018060a01b038116835260ff602084019160a01c166126df565bf35b50346104f55760203660031901126104f5576004356001600160401b0381116109a957610be19036906004016126b2565b610bea33612a4f565b5483525f516020614c8d5f395f51905f5260205260ff604084205460481c16610d7357610c1b610abf368385612786565b6020815191012083525f516020614cad5f395f51905f526020523360018060a01b0360408520541603610d4f57610c5791610abf913691612786565b805160208201208083525f516020614cad5f395f51905f52602052604083209060ff825460a01c166003811015610d3b57600103610d1957610ca190610c9c33612abf565b61430a565b15610cf357805460ff60a01b1916600160a11b17905560405133917ff8d7448bed5ff23cba992fb104dbe726be3592b9dbab16360eed66d5e07be46291908190610ced908590836137b4565b0390a280f35b604051633ef72a2960e11b81526020600482015280610d156024820185612917565b0390fd5b604051631c574b5160e21b81526020600482015280610d156024820186612917565b634e487b7160e01b85526021600452602485fd5b610d15604051928392633ef72a2960e11b84526020600485015260248401916129f7565b63018337e560e21b835233600452602483fd5b50346104f55760803660031901126104f557610da061269c565b90610da96129c1565b916044356001600160401b0381116109a557610dc99036906004016126b2565b9093610dd3612908565b610ddd3633612e50565b6001600160a01b038416938415610e7b577ffe260a0c45ce0e9c5bd65cc34f82fd844d1efb72c439f5181236c41cdde4ce18949596610e1e610e6792612a17565b610e29868387613aae565b8952602052610e478360408a209060ff801983541691151516179055565b60405194859461ffff60f01b1685526080602086015260808501916129f7565b90151560408301523360608301520390a280f35b63d92e233d60e01b8652600486fd5b50346104f55760603660031901126104f557610ea461269c565b602435610eb360443592612abf565b9182549081808210911802189081808210911802811880910390610ed6826127da565b92610ee4604051948561274a565b828452601f19610ef3846127da565b01366020860137845b8381106110185785858051610f10816127da565b90610f1e604051928361274a565b808252610f2d601f19916127da565b01835b818110611007575050825b8251811015610fa05780610f5160019285612b11565b5185525f516020614cad5f395f51905f52602052610f7d610f8483604088200160405192838092612d11565b038261274a565b610f8e8285612b11565b52610f998184612b11565b5001610f3b565b81846040519182916020830160208452825180915260408401602060408360051b870101940192905b828210610fd857505050500390f35b91936001919395506020610ff78192603f198a82030186528851612917565b9601920192018594939192610fc9565b806060602080938601015201610f30565b6001908287528084016020882001546110318288612b11565b5201610efc565b50346104f557806003193601126104f557805460a01c60ff161561107557506020638fb3603760e01b5b6040516001600160e01b03199091168152f35b602090611062565b50346104f55760803660031901126104f557600435602435906001600160401b0382168092036109a557604435801515809103610469576110bc612908565b6110c63633612e50565b82156111d55715801590816111c4575b156111b0577ff609a639cac4a387e97db912db3517a4ddada7662e58fa888911c450f851b5749160609160405161110c8161272f565b868152602081018381526040820183815269ff0000000000000000008684019160018352898c525f516020614c8d5f395f51905f526020526001600160401b0360408d209551169368ff000000000000000086549151151560401b169151151560481b9360ff60501b9051151560501b169460ff60501b199169ffffffffffffffffffff19161716179116171790556040519182526020820152336040820152a380f35b63615f74d360e11b85526004839052602485fd5b506001600160401b038414156110d6565b6374e2c4c160e01b8552600485fd5b50346104f55760203660031901126104f557604060809160043581525f516020614c8d5f395f51905f52602052205460ff604051916001600160401b0381168352818160401c1615156020840152818160481c161515604084015260501c1615156060820152f35b50346104f557806003193601126104f5576112ec9061128a7f0000000000000000000000000000000000000000000000000000000000000000614036565b906112b47f000000000000000000000000000000000000000000000000000000000000000061408f565b9060206112fa604051936112c8838661274a565b8385525f368137604051968796600f60f81b885260e08589015260e0880190612917565b908682036040880152612917565b904660608601523060808601528260a086015284820360c08601528080855193848152019401925b82811061133157505050500390f35b835185528695509381019392810192600101611322565b50346104f55760203660031901126104f557602061138161136761269c565b6001600160a01b03165f9081526003602052604090205490565b604051908152f35b50346104f55760203660031901126104f5576113a361269c565b8154906001600160a01b038216330361142157803b15611406576001600160a01b03166001600160a01b031991909116811782556040519081527f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad90602090a180f35b6361798f2f60e11b83526001600160a01b0316600452602482fd5b62d1953b60e31b835233600452602483fd5b50346104f55760203660031901126104f5576004356001600160401b0381116109a9579061146d610abf610ab860409436906004016126b2565b805160209182012082525f516020614ced5f395f51905f5281529190208054600190910154604080516001600160a01b03909316835292820152f35b50346104f55760203660031901126104f55760043581525f516020614ccd5f395f51905f52602052604081208054906114e1826127da565b926114ef604051948561274a565b82845290815260208082209084015b83831061151b5760405160208082528190610a7d9082018861293b565b6004602060019260405161152e8161272f565b85548152848060a01b0385870154168382015260405161155581610f7d8160028b01612d11565b6040820152600386015460608201528152019201920191906114fe565b50346104f55760203660031901126104f5576004356115913633612e50565b8082525f516020614c8d5f395f51905f526020528160408120557fd7285e0d9e965bc540a0c79d4658d36f646861d1a2aa6684b2fee343780a212f6020604051338152a280f35b50346104f55760403660031901126104f5576004356001600160401b0381116109a95761160c61161a9136906004016126b2565b6116146128f9565b91612b7b565b80f35b50346104f55760803660031901126104f5576004356001600160401b0381116109a95761164e9036906004016126b2565b91906024356001600160401b0381116109a55761166f9036906004016126b2565b6044359491606435906116828486613aeb565b9693909415611907576001600160f01b0319166118e457906116a5913691612786565b602081519101206116b546613e29565b6116ff6001602583518d60206040519687938660f01b8386015260ff60f81b9060f81b1660248501528051918291018585015e820190838201520301601e1981018452018261274a565b61171561170b826140c6565b5093919050613be4565b60208151910120036118c15760148411611886575b80421161187457916117e56117ed9260426117f39796956117563361174e33612a4f565b541515612b39565b8c611762368c8e612786565b60208151910120916040519160208301937f26bb00ae742adb549a4a81d273c3213686fa05f66fa7480acdc00aca2fd000d885526040840152336060840152608083015260a082015260a081526117ba60c08261274a565b5190206117c5613e9f565b906040519161190160f01b83526002830152602282015220943691612786565b933691612786565b91613661565b1561186557611806610abf368385612786565b80516020918201206001600160a01b0316808552600390915260408420805460018101909155909481900361184e57509061161a91611849339233923691612786565b6137dc565b6301d4b62360e61b84526004859052602452604483fd5b638baa579f60e01b8352600483fd5b632f4aa44f60e21b8852600452602487fd5b836014116118bd57813560601c60ff61189e82612a87565b5416156118ab575061172a565b63ef8eed7d60e01b8952600452602488fd5b8780fd5b60405163245c582d60e11b81526020600482015280610d1560248201898b6129f7565b604051632e87694560e01b81526020600482015280610d15602482018b8d6129f7565b60405163e7c8d4cf60e01b81526020600482015280610d15602482018c8e6129f7565b50346104f557806003193601126104f5576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b50346104f55760403660031901126104f55761198961269c565b6119916128f9565b61199b3633612e50565b6001600160a01b0382169182156119ff57816119ee7f6b58d6ae2e91df3bbb22d0b1d6786d20a8430c98e5dce81fcbb3984a3a6dc66c936119dd604094612a87565b9060ff801983541691151516179055565b81519015158152336020820152a280f35b63d92e233d60e01b8452600484fd5b50346104f55760203660031901126104f557602060ff611a34611a2f61269c565b612a87565b54166040519015158152f35b50346104f55760803660031901126104f557611a5a61269c565b906024356044356001600160401b0381116109a557611a7d9036906004016127bc565b926064356001600160401b03811161046957611a9d9036906004016127f1565b8284525f516020614c8d5f395f51905f526020526040842054611ac68460ff8360501c16612af7565b8454604080516368fc2b7760e11b81526001600160401b0393909316600484018190523360248501529291829060449082906001600160a01b03165afa908115611dd35786908792611d81575b5015611d665763ffffffff169081611d4d5750506001600160a01b038216156119ff57611b408246612f97565b948385525f516020614c8d5f395f51905f5260205260ff604086205460481c16159384611cf1575b611b7493949596613118565b91611b8e575b6040516001600160a01b0383168152602090f35b604051633cd7bc9560e01b81526001600160a01b038316908490602081600481865afa908115611ce6578291611cc7575b5060018060a01b0316918382526014600c20604051906330f5180360e11b8252826004830152602482015260016044820152602081606481875afa8015611cbc5785908490611c7f575b611c1392506135f3565b604460405180948193633468ed3d60e01b83526004830152600160248301525afa90811561047557611c5692916001918660209792611c5c575b505051146135f3565b5f611b7a565b611c7892503d8091833e611c70818361274a565b81019061309f565b5f80611c4d565b50506020813d602011611cb4575b81611c9a6020938361274a565b810103126109a55784611caf611c13926135e6565b611c09565b3d9150611c8d565b6040513d85823e3d90fd5b611ce0915060203d6020116104bc576104ae818361274a565b5f611bbf565b6040513d84823e3d90fd5b939192908186526014600c2094865b8551811015611d41576060611d158288612b11565b51015160208151910120878103611d2f5750600101611d00565b63ed28c0f560e01b8952600452602488fd5b50929450909291611b68565b632ba4ff7960e21b865233600452602452604452606484fd5b6064868387633d10382d60e11b835233600452602452604452fd5b9150506040813d604011611dcb575b81611d9d6040938361274a565b81010312611dc7576020611db0826135e6565b9101519063ffffffff821682036107e3575f611b13565b8580fd5b3d9150611d90565b6040513d88823e3d90fd5b50346104f55760603660031901126104f5576004356024356001600160401b0381116109a557611e129036906004016127bc565b906044356001600160401b03811161046957611e329036906004016127f1565b928181525f516020614c8d5f395f51905f5260205260ff6040822054611e5d84838360501c16612af7565b60401c1615611e7d576020610b09858585611e783346612f97565b613118565b602491633fdb74db60e11b8252600452fd5b50346104f55760203660031901126104f5576004356001600160401b0381116109a9576040602092611ecd610abf610ab860ff9536906004016126b2565b84815191012081525f516020614cad5f395f51905f528452205460a01c16610bae60405180926126df565b50346104f55760203660031901126104f557600435906001600160401b0382116104f5576020611381611f34610abf610ab836600488016126b2565b8051908301206001600160a01b03165f9081526003602052604090205490565b50346104f55760203660031901126104f5576020611f736109f961269c565b541515604051908152f35b5060603660031901126104f5576024356001600160401b0381116109a957611faa9036906004016126b2565b6044356001600160401b03811161046957611fc99036906004016126b2565b611fd68385969396613aeb565b50509083612240575b505050156122105784016060858203126109a95784356001600160401b0381116109a5579061200f9186016127bc565b9260208501359460018060a01b0386168096036109a5576040013592612036368284612786565b6020815191012085516020870120036121d657505061206083612058816140c6565b505050613be4565b61206983613c32565b5090159081156121cb575b50156121a9576120878280421115612b61565b6120948461174e81612a4f565b61209d83613cf7565b602081519101208082525f516020614cad5f395f51905f5260205260ff604083205460a01c166003811015610b225761218757917fe9eb760dc426ffdadccef7a5b63a9a72bb47c673a9580e57f96054759e15460f9391600161215e94604080519361210885612700565b89855260208086018781529382525f516020614ced5f395f51905f52905220925183546001600160a01b03191660a084901b84900391909116178355519101556040516080808252909384939091840190612917565b90602083015233604083015260043560608301520390a2604051631219779360e11b8152602090f35b604051632f87073b60e21b81526020600482015280610d156024820187612917565b604051630bff0f4f60e21b81526020600482015280610d156024820186612917565b90504614155f612074565b610d15856121fe6040519485946349dd24c360e11b86526040600487015260448601916129f7565b83810360031901602485015290612917565b50506040805163cddea73760e01b81523360048201526024810191909152918291610d15916044840191906129f7565b61224f92935061055133612a17565b835260205260ff6040832054165f8080611fdf565b50346124685760403660031901126124685761227e61269c565b6024356001600160401b0381116124685761229d9036906004016126b2565b90916122a93633612e50565b6001600160a01b03811692831561268d57604051635c60da1b60e01b81527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031692602082600481875afa91821561245d575f9261266c575b503b15612659576040516372f861a960e11b8152602081600481895afa90811561245d575f9161263a575b50306001600160a01b0390911603612627576040516308828eb760e01b8152602081600481895afa90811561245d575f916125de575b506001600160401b03809116036125cb576001600160a01b03168061250f575b5060405163054fd4d560e41b8152925f84600481885afa93841561245d575f94612494575b50835160208501206123c2368385612786565b602081519101200361246c575050803b15612468575f8091602460405180948193631b2ce7f360e11b83528860048401525af1801561245d57612446575b5061243a7fc1e14c94b33ee905ac9bdc01c7f043025ce264d11aa04b105d58738a0ab0c5dd91604051918291604083526040830190612917565b3360208301520390a280f35b6124539193505f9061274a565b5f9161243a612400565b6040513d5f823e3d90fd5b5f80fd5b610d15846121fe604051948594636779907960e11b86526040600487015260448601916129f7565b9093503d805f833e6124a6818361274a565b810190602081830312612468578051906001600160401b038211612468570181601f82011215612468578051906124dc8261276b565b926124ea604051948561274a565b8284526020838301011161246857815f9260208093018386015e83010152925f6123af565b602060049160405192838092633cd7bc9560e01b82525afa90811561245d575f916125ac575b50604051633cd7bc9560e01b815290602082600481895afa91821561245d575f9261258b575b506001600160a01b039182169116808203612576575061238a565b632a45b98b60e21b5f5260045260245260445ffd5b6125a591925060203d6020116104bc576104ae818361274a565b905f61255b565b6125c5915060203d6020116104bc576104ae818361274a565b5f612535565b84634e0f904360e11b5f5260045260245ffd5b90506020813d60201161261f575b816125f96020938361274a565b8101031261246857516001600160401b0381168103612468576001600160401b0361236a565b3d91506125ec565b84630566ca0b60e11b5f5260045260245ffd5b612653915060203d6020116104bc576104ae818361274a565b5f612334565b84637a905aed60e01b5f5260045260245ffd5b61268691925060203d6020116104bc576104ae818361274a565b905f612309565b63d92e233d60e01b5f5260045ffd5b600435906001600160a01b038216820361246857565b9181601f84011215612468578235916001600160401b038311612468576020838186019501011161246857565b9060038210156126ec5752565b634e487b7160e01b5f52602160045260245ffd5b604081019081106001600160401b0382111761271b57604052565b634e487b7160e01b5f52604160045260245ffd5b608081019081106001600160401b0382111761271b57604052565b90601f801991011681019081106001600160401b0382111761271b57604052565b6001600160401b03811161271b57601f01601f191660200190565b9291926127928261276b565b916127a0604051938461274a565b829481845281830111612468578281602093845f960137010152565b9080601f83011215612468578160206127d793359101612786565b90565b6001600160401b03811161271b5760051b60200190565b9080601f8301121561246857813591612809836127da565b92612817604051948561274a565b80845260208085019160051b830101918383116124685760208101915b83831061284357505050505090565b82356001600160401b0381116124685782019060a0828703601f190112612468576040519060a082018281106001600160401b0382111761271b5760405260208301358252604083013560208301526060830135604083015260808301356001600160401b038111612468578760206128be928601016127bc565b606083015260a0830135916001600160401b038311612468576128e9886020809695819601016127bc565b6080820152815201920191612834565b60243590811515820361246857565b60643590811515820361246857565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b9080602083519182815201916020808360051b8301019401925f915b83831061296657505050505090565b9091929394602080600192601f1985820301865288519081518152848060a01b038383015116838201526060806129ac6040850151608060408601526080850190612917565b93015191015297019301930191939290612957565b602435906001600160f01b03198216820361246857565b9081602091031261246857516001600160a01b03811681036124685790565b908060209392818452848401375f828201840152601f01601f1916010190565b6001600160a01b03165f9081527f2cefd7c6aca4efb6085e4a9235cc3be23e6beeb0245cf23a279c1cb6896493046020526040902090565b6001600160a01b03165f9081527f2cefd7c6aca4efb6085e4a9235cc3be23e6beeb0245cf23a279c1cb6896493026020526040902090565b6001600160a01b03165f9081527f2cefd7c6aca4efb6085e4a9235cc3be23e6beeb0245cf23a279c1cb6896493056020526040902090565b6001600160a01b03165f9081527f2cefd7c6aca4efb6085e4a9235cc3be23e6beeb0245cf23a279c1cb6896493016020526040902090565b15612aff5750565b63c958450360e01b5f5260045260245ffd5b8051821015612b255760209160051b010190565b634e487b7160e01b5f52603260045260245ffd5b15612b415750565b63a9606d1760e01b5f9081526001600160a01b0391909116600452602490fd5b15612b695750565b633cdd221f60e21b5f5260045260245ffd5b9091612b8b610abf368585612786565b6020815191012090815f525f516020614ced5f395f51905f5260205260405f209160405192612bb984612700565b60206001808060a01b038354169283875201549401938452338103612ca457505f525f516020614ced5f395f51905f526020525f600160408220828155015515612c5b577f3a084521887f25f79460b9543e748d46d264f9f5264c0198c2f5e986bcefaac391612c30612c56925180421115612b61565b612c403333611849368886612786565b60405191829160208352339560208401916129f7565b0390a2565b91612c967f788dfe3e55e6930aaab16eb7b2cd066f1ea9b4a28812f12afd4c7e4fdd4774be92935193604051926040845260408401916129f7565b9260208201528033930390a2565b604051630e14a14b60e31b815260606004820152908190612cc96064830189896129f7565b9033602484015260448301520390fd5b90600182811c92168015612d07575b6020831014612cf357565b634e487b7160e01b5f52602260045260245ffd5b91607f1691612ce8565b5f9291815491612d2083612cd9565b8083529260018116908115612d755750600114612d3c57505050565b5f9081526020812093945091925b838310612d5b575060209250010190565b600181602092949394548385870101520191019190612d4a565b915050602093945060ff929192191683830152151560051b010190565b610abf90612da1923691612786565b602081519101205f525f516020614cad5f395f51905f5260205260405f205460ff8160a01c1660038110156126ec57600103612dee576001600160a01b031690612dea82612a4f565b5490565b505f905f90565b818110612e00575050565b5f8155600101612df5565b9190601f8111612e1a57505050565b612e44925f5260205f20906020601f840160051c83019310612e46575b601f0160051c0190612df5565b565b9091508190612e37565b5f805490926001600160a01b038216929160048210612468575f5f9060405f815196602088019063b700961360e01b825260018060a01b03169788602482015230604482015263ffffffff60e01b833516606482015260648152612eb560848261274a565b828052826020525190895afa612f84575b15612ed4575b505050505050565b63ffffffff1615612f725760ff60a01b1916600160a01b175f55823b15612468576020925f9283604051809681958294634a63ebf760e11b845260048401526040602484015260448301908082528085848401378181018301859052601f01601f1916010103925af1801561245d57612f5f575b50805460ff60a01b191690555f8080808080612ecc565b612f6b91505f9061274a565b5f5f612f48565b8262d1953b60e31b5f5260045260245ffd5b50505f516020518060201c150290612ec6565b60156025612fa76127d793613e29565b938451906020604051968793600160f01b8386015260ff60f81b9060f81b1660248501528051918291018585015e820190600560fa1b848301526bffffffffffffffffffffffff199060601b1660268201520301600a1981018452018261274a565b9080602083519182815201916020808360051b8301019401925f915b83831061303457505050505090565b9091929394602080613090600193601f1986820301875289519081518152838201518482015260408201516040820152608061307f606084015160a0606085015260a0840190612917565b920151906080818403910152612917565b97019301930191939290613025565b602081830312612468578051906001600160401b03821161246857019080601f830112156124685781516130d2816127da565b926130e0604051948561274a565b81845260208085019260051b82010192831161246857602001905b8282106131085750505090565b81518152602091820191016130fb565b93909192938351156135d7578451156135c8575f5b855181101561317e57600460406131448389612b11565b5101511460606131548389612b11565b510151602081519101209061316c575060010161312d565b63c9cc641960e01b5f5260045260245ffd5b5091939092845f525f516020614ccd5f395f51905f5260205260405f209081546131a7816127da565b926131b5604051948561274a565b81845260208401905f5260205f205f915b8383106135715750505050836131e76131de82613c32565b93919050613be4565b6001600160a01b0316801561268d5761326260405160208101906020825261322481613216604082018a613009565b03601f19810183528261274a565b51902060405192839161324960208401968c88526080604086015260a0850190612917565b916060840152608083015203601f19810183528261274a565b5190207f000000000000000000000000000000000000000000000000000000000000000092833b1561356257613333936132ea613372926132dc6132ca9660405197889363f26e4bff60e01b60208601528d6024860152606060448601526084850190613009565b8381036023190160648501529061293b565b03601f19810186528561274a565b602061045891613341604051966133038486018961274a565b8488528388019461483586396040519889918583019460018060a01b031685526040808401526060830190612917565b03601f19810189528861274a565b60405196879383850197518091895e840190838201905f8252519283915e01015f815203601f19810185528461274a565b8251156135535760405160208101907f73365f5f37365f34f06012573d5f5f3e3d5ffd5b005f526014600cf3000000008252601c81526133b3603c8261274a565b8051156135445751905ff5916001600160a01b03831615613530575f918291519082855af11561353057600160155260145261d6945f526017601e20604051633cd7bc9560e01b81526001600160a01b0390911693908490602081600481855afa90811561245d576044915f918291613511575b50604051633468ed3d60e01b8152600481018590526001602482015292839182906001600160a01b03165afa801561245d576001915f916134f7575b5051106134e8578161347482612a4f565b55807f68abffba7f8719cdac5355c751260ad9e0264db66dd41f38b91b883b53e8f4f26020604051858152a26134ab3382856137dc565b7f84ac310c24e330c82ba543bca5c409d2b5f20db39787c28ba79662c9e40ea88260405160208152806134e333966020830190612917565b0390a4565b633212071d60e21b5f5260045ffd5b61350b91503d805f833e611c70818361274a565b5f613463565b61352a915060203d6020116104bc576104ae818361274a565b5f613427565b3d61245d5763b06ebf3d60e01b5f5260045ffd5b631328927760e21b5f5260045ffd5b63fa7edf2760e01b5f5260045ffd5b639b61b2ad60e01b5f5260045ffd5b600460206001926040516135848161272f565b85548152848060a01b038587015416838201526040516135ab81610f7d8160028b01612d11565b6040820152600386015460608201528152019201920191906131c6565b630cef117b60e41b5f5260045ffd5b63ecd7b0d160e01b5f5260045ffd5b5190811515820361246857565b156135fb5750565b63473b1a3560e11b5f9081526001600160a01b0391909116600452602490fd5b9060208251920151916bffffffffffffffffffffffff1983169260148210613641575050565b6bffffffffffffffffffffffff1960149290920360031b82901b16169150565b8051919291601481101561367757505050505f90565b6014810361369557509161368d6127d79361361b565b60601c613fb5565b905f9361374685946136a68461361b565b60601c9484519081808210911802189384601410856014180285189460206136ce8783613c11565b96806136f26136dc8a61276b565b996136ea6040519b8c61274a565b808b5261276b565b8984019490601f190136863703930101905e61321660405193849261372f602085019762495a6360e31b8952606060248701526084860190612917565b916044850152602319848303016064850152612917565b51915afa3d156137ad573d61375a8161276b565b90613768604051928361274a565b81523d5f602083013e5b8161379f575b81613781575090565b9050602081805181010312612468576020015162495a6360e31b1490565b905060208151101590613778565b6060613772565b906137cc602091949394604084526040840190612917565b6001600160a01b03909416910152565b6137e99093929193613cf7565b906137f384612a4f565b545f525f516020614c8d5f395f51905f5260205260ff60405f205460481c16158015613a9d575b15613a7f5781516020830120805f525f516020614cad5f395f51905f5260205260405f2090815460ff8160a01c1660038110156126ec57600214613a5d576001600160a01b031680158015613a4b575b15613a2d57506138829061387d87612abf565b6142a0565b15613a0b5780546001600160a81b0319166001600160a01b03861617600160a01b178155600101805494906138b686612cd9565b156138fe575b506040519394506001600160a01b0316927fa90bced8a3b4341bbd1b4ca3a586a4afb0640e7f534b2e5ae1b7f5c94b7fda829290918291612c569190836137b4565b8351956001600160401b03871161271b578661391c61392292612cd9565b83612e0b565b602095601f81116001146139895780613973917fa90bced8a3b4341bbd1b4ca3a586a4afb0640e7f534b2e5ae1b7f5c94b7fda829697985f9161397e575b508160011b915f199060031b1c19161790565b90555b8493926138bc565b90508701515f613960565b601f198116825f52875f20905f5b8181106139f35750907fa90bced8a3b4341bbd1b4ca3a586a4afb0640e7f534b2e5ae1b7f5c94b7fda829697988360019493106139db575b5050811b019055613976565b8801515f1960f88460031b161c191690555f806139cf565b878a015183556020998a019960019093019201613997565b604051635f40b76d60e01b81526020600482015280610d156024820186612917565b6040516315b0237d60e21b8152908190610d159087600484016137b4565b506001600160a01b038716811461386a565b60405163017203e960e11b81526020600482015280610d156024820188612917565b63461bfdcb60e11b5f9081526001600160a01b038516600452602490fd5b50613aa784612abf565b541561381a565b91906022613ae59183604051948592602084019761ffff60f01b1688528484013781015f838201520301601f19810183528261274a565b51902090565b91909160068310613bd4576001600160f01b03198135811601613bd4578260041015612b2557600481013560f81c80600601808510613bc257816005019182600511612468578583116124685760058401938682941015612b25576005828201013560f81c96878301936006850190818310613baa578110612468571161246857811580159782840160060194939093039290613ba0575b508615613b9b57600201356001600160f01b03191694565b505f94565b151596505f613b83565b505050505050505090505f905f905f905f905f905f90565b505f9350839283925082915081908190565b505f915081908190819081908190565b15613bec5750565b60405163e7c8d4cf60e01b815260206004820152908190610d15906024830190612917565b91908203918211613c1e57565b634e487b7160e01b5f52601160045260245ffd5b613c3b906140c6565b9290939181613ce4575b5080613cd9575b80613cbb575b15613cb157602083519301519260208110613c9f575b6001600160fd1b0381168103613c1e5760031b61010003916101008311613c1e57613c929061361b565b60019390921c9160601c90565b925f198460200360031b1b1692613c68565b5f92508291508190565b5081518015908115613cce575b50613c52565b60149150145f613cc8565b506021835110613c4c565b6001600160f01b0319161590505f613c45565b613d109080613d05816140c6565b959192939093613be4565b6001600160f01b031916918215801590613e1e575b8015613e00575b15613ddb5750805115801590613dd1575b15613dc2576127d7916025602083613d57600195516143cf565b9682613d6382516143cf565b92604051998a978960f01b848a0152602289015260ff60f81b9060f81b1660248801528051918291018688015e85019160ff60f81b9060f81b1684830152805192839101602683015e01015f838201520301601f19810183528261274a565b63703474a160e01b5f5260045ffd5b5082511515613d3d565b60405163666d41f760e01b815260206004820152908190610d15906024830190612917565b50815115612b255760208201516001600160f81b0319161515613d2c565b506002825110613d25565b6127d7906fffffffffffffffffffffffffffffffff811160071b6001600160401b0382821c1160061b1763ffffffff82821c1160051b1761ffff82821c1160041b17906040519080602083015260208252613e8560408361274a565b81519260ff5f1992821c119060031c1760200301906141f4565b307f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161480613f8c575b15613efa577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f82527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a08152613ae560c08261274a565b507f00000000000000000000000000000000000000000000000000000000000000004614613ed1565b9190823b613ff05790613fc791614251565b5060048110156126ec57159182613fdd57505090565b6001600160a01b03918216911614919050565b916020926064835f94519060405193630b135d3f60e11b855260048501526040602485015286820190604485015e01915afa630b135d3f60e11b5f5114601f3d11161690565b60ff811461407c5760ff811690601f821161406d576040519161405a60408461274a565b6020808452838101919036833783525290565b632cd44ac360e21b5f5260045ffd5b506040516127d781610f7d816001612d11565b60ff81146140b35760ff811690601f821161406d576040519161405a60408461274a565b506040516127d781610f7d816002612d11565b908151600681106141e75760208301516001600160f01b0319908116016141e75760041015612b2557602482015160f81c91805192806006018094106141d957806005019180518084108185180218806005108160051802811861412a8183613c11565b9160208261415061413a8661276b565b95614148604051978861274a565b80875261276b565b8583019390601f19013685370392850101905e9281511115612b25576020600583830101015160f81c948151906006878501018092106141c7579061419591836141f4565b9115948515956141bd575b5084156141b857602201516001600160f01b03191692565b505f92565b151594505f6141a0565b505050505090505f905f906060908190565b505f92508291606091508190565b505f915081906060908190565b90918151908180821091180218918280821091180282189160206142188483613c11565b938061423c6142268761276b565b96614234604051988961274a565b80885261276b565b8684019490601f190136863703930101905e90565b81519190604183036142815761427a9250602082015190606060408401519301515f1a906143f4565b9192909190565b50505f9160029190565b8054821015612b25575f5260205f2001905f90565b6001810190825f528160205260405f2054155f14614303578054600160401b81101561271b576142f06142da82600187940185558461428b565b819391549060031b91821b915f19901b19161790565b905554915f5260205260405f2055600190565b5050505f90565b906001820191815f528260205260405f20548015155f146143c7575f198101818111613c1e5782545f19810191908211613c1e57818103614392575b5050508054801561437e575f19019061435f828261428b565b8154905f199060031b1b19169055555f526020525f6040812055600190565b634e487b7160e01b5f52603160045260245ffd5b6143b26143a26142da938661428b565b90549060031b1c9283928661428b565b90555f528360205260405f20555f8080614346565b505050505f90565b60ff81116143dd5760ff1690565b6306dfcc6560e41b5f52600860045260245260445ffd5b91907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0841161446b579160209360809260ff5f9560405194855216868401526040830152606082015282805260015afa1561245d575f516001600160a01b0381161561446157905f905f90565b505f906001905f90565b5050505f916003919056fe60803461013457601f6103be38819003918201601f19168301916001600160401b03831184841017610138578084926040948552833981010312610134576100468161014c565b906001600160a01b039061005c9060200161014c565b16908115610121575f80546001600160a01b031981168417825560405193916001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09080a3803b1561010157600180546001600160a01b0319166001600160a01b039290921691821790557fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b5f80a261025d90816101618239f35b63211eb15960e21b5f9081526001600160a01b0391909116600452602490fd5b631e4fbdf760e01b5f525f60045260245ffd5b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b03821682036101345756fe60806040526004361015610011575f80fd5b5f3560e01c80633659cfe6146101835780635c60da1b1461015b578063715018a6146101045780638da5cb5b146100dd5763f2fde38b14610050575f80fd5b346100d95760203660031901126100d9576004356001600160a01b038116908190036100d95761007e610201565b80156100c6575f80546001600160a01b03198116831782556001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09080a3005b631e4fbdf760e01b5f525f60045260245ffd5b5f80fd5b346100d9575f3660031901126100d9575f546040516001600160a01b039091168152602090f35b346100d9575f3660031901126100d95761011c610201565b5f80546001600160a01b0319811682556001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346100d9575f3660031901126100d9576001546040516001600160a01b039091168152602090f35b346100d95760203660031901126100d9576004356001600160a01b038116908181036100d9576101b1610201565b3b156101ef57600180546001600160a01b031916821790557fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b5f80a2005b63211eb15960e21b5f5260045260245ffd5b5f546001600160a01b0316330361021457565b63118cdaa760e01b5f523360045260245ffdfea26469706673582212207c144e5fd4a2013cf93b095baa72c902fea05eb92247fc8d38f55d471cf4d3f164736f6c634300081e003360a08060405261045880380380916100178285610271565b833981016040828203126101b45761002e82610294565b602083015190926001600160401b0382116101b4570181601f820112156101b4578051906001600160401b03821161025d5760405192610078601f8401601f191660200185610271565b828452602083830101116101b457815f9260208093018386015e83010152813b1561023c577fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d5080546001600160a01b0319166001600160a01b038416908117909155604051635c60da1b60e01b8152909190602081600481865afa9081156101c0575f91610202575b50803b156101e25750817f1cf3b03a6cf19fa2baba4df148e9dcabedea7f8a5c07840e207e5c089be95d3e5f80a28051156101cb57602060049260405193848092635c60da1b60e01b82525afa80156101c0575f90610181575b61016592506102a8565b505b608052604051610123908161033582396080518160180152f35b506020823d6020116101b8575b8161019b60209383610271565b810103126101b4576101af61016592610294565b61015b565b5f80fd5b3d915061018e565b6040513d5f823e3d90fd5b505034156101675763b398979f60e01b5f5260045ffd5b634c9c8ce360e01b5f9081526001600160a01b0391909116600452602490fd5b90506020813d602011610234575b8161021d60209383610271565b810103126101b45761022e90610294565b5f610101565b3d9150610210565b50631933b43b60e21b5f9081526001600160a01b0391909116600452602490fd5b634e487b7160e01b5f52604160045260245ffd5b601f909101601f19168101906001600160401b0382119082101761025d57604052565b51906001600160a01b03821682036101b457565b905f8091602081519101845af48080610321575b156102dc5750506040513d81523d5f602083013e60203d82010160405290565b1561030157639996b31560e01b5f9081526001600160a01b0391909116600452602490fd5b3d15610312576040513d5f823e3d90fd5b63d6bda27560e01b5f5260045ffd5b503d1515806102bc5750813b15156102bc56fe60806040819052635c60da1b60e01b81526020906004817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801560a2575f901560d1575060203d602011609c575b601f19601f820116608001906080821067ffffffffffffffff83111760885760849160405260800160ad565b60d1565b634e487b7160e01b5f52604160045260245ffd5b503d6058565b6040513d5f823e3d90fd5b602090607f19011260cd576080516001600160a01b038116810360cd5790565b5f80fd5b5f8091368280378136915af43d5f803e1560e9573d5ff35b3d5ffdfea2646970667358221220a45bf8f03d535e070da0b58c37a7afd4f9d763da8a9d0b0c479b131d2b40ba2f64736f6c634300081e00332cefd7c6aca4efb6085e4a9235cc3be23e6beeb0245cf23a279c1cb6896493032cefd7c6aca4efb6085e4a9235cc3be23e6beeb0245cf23a279c1cb6896493002cefd7c6aca4efb6085e4a9235cc3be23e6beeb0245cf23a279c1cb6896493072cefd7c6aca4efb6085e4a9235cc3be23e6beeb0245cf23a279c1cb689649306a26469706673582212209d5e8d0e53ef3f1211f0a897d283d4c20a22e0f8aa9ee917397f548003ed244064736f6c634300081e0033000000000000000000000000d2e6680c9b5f359f3a78a89e69bcc8b3f923fe3a