Full lifecycle view
Gateway_FinalizeBlock
Block timestamp → commit, incl. the gateway-build-block call for block #45154
Measured from on-chain timestamps only: the EVM block timestamp, which the producer chose when it planned the block (whole seconds), and the record time (commit) of the Gateway_FinalizeBlock transaction; a commit that reads slightly before the block timestamp (rounding) shows as 0. The gateway-build-block external call runs inside that transaction and is not timed on its own; the import into the execution layers follows the commit and its time is not observable here, so those steps are markers without a duration.
Total
1.35s
Block → Canton commit
1.35s
block timestamp → record time (±1s)
Measured from on-chain timestamps: the EVM block timestamp, chosen when the producer planned the block, and the record time (commit) of the Gateway_FinalizeBlock transaction. The block timestamp is whole seconds and follows Canton's ledger time, so the span carries up to ±1s of rounding; a commit that reads slightly before the block timestamp shows as 0.
0x02f9430b830e4a2541843b9aca00847735940083494bd58080b942af60c060405234801562000010575f80fd5b506040516200428f3803806200428f8339810160408190526200003391620000a0565b60015f556001600160a01b0381166080526040513090620000549062000092565b6001600160a01b039091168152602001604051809103905ff0801580156200007e573d5f803e3d5ffd5b506001600160a01b031660a05250620000cf565b611f50806200233f83390190565b5f60208284031215620000b1575f80fd5b81516001600160a01b0381168114620000c8575f80fd5b9392505050565b60805160a0516121ed620001525f395f81816101d301526104da01525f818160ff0152818161028f0152818161040c0152818161043401528181610603015281816109dc01528181610c2001528181610e7501528181610e9d01528181610fb1015281816111f5015281816112b80152818161139e015261146201526121ed5ff3fe608060405234801561000f575f80fd5b50600436106100b1575f3560e01c80637ad2b83c1161006e5780637ad2b83c146101875780637df43a1f1461019a578063beda0e81146101bb578063c45a0155146101ce578063e06032a4146101f5578063ed6c462614610208575f80fd5b806316343da4146100b5578063187f8b05146100da5780631c0edff2146100fa578063264c780714610139578063294a70051461014c578063493eb7db14610174575b5f80fd5b6100c06305f5e10081565b60405163ffffffff90911681526020015b60405180910390f35b6100ed6100e8366004611aed565b610236565b6040516100d19190611b46565b6101217f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100d1565b610121610147366004611bc6565b610400565b61012161015a366004611c0e565b60016020525f90815260409020546001600160a01b031681565b6100c0610182366004611c30565b6105a4565b6100c0610195366004611c5c565b61098a565b6101ad6101a8366004611aed565b6109ba565b6040519081526020016100d1565b6100c06101c9366004611ce5565b610bcf565b6101217f000000000000000000000000000000000000000000000000000000000000000081565b6101ad610203366004611aed565b610bfe565b61021b610216366004611d5b565b610e67565b604080519384526020840192909252908201526060016100d1565b60408051610100810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081019190915260405163e6a4390560e01b81525f906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063e6a43905906102c69089908990600401611d6c565b602060405180830381865afa1580156102e1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103059190611d91565b90506001600160a01b03811661033b578585604051636de2b62560e01b8152600401610332929190611d6c565b60405180910390fd5b6001600160a01b038082165f90815260016020526040902054168061037e57604051637cbebcbf60e11b81526001600160a01b0383166004820152602401610332565b604051635d9e5cd360e11b8152851515600482015263ffffffff851660248201526001600160a01b0382169063bb3cb9a69060440161010060405180830381865afa1580156103cf573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103f39190611dcd565b925050505b949350505050565b5f336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461046e57337f000000000000000000000000000000000000000000000000000000000000000060405163699838df60e11b8152600401610332929190611d6c565b6001600160a01b038085165f908152600160205260409020541680156104ab57848160405163778906e960e11b8152600401610332929190611d6c565b604051639c041ebd60e01b81526001600160a01b038681166004830152858116602483015284811660448301527f00000000000000000000000000000000000000000000000000000000000000001690639c041ebd906064016020604051808303815f875af1158015610520573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105449190611d91565b6001600160a01b038681165f8181526001602052604080822080546001600160a01b031916948616948517905551939550919290917ff34d5dfbb3f45011f3fc82dfc48b047e9ff501d05e2c2f90db7f4d21b50f260091a3509392505050565b5f6105ad6112e7565b5f6105c061012084016101008501611c0e565b6001600160a01b0316036105e757604051634e46966960e11b815260040160405180910390fd5b6106006105fb610100840160e08501611e87565b61130f565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a34066a66040518163ffffffff1660e01b8152600401602060405180830381865afa15801561065d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106819190611ea2565b905061069360c0840160a08501611ebd565b63ffffffff1615806106bf575063ffffffff81166106b760c0850160a08601611ebd565b63ffffffff16115b156106fe576106d460c0840160a08501611ebd565b604051630ba7404360e01b815263ffffffff91821660048201529082166024820152604401610332565b6305f5e10061071360e0850160c08601611ebd565b63ffffffff16106107505761072e60e0840160c08501611ebd565b60405163cc29dfd560e01b815263ffffffff9091166004820152602401610332565b5f806107926107626020870187611c0e565b6107726040880160208901611c0e565b6107826060890160408a01611ed8565b88606001355f8a60800135611364565b5090925090506107dd6107ab6060870160408801611ed8565b6107c1576107bc6020870187611c0e565b6107d1565b6107d16040870160208801611c0e565b3383886080013561173f565b6001600160a01b038116636ab2b8b86107fe61012088016101008901611c0e565b61080e6060890160408a01611ed8565b60608901355f60808b0135600161082b60e08e0160c08f01611ebd565b8d60a001602081019061083e9190611ebd565b8e60e00160208101906108519190611e87565b6040518a63ffffffff1660e01b815260040161087599989796959493929190611ef3565b6020604051808303815f875af1158015610891573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108b59190611ea2565b93506108c961012086016101008701611c0e565b6001600160a01b03168463ffffffff16836001600160a01b03167f40597f75d1db3042a4b3168dafd3b5d104ce257328432259289823a0fc31b3ef8860400160208101906109179190611ed8565b60018a606001355f8c608001358d60c00160208101906109379190611ebd565b8e60a001602081019061094a9190611ebd565b8f60e001602081019061095d9190611e87565b604051610971989796959493929190611f52565b60405180910390a450505061098560015f55565b919050565b5f6109936112e7565b6109a38989898989898989611852565b90506109ae60015f55565b98975050505050505050565b5f6109c36112e7565b60405163e6a4390560e01b81525f906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063e6a4390590610a139089908990600401611d6c565b602060405180830381865afa158015610a2e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a529190611d91565b90506001600160a01b038116610a7f578585604051636de2b62560e01b8152600401610332929190611d6c565b6001600160a01b038082165f908152600160205260409020541680610ac257604051637cbebcbf60e11b81526001600160a01b0383166004820152602401610332565b6040516361d27aa760e01b8152851515600482015263ffffffff851660248201525f908190819081906001600160a01b038616906361d27aa7906044016080604051808303815f875af1158015610b1b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b3f9190611f9d565b604080518e15158152600160208201528215159181019190915267ffffffffffffffff8316606082015260808101849052939750919550935091506001600160a01b038086169163ffffffff8b16918916907fce8afea3aa53c83465107943a98823e1ce2c0623d56dccc9ded8445d543165ef9060a00160405180910390a450909450505050506103f860015f55565b5f610bd86112e7565b610be8888888888888885f611852565b9050610bf360015f55565b979650505050505050565b5f610c076112e7565b60405163e6a4390560e01b81525f906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063e6a4390590610c579089908990600401611d6c565b602060405180830381865afa158015610c72573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c969190611d91565b90506001600160a01b038116610cc3578585604051636de2b62560e01b8152600401610332929190611d6c565b6001600160a01b038082165f908152600160205260409020541680610d0657604051637cbebcbf60e11b81526001600160a01b0383166004820152602401610332565b604051635d9e5cd360e11b8152851515600482015263ffffffff851660248201525f906001600160a01b0383169063bb3cb9a69060440161010060405180830381865afa158015610d59573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d7d9190611dcd565b604051633a329d4160e11b8152871515600482015263ffffffff871660248201523360448201529091506001600160a01b038316906374653a82906064016020604051808303815f875af1158015610dd7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610dfb9190611fe4565b60e082015160408051891515815291151560208301528101829052909450339063ffffffff8716906001600160a01b038616907f3587c1d14355c40a263d964e2e18c99d055540443afd9b3c707fa610914699ad9060600160405180910390a45050506103f860015f55565b5f8080336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610ed757337f000000000000000000000000000000000000000000000000000000000000000060405163699838df60e11b8152600401610332929190611d6c565b6040805161010081019091525f9080610ef36020880188611c0e565b6001600160a01b0316815260200186608001358152602001866020016020810190610f1e9190611c0e565b6001600160a01b03168152602001610f3c6060880160408901611c0e565b6001600160a01b03168152602001610f5a6080880160608901611ed8565b1515815260c08701356020820152604001610f7d61016088016101408901611ebd565b63ffffffff168152602001610f9a61018088016101608901611ffb565b61ffff1690526040805161012081019091529091507f0000000000000000000000000000000000000000000000000000000000000000905f9080600183610fe460208c018c611c0e565b6001600160a01b03908116825260208083019390935260409182015f20541683526080808c01359284019290925260e08b0135908301526101008a01356060830152016110396101408a016101208b01611ebd565b63ffffffff168152602001836001600160a01b031663a34066a66040518163ffffffff1660e01b8152600401602060405180830381865afa158015611080573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110a49190611ea2565b63ffffffff168152602001836001600160a01b0316634055042d8a5f0160208101906110d09190611c0e565b6040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526001602482018190526044820152606401602060405180830381865afa158015611120573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111449190611ea2565b63ffffffff168152602001836001600160a01b0316634055042d8a5f0160208101906111709190611c0e565b6040516001600160e01b031960e084901b1681526001600160a01b0390911660048201525f602482015260016044820152606401602060405180830381865afa1580156111bf573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111e39190611ea2565b63ffffffff1681526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660209091015260405163e32a5b1160e01b815290915073958bdf2ee32ccc5bd660c0842864bb9898f77b369063e32a5b119061125790869085906004016120b3565b606060405180830381865af4158015611272573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112969190612145565b9197509550935085156112dd576112dd6112b66040890160208a01611c0e565b7f00000000000000000000000000000000000000000000000000000000000000008861199f565b5050509193909250565b60025f540361130957604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b67ffffffffffffffff81161580159061133157508067ffffffffffffffff1642115b156113615760405163794534db60e01b815267ffffffffffffffff82166004820152426024820152604401610332565b50565b5f805f835f03611387576040516310eb483f60e21b815260040160405180910390fd5b60405163e6a4390560e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063e6a43905906113d5908c908c90600401611d6c565b602060405180830381865afa1580156113f0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114149190611d91565b92506001600160a01b038316611441578888604051636de2b62560e01b8152600401610332929190611d6c565b604051635d38542f60e11b81526001600160a01b0384811660048301525f917f00000000000000000000000000000000000000000000000000000000000000009091169063ba70a85e90602401602060405180830381865afa1580156114a9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114cd9190611fe4565b90504281111561150857604051630b05c2a960e31b81526001600160a01b038516600482015260248101829052426044820152606401610332565b6001600160a01b038085165f908152600160205260409020541692508261154d57604051637cbebcbf60e11b81526001600160a01b0385166004820152602401610332565b836001600160a01b031663dec5e35a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611589573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115ad9190611fe4565b91508780156115bc5750818711155b806115d05750871580156115d05750818710155b1561160057604051630f96b2a360e11b815260048101889052602481018390528815156044820152606401610332565b5f861561160d578661160f565b825b604051639c0e0bf160e01b815260048101829052602481018890528a1560448201529091505f906001600160a01b03871690639c0e0bf190606401602060405180830381865afa158015611665573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116899190611fe4565b604051639c0e0bf160e01b815260048101849052600160248201528b1560448201529091505f906001600160a01b03881690639c0e0bf190606401602060405180830381865afa1580156116df573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117039190611fe4565b905080821161172f5760405163200772a360e11b81526004810183905260248101829052604401610332565b5050505096509650969350505050565b604080516001600160a01b0385811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180516001600160e01b03166323b872dd60e01b17905291515f928392908816916117a29190612170565b5f604051808303815f865af19150503d805f81146117db576040519150601f19603f3d011682016040523d82523d5f602084013e6117e0565b606091505b5091509150816117f3576117f381611aa8565b818015611818575080511580611818575080806020019051810190611818919061219c565b61184a5760405162461bcd60e51b81526020600482015260036024820152622a232360e91b6044820152606401610332565b505050505050565b5f6001600160a01b03831661187a57604051634e46966960e11b815260040160405180910390fd5b6118838261130f565b5f805f6118948c8c8c8c8c8c611364565b9250925092506118b28a6118a8578c6118aa565b8b5b33848a61173f565b816001600160a01b0316636ab2b8b8878c8c8c8c5f805f8e6040518a63ffffffff1660e01b81526004016118ee99989796959493929190611ef3565b6020604051808303815f875af115801561190a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061192e9190611ea2565b9350856001600160a01b03168463ffffffff16846001600160a01b03167f40597f75d1db3042a4b3168dafd3b5d104ce257328432259289823a0fc31b3ef8d5f8e8e8e5f808f604051611988989796959493929190611f52565b60405180910390a450505098975050505050505050565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b17905291515f928392908716916119fa9190612170565b5f604051808303815f865af19150503d805f8114611a33576040519150601f19603f3d011682016040523d82523d5f602084013e611a38565b606091505b509150915081611a4b57611a4b81611aa8565b818015611a70575080511580611a70575080806020019051810190611a70919061219c565b611aa15760405162461bcd60e51b81526020600482015260026024820152612a2360f11b6044820152606401610332565b5050505050565b80515f03611ab35750565b805160208201fd5b6001600160a01b0381168114611361575f80fd5b8015158114611361575f80fd5b63ffffffff81168114611361575f80fd5b5f805f8060808587031215611b00575f80fd5b8435611b0b81611abb565b93506020850135611b1b81611abb565b92506040850135611b2b81611acf565b91506060850135611b3b81611adc565b939692955090935050565b5f6101008201905060018060a01b038351168252602083015160208301526040830151604083015260608301516060830152608083015163ffffffff80821660808501528060a08601511660a0850152505067ffffffffffffffff60c08401511660c083015260e0830151611bbf60e084018215159052565b5092915050565b5f805f60608486031215611bd8575f80fd5b8335611be381611abb565b92506020840135611bf381611abb565b91506040840135611c0381611abb565b809150509250925092565b5f60208284031215611c1e575f80fd5b8135611c2981611abb565b9392505050565b5f6101208284031215611c41575f80fd5b50919050565b67ffffffffffffffff81168114611361575f80fd5b5f805f805f805f80610100898b031215611c74575f80fd5b8835611c7f81611abb565b97506020890135611c8f81611abb565b96506040890135611c9f81611acf565b9550606089013594506080890135935060a0890135925060c0890135611cc481611abb565b915060e0890135611cd481611c47565b809150509295985092959890939650565b5f805f805f805f60e0888a031215611cfb575f80fd5b8735611d0681611abb565b96506020880135611d1681611abb565b95506040880135611d2681611acf565b9450606088013593506080880135925060a0880135915060c0880135611d4b81611abb565b8091505092959891949750929550565b5f6101808284031215611c41575f80fd5b6001600160a01b0392831681529116602082015260400190565b805161098581611abb565b5f60208284031215611da1575f80fd5b8151611c2981611abb565b805161098581611adc565b805161098581611c47565b805161098581611acf565b5f610100808385031215611ddf575f80fd5b6040519081019067ffffffffffffffff82118183101715611e0e57634e487b7160e01b5f52604160045260245ffd5b81604052611e1b84611d86565b8152602084015160208201526040840151604082015260608401516060820152611e4760808501611dac565b6080820152611e5860a08501611dac565b60a0820152611e6960c08501611db7565b60c0820152611e7a60e08501611dc2565b60e0820152949350505050565b5f60208284031215611e97575f80fd5b8135611c2981611c47565b5f60208284031215611eb2575f80fd5b8151611c2981611adc565b5f60208284031215611ecd575f80fd5b8135611c2981611adc565b5f60208284031215611ee8575f80fd5b8135611c2981611acf565b6001600160a01b039990991689529615156020890152604088019590955260608701939093526080860191909152151560a085015263ffffffff90811660c08501521660e083015267ffffffffffffffff166101008201526101200190565b9715158852951515602088015260408701949094526060860192909252608085015263ffffffff90811660a08501521660c083015267ffffffffffffffff1660e08201526101000190565b5f805f8060808587031215611fb0575f80fd5b8451611fbb81611abb565b602086015160408701519195509350611fd381611c47565b6060860151909250611b3b81611acf565b5f60208284031215611ff4575f80fd5b5051919050565b5f6020828403121561200b575f80fd5b813561ffff81168114611c29575f80fd5b60018060a01b03815116825260208101516020830152604081015160408301526060810151606083015263ffffffff608082015116608083015260a081015161206d60a084018263ffffffff169052565b5060c081015161208560c084018263ffffffff169052565b5060e081015161209d60e084018263ffffffff169052565b50610100908101516001600160a01b0316910152565b82516001600160a01b03908116825260208085015190830152604080850151821690830152606080850151909116908201526080808401516102208301916120fe9084018215159052565b5060a084015160a083015260c084015161212060c084018263ffffffff169052565b5060e084015161213660e084018261ffff169052565b50611c2961010083018461201c565b5f805f60608486031215612157575f80fd5b8351925060208401519150604084015190509250925092565b5f82515f5b8181101561218f5760208186018101518583015201612175565b505f920191825250919050565b5f602082840312156121ac575f80fd5b8151611c2981611acf56fea26469706673582212203e9559470acf08eb147fae4e9356fea52bd2ba53e1ebd50254b079ffc06c096564736f6c6343000818003360c060405234801561000f575f80fd5b50604051611f50380380611f5083398101604081905261002e91610080565b6001600160a01b03811660805260405161004790610073565b604051809103905ff080158015610060573d5f803e3d5ffd5b506001600160a01b031660a052506100ad565b61193d8061061383390190565b5f60208284031215610090575f80fd5b81516001600160a01b03811681146100a6575f80fd5b9392505050565b60805160a05161051d6100f65f395f81816085015281816101120152818161019401526102f101525f818160ea0152818161024001528181610282015261032d015261051d5ff3fe608060405234801561000f575f80fd5b5060043610610054575f3560e01c8062ae3676146100585780638abf607714610080578063901b96e7146100bf5780639c041ebd146100d2578063c9d4623f146100e5575b5f80fd5b61006b610066366004610487565b61010c565b60405190151581526020015b60405180910390f35b6100a77f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610077565b6100a76100cd366004610487565b61013d565b6100a76100e03660046104a7565b610234565b6100a77f000000000000000000000000000000000000000000000000000000000000000081565b5f6101377f0000000000000000000000000000000000000000000000000000000000000000836103b0565b92915050565b604080516bffffffffffffffffffffffff19606084811b821660208085019190915284518085036014018152603485018652805190820120733d602d80600a3d3981f3363d3d373d3d3d363d7360601b60548601527f0000000000000000000000000000000000000000000000000000000000000000831b841660688601526e5af43d82803e903d91602b57fd5bf360881b607c8601528551808603606b018152608b860187528051908301206001600160f81b031960ab8701523090931b90931660ac85015260c084019290925260e0808401919091528351808403909101815261010090920190925280519101205f90610137565b5f336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146102b35760405163699838df60e11b81523360048201526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016602482015260440160405180910390fd5b6040516bffffffffffffffffffffffff19606086901b1660208201525f906034016040516020818303038152906040528051906020012090506103167f00000000000000000000000000000000000000000000000000000000000000008261040f565b604051637c643b2f60e11b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660048301528781166024830152868116604483015285811660648301529193509083169063f8c8765e906084015f604051808303815f87803b158015610392575f80fd5b505af11580156103a4573d5f803e3d5ffd5b50505050509392505050565b5f808360601b905060405169363d3d373d3d3d363d7360b01b815281600a8201526e5af43d82803e903d91602b57fd5bf360881b601e82015260408101602d5f82873c600d810151600d83015114815183511416935050505092915050565b5f808360601b9050604051733d602d80600a3d3981f3363d3d373d3d3d363d7360601b81528160148201526e5af43d82803e903d91602b57fd5bf360881b6028820152836037825ff5925050813b610465575f80fd5b5092915050565b80356001600160a01b0381168114610482575f80fd5b919050565b5f60208284031215610497575f80fd5b6104a08261046c565b9392505050565b5f805f606084860312156104b9575f80fd5b6104c28461046c565b92506104d06020850161046c565b91506104de6040850161046c565b9050925092509256fea2646970667358221220cf36f7cbf9348b8958bc71508dbc5398acb600b7085bc37bf72dd79c0acb25ba64736f6c6343000818003360806040525f805460ff19169055348015610018575f80fd5b50611917806100265f395ff3fe608060405234801561000f575f80fd5b50600436106100b1575f3560e01c8063abbe67a41161006e578063abbe67a4146101a3578063bb3cb9a6146101b6578063c18b1d5e146102b5578063c9d4623f146102c8578063eec31b65146102df578063f8c8765e146102ff575f80fd5b8063158ef93e146100b55780635001f3b5146100cf57806361d27aa7146100fa5780636ab2b8b81461014757806374653a821461016f578063999b93af14610190575b5f80fd5b5f5460ff1660405190151581526020015b60405180910390f35b6002546100e2906001600160a01b031681565b6040516001600160a01b0390911681526020016100c6565b61010d61010836600461150f565b610314565b604080516001600160a01b03909516855260208501939093526001600160401b0390911691830191909152151560608201526080016100c6565b61015a610155366004611558565b6104b4565b60405163ffffffff90911681526020016100c6565b61018261017d3660046115f8565b610851565b6040519081526020016100c6565b6003546100e2906001600160a01b031681565b6101826101b136600461163a565b6109be565b6102a86101c436600461150f565b60408051610100810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e0810191909152509015155f90815260096020908152604080832063ffffffff948516845282529182902082516101008101845281546001600160a01b03168152600182015492810192909252600281015492820192909252600382015460608201526004909101548083166080830152640100000000810490921660a0820152600160401b82046001600160401b031660c0820152600160801b90910460ff16151560e082015290565b6040516100c69190611655565b6001546100e2906001600160a01b031681565b5f546100e29061010090046001600160a01b031681565b6102f26102ed3660046116d4565b6109d6565b6040516100c69190611706565b61031261030d3660046117ce565b610d19565b005b5f805481908190819061010090046001600160a01b03163314610367575f5460405163699838df60e11b81523360048201526101009091046001600160a01b031660248201526044015b60405180910390fd5b8515155f90815260096020908152604080832063ffffffff89811685529083529281902081516101008101835281546001600160a01b0316815260018201549381019390935260028101549183019190915260038101546060830152600401548083166080830152640100000000810490921660a0820152600160401b82046001600160401b031660c08201819052600160801b90920460ff16151560e082015290158061042257508060c001516001600160401b03164211155b156104515760c0810151604051633728b83d60e01b81526001600160401b03909116600482015260240161035e565b61046087878360200151610d8c565b61049287610479576002546001600160a01b0316610486565b6003546001600160a01b03165b82516060840151610fa7565b8051606082015160c083015160e0909301519199909850919650945092505050565b5f805461010090046001600160a01b031633146104fc575f5460405163699838df60e11b81523360048201526101009091046001600160a01b0316602482015260440161035e565b871580610510575084158015610510575086155b156105385760405163af608abb60e01b8152600481018990526024810188905260440161035e565b855f0361055b57604051633728b83d60e01b81526004810187905260240161035e565b8815155f908152600d602052604090205461057d9063ffffffff166001611833565b90508063ffffffff165f036105a957604051632339004960e11b8152891515600482015260240161035e565b80600d5f8b1515151581526020019081526020015f205f6101000a81548163ffffffff021916908363ffffffff1602179055506040518061010001604052808b6001600160a01b031681526020018981526020018881526020018781526020018463ffffffff1681526020018563ffffffff168152602001836001600160401b0316815260200186151581525060095f8b1515151581526020019081526020015f205f8363ffffffff1663ffffffff1681526020019081526020015f205f820151815f015f6101000a8154816001600160a01b0302191690836001600160a01b031602179055506020820151816001015560408201518160020155606082015181600301556080820151816004015f6101000a81548163ffffffff021916908363ffffffff16021790555060a08201518160040160046101000a81548163ffffffff021916908363ffffffff16021790555060c08201518160040160086101000a8154816001600160401b0302191690836001600160401b0316021790555060e08201518160040160106101000a81548160ff0219169083151502179055509050505f600b5f8b1515151581526020019081526020015f205f8a81526020019081526020015f205f9054906101000a900463ffffffff1690508063ffffffff165f036107d757891580155f908152600a602090815260408083208d84529091529020805463ffffffff191663ffffffff858116919091179091556107d2916004918c906110b016565b610814565b8915155f908152600c602090815260408083208c8452825280832063ffffffff85811685529252909120805463ffffffff19169184169190911790555b509715155f908152600b6020908152604080832099835298905296909620805463ffffffff191663ffffffff891617905550949695505050505050565b5f805461010090046001600160a01b03163314610899575f5460405163699838df60e11b81523360048201526101009091046001600160a01b0316602482015260440161035e565b8315155f90815260096020908152604080832063ffffffff87811685529083529281902081516101008101835281546001600160a01b03908116808352600184015495830195909552600283015493820193909352600382015460608201526004909101548085166080830152640100000000810490941660a0820152600160401b84046001600160401b031660c0820152600160801b90930460ff16151560e08401528416146109735780516040516338b042dd60e01b81526001600160a01b038086166004830152909116602482015260440161035e565b8060600151915061098985858360200151610d8c565b6109b6856109a2576002546001600160a01b03166109af565b6003546001600160a01b03165b8484610fa7565b509392505050565b5f816109cc576007546109d0565b6006545b92915050565b5f5460609061010090046001600160a01b03163314610a20575f5460405163699838df60e11b81523360048201526101009091046001600160a01b0316602482015260440161035e565b8163ffffffff166001600160401b03811115610a3e57610a3e611850565b604051908082528060200260200182016040528015610ab357816020015b60408051610120810182525f8082526020808301829052928201819052606082018190526080820181905260a0820181905260c0820181905260e0820181905261010082015282525f19909201910181610a5c5790505b5090505f5b8263ffffffff168163ffffffff161015610d10575f85610ada57600754610ade565b6006545b90505f8115801590610afe575086610af95781861115610afe565b818610155b905080610b0c575050610d10565b8615155f818152600a602090815260408083208684528252808320549383526009825280832063ffffffff94851680855290835281842082516101008101845281546001600160a01b03168152600182015494810194909452600281015492840192909252600382015460608401526004909101548085166080840152640100000000810490941660a0830152600160401b84046001600160401b031660c08301819052600160801b90940460ff16151560e08301529290919015801590610be057508160c001516001600160401b031642115b90506040518061012001604052808463ffffffff168152602001835f01516001600160a01b031681526020018360400151815260200183606001518152602001836080015163ffffffff1681526020018360a0015163ffffffff1681526020018360c001516001600160401b031681526020018360e0015115158152602001821515815250878780610c7190611864565b985063ffffffff1681518110610c8957610c89611886565b6020026020010181905250610c9f8a848761123e565b610d068a610cb8576002546001600160a01b0316610cc5565b6003546001600160a01b03165b82610cf9578360e00151610ce4576001546001600160a01b0316610cfc565b5f5461010090046001600160a01b0316610cfc565b83515b8460600151610fa7565b5050505050610ab8565b81529392505050565b5f5460ff1615610d27575f80fd5b5f8054600180546001600160a01b039687166001600160a01b0319918216178255600280549688169682169690961790955560038054948716949095169390931790935560ff199390941661010002929092166001600160a81b031990911617179055565b8215155f908152600a6020908152604080832084845290915281205463ffffffff16905b8363ffffffff168263ffffffff1614610df657508315155f908152600c60209081526040808320858452825280832063ffffffff80861685529252909120541690610db0565b8415155f908152600c60209081526040808320868452825280832063ffffffff808916855292528220548116919083169003610e5f578515155f908152600a602090815260408083208784529091529020805463ffffffff191663ffffffff8316179055610e9c565b8515155f908152600c60209081526040808320878452825280832063ffffffff86811685529252909120805463ffffffff19169183169190911790555b8515155f908152600b6020908152604080832087845290915290205463ffffffff808716911603610ef6578515155f908152600b602090815260408083208784529091529020805463ffffffff191663ffffffff84161790555b8515155f818152600c60209081526040808320888452825280832063ffffffff808b16808652918452828520805463ffffffff191690558585526009845282852091855290835281842080546001600160a01b031916815560018101859055600281018590556003810185905560040180546001600160881b0319169055938352600a82528083208884529091528120549091169003610f9f57610f9d6004871586611336565b505b505050505050565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b17905291515f92839290871691611002919061189a565b5f604051808303815f865af19150503d805f811461103b576040519150601f19603f3d011682016040523d82523d5f602084013e611040565b606091505b50915091508161105357611053816114d4565b81801561107857508051158061107857508080602001905181019061107891906118c6565b6110a95760405162461bcd60e51b81526020600482015260026024820152612a2360f11b604482015260640161035e565b5050505050565b811561117f5760038301545f908015806110c957508083115b156110ed57600385018390555f928352600190940160205250604090209190915550565b80156110a9575f81815260018601602052604090205480841015611125575f9182526001860160205260409091205490915081611179565b80841115610f9f57805f0361115657505f908152600190940160205250604080842082905590835282209190915550565b5f9182526001909501602052604080822084905592815291909120929092555050565b506110ed565b60028301545f9080158061119257508083105b156111b457600285018390555f92835260209490945250604090209190915550565b80156110a9575f818152602086905260409020548084111561120f57805f036111f757505f90815260209490945250604080842082905590835282209190915550565b5f918252602086905260409091205490915081611238565b80841015610f9f575f918252602095909552604080822084905592815291909120929092555050565b506111b4565b8215155f818152600c60209081526040808320858452825280832063ffffffff8088168086528285528386208054978752600a86528487208988528652938620805463ffffffff1990811698909316978817905585529252805490911690558190036112da57831580155f908152600b602090815260408083208684529091529020805463ffffffff191690556112d89060049084611336565b505b50509015155f90815260096020908152604080832063ffffffff909416835292905290812080546001600160a01b03191681556001810182905560028101829055600381019190915560040180546001600160881b0319169055565b5f815f0361134557505f6114cd565b82156114175760038401545f9080158061135e57508084115b1561136d575f925050506114cd565b838103611398575f908152600180870160205260408220805460038901559190915591506114cd9050565b5f8181526001870160205260409020549091505b801561140d578381036113e3575f8181526001808801602052604080832080549584529083209490945591815290915590506114cd565b838110156113f5575f925050506114cd565b5f8181526001870160205260409020549091506113ac565b5f925050506114cd565b60028401545f9080158061142a57508084105b15611439575f925050506114cd565b83810361145f575f908152602086905260408120805460028801555550600190506114cd565b5f818152602087905260409020549091505b801561140d578381036114a5575f8181526020879052604080822080549483529082209390935590815290555060016114cd565b838111156114b7575f925050506114cd565b5f81815260208790526040902054909150611471565b9392505050565b80515f036114df5750565b805160208201fd5b80151581146114f4575f80fd5b50565b803563ffffffff8116811461150a575f80fd5b919050565b5f8060408385031215611520575f80fd5b823561152b816114e7565b9150611539602084016114f7565b90509250929050565b80356001600160a01b038116811461150a575f80fd5b5f805f805f805f805f6101208a8c031215611571575f80fd5b61157a8a611542565b985060208a013561158a816114e7565b975060408a0135965060608a0135955060808a0135945060a08a01356115af816114e7565b93506115bd60c08b016114f7565b92506115cb60e08b016114f7565b91506101008a01356001600160401b03811681146115e7575f80fd5b809150509295985092959850929598565b5f805f6060848603121561160a575f80fd5b8335611615816114e7565b9250611623602085016114f7565b915061163160408501611542565b90509250925092565b5f6020828403121561164a575f80fd5b81356114cd816114e7565b5f6101008201905060018060a01b038351168252602083015160208301526040830151604083015260608301516060830152608083015163ffffffff80821660808501528060a08601511660a085015250506001600160401b0360c08401511660c083015260e08301516116cd60e084018215159052565b5092915050565b5f805f606084860312156116e6575f80fd5b83356116f1816114e7565b925060208401359150611631604085016114f7565b602080825282518282018190525f919060409081850190868401855b828110156117c1578151805163ffffffff168552868101516001600160a01b0316878601528581015186860152606080820151908601526080808201516117708288018263ffffffff169052565b505060a08181015163ffffffff169086015260c0808201516001600160401b03169086015260e080820151151590860152610100908101511515908501526101209093019290850190600101611722565b5091979650505050505050565b5f805f80608085870312156117e1575f80fd5b6117ea85611542565b93506117f860208601611542565b925061180660408601611542565b915061181460608601611542565b905092959194509250565b634e487b7160e01b5f52601160045260245ffd5b63ffffffff8181168382160190808211156116cd576116cd61181f565b634e487b7160e01b5f52604160045260245ffd5b5f63ffffffff80831681810361187c5761187c61181f565b6001019392505050565b634e487b7160e01b5f52603260045260245ffd5b5f82515f5b818110156118b9576020818601810151858301520161189f565b505f920191825250919050565b5f602082840312156118d6575f80fd5b81516114cd816114e756fea2646970667358221220914a62fdeb942463598e159d57b584e1d7b1cc00af9f3bb2979010cb2cd2773964736f6c63430008180033000000000000000000000000925e8d5ec0b8c417bcadbeae4d7e7f22376003fcc080a04dad11ab3755c7880650c6bd1c199f3e1248d171daa507b9419afd3bb7e1e8b0a01099ca4584dc72205d4ca3425d4cd00a097800a20bcc49f98cf8e0928856cb58