127.3k txs
123.6k calls
constructor
constructor(address _owner, address _allocator)
functions
_CALL_REQUEST_TYPEHASH
viewfunction _CALL_REQUEST_TYPEHASH() view returns (bytes32)
_CALL_TYPEHASH
viewfunction _CALL_TYPEHASH() view returns (bytes32)
allocator
viewfunction allocator() view returns (address)
callRequests
viewfunction callRequests(bytes32) view returns (bool)
eip712Domain
viewfunction eip712Domain() view returns (bytes1 fields, string name, string version, uint256 chainId, address verifyingContract, bytes32 salt, uint256[] extensions)
owner
viewfunction owner() view returns (address result)
ownershipHandoverExpiresAt
viewfunction ownershipHandoverExpiresAt(address pendingOwner) view returns (uint256 result)
cancelOwnershipHandover
payablefunction cancelOwnershipHandover() payable
completeOwnershipHandover
payablefunction completeOwnershipHandover(address pendingOwner) payable
depositErc20
nonpayablefunction depositErc20(address depositor, address token, bytes32 id)
depositErc20
nonpayablefunction depositErc20(address depositor, address token, uint256 amount, bytes32 id)
depositNative
payablefunction depositNative(address depositor, bytes32 id) payable
execute
nonpayablefunction execute(tuple request, bytes signature) returns (tuple[] results)
renounceOwnership
payablefunction renounceOwnership() payable
requestOwnershipHandover
payablefunction requestOwnershipHandover() payable
setAllocator
nonpayablefunction setAllocator(address _allocator)
transferOwnership
payablefunction transferOwnership(address newOwner) payable
events
OwnershipHandoverCanceled
event OwnershipHandoverCanceled(address indexed pendingOwner)
OwnershipHandoverRequested
event OwnershipHandoverRequested(address indexed pendingOwner)
OwnershipTransferred
event OwnershipTransferred(address indexed oldOwner, address indexed newOwner)
RelayCallExecuted
event RelayCallExecuted(bytes32 id, (address to, bytes data, uint256 value, bool allowFailure) call)
RelayErc20Deposit
event RelayErc20Deposit(address from, address token, uint256 amount, bytes32 id)
RelayNativeDeposit
event RelayNativeDeposit(address from, uint256 amount, bytes32 id)
errors
AddressCannotBeZero
error AddressCannotBeZero()
AlreadyInitialized
error AlreadyInitialized()
CallFailed
error CallFailed(bytes returnData)
CallRequestAlreadyUsed
error CallRequestAlreadyUsed()
CallRequestExpired
error CallRequestExpired()
InvalidSignature
error InvalidSignature()
NewOwnerIsZeroAddress
error NewOwnerIsZeroAddress()
NoHandoverRequest
error NoHandoverRequest()
Unauthorized
error Unauthorized()
creation bytecode
0x6101206040523461005f5761001b610015610133565b906101cf565b610023610064565b6121b461054d823960805181612064015260a05181612043015260c05181612139015260e0518161215a01526101005181611fe301526121b490f35b61006a565b60405190565b5f80fd5b601f801991011690565b634e487b7160e01b5f52604160045260245ffd5b906100969061006e565b810190811060018060401b038211176100ae57604052565b610078565b906100c66100bf610064565b928361008c565b565b5f80fd5b60018060a01b031690565b6100e0906100cc565b90565b6100ec816100d7565b036100f357565b5f80fd5b90505190610104826100e3565b565b919060408382031261012e578061012261012b925f86016100f7565b936020016100f7565b90565b6100c8565b61015161270180380380610146816100b3565b928339810190610106565b9091565b5f1b90565b9061016b60018060a01b0391610155565b9181191691161790565b90565b61018c610187610191926100cc565b610175565b6100cc565b90565b61019d90610178565b90565b6101a990610194565b90565b90565b906101c46101bf6101cb926101a0565b6101ac565b825461015a565b9055565b906101e46101eb926101df610261565b6103a6565b60016101af565b565b6101f690610194565b90565b61020290610178565b90565b90565b61021c610217610221926100cc565b610175565b610205565b90565b606090565b151590565b90565b60200190565b5190565b90565b90565b61025561025061025a9261023b565b610155565b61023e565b90565b5f90565b61027a610275610270306101ed565b6101f9565b610208565b6080524660a052610289610224565b610291610224565b906102a361029d610442565b15610229565b610396575b6102b0610442565b5f1461037557506102c05f610241565b5b906102ca610442565b5f1461035457506102da5f610241565b5b908060c0528160e0526102ec61025d565b916102fe6102f8610442565b15610229565b61030b575b505061010052565b60a09250604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f835260208301526040820152466060820152306080820152205f80610303565b61035d9061022e565b61036f61036982610237565b91610231565b206102db565b61037e9061022e565b61039061038a82610237565b91610231565b206102c1565b50506103a061051b565b906102a8565b6103ae610541565b5f1461040657638b78c6d8199081546103f95760601b60601c90811560ff1b821790555f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a35b565b630dc149f05f526004601cfd5b60601b60601c80638b78c6d819555f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a36103f7565b5f90565b61044a61043e565b90565b60018060401b0381116104695761046560209161006e565b0190565b610078565b9061048061047b8361044d565b6100b3565b918252565b5f7f52656c61794465706f7369746f72790000000000000000000000000000000000910152565b6104b6600f61046e565b906104c360208301610485565b565b6104cd6104ac565b90565b5f7f3100000000000000000000000000000000000000000000000000000000000000910152565b610501600161046e565b9061050e602083016104d0565b565b6105186104f7565b90565b610523610224565b5061052c610224565b506105356104c5565b9061053e610510565b90565b61054961043e565b9056fe60806040526004361015610013575b610b79565b61001d5f3561012c565b806325692962146101275780632d9fb4781461012257806349290c1c1461011d57806354d1f13d146101185780635a1ee3ac14610113578063715018a61461010e57806384b0196e146101095780638da5cb5b14610104578063aa5dcecc146100ff578063bf83f2a2146100fa578063cf5905d7146100f5578063d52bfcc8146100f0578063e8017952146100eb578063eae335b3146100e6578063f04e283e146100e1578063f2fde38b146100dc5763fee81cf40361000e57610b44565b610b06565b610add565b610aa8565b610a42565b6109a4565b6108c9565b610852565b6107ff565b610786565b610735565b610592565b61055e565b6104fb565b6104d1565b61040e565b610150565b60e01c90565b60405190565b5f80fd5b5f91031261014657565b610138565b5f0190565b61015b36600461013c565b610163610bb7565b61016b610132565b806101758161014b565b0390f35b5f80fd5b5f80fd5b5f80fd5b908160609103126101935790565b610181565b5f80fd5b5f80fd5b601f801991011690565b634e487b7160e01b5f52604160045260245ffd5b906101c8906101a0565b810190811067ffffffffffffffff8211176101e257604052565b6101aa565b906101fa6101f3610132565b92836101be565b565b67ffffffffffffffff811161021a576102166020916101a0565b0190565b6101aa565b90825f939282370152565b9092919261023f61023a826101fc565b6101e7565b9381855260208501908284011161025b576102599261021f565b565b61019c565b9080601f8301121561027e5781602061027b9335910161022a565b90565b610198565b9190916040818403126102db575f81013567ffffffffffffffff81116102d657836102af918301610185565b92602082013567ffffffffffffffff81116102d1576102ce9201610260565b90565b61017d565b61017d565b610138565b5190565b60209181520190565b60200190565b151590565b610301906102f3565b9052565b5190565b60209181520190565b90825f9392825e0152565b61033c61034560209361034a9361033381610305565b93848093610309565b95869101610312565b6101a0565b0190565b61037991602060408201926103695f8201515f8501906102f8565b015190602081840391015261031d565b90565b906103869161034e565b90565b60200190565b906103a361039c836102e0565b80926102e4565b90816103b4602083028401946102ed565b925f915b8383106103c757505050505090565b909192939460206103e96103e38385600195038752895161037c565b97610389565b93019301919392906103b8565b61040b9160208201915f81840391015261038f565b90565b3461043f5761043b61042a610424366004610283565b90610cff565b610432610132565b918291826103f6565b0390f35b610179565b60018060a01b031690565b61045890610444565b90565b6104648161044f565b0361046b57565b5f80fd5b9050359061047c8261045b565b565b90565b61048a8161047e565b0361049157565b5f80fd5b905035906104a282610481565b565b91906040838203126104cc57806104c06104c9925f860161046f565b93602001610495565b90565b610138565b6104e56104df3660046104a4565b90610e53565b6104ed610132565b806104f78161014b565b0390f35b61050636600461013c565b61050e610ebc565b610516610132565b806105208161014b565b0390f35b90916060828403126105595761055661053f845f850161046f565b9361054d816020860161046f565b93604001610495565b90565b610138565b3461058d57610577610571366004610524565b91610fb3565b61057f610132565b806105898161014b565b0390f35b610179565b61059d36600461013c565b6105a5611079565b6105ad610132565b806105b78161014b565b0390f35b60ff60f81b1690565b6105cd906105bb565b9052565b5190565b60209181520190565b6105fd61060660209361060b936105f4816105d1565b938480936105d5565b95869101610312565b6101a0565b0190565b90565b61061b9061060f565b9052565b6106289061044f565b9052565b6106359061047e565b9052565b5190565b60209181520190565b60200190565b6106559061060f565b9052565b906106668160209361064c565b0190565b60200190565b9061068d61068761068084610639565b809361063d565b92610646565b905f5b81811061069d5750505090565b9091926106b66106b06001928651610659565b9461066a565b9101919091610690565b93959194610711610706610725956106f861071b956107329c9a6106eb60e08c01925f8d01906105c4565b8a820360208c01526105de565b9088820360408a01526105de565b976060870190610612565b608085019061061f565b60a083019061062c565b60c0818403910152610670565b90565b3461076c5761074536600461013c565b6107686107506110b1565b9361075f979597939193610132565b978897886106c0565b0390f35b610179565b9190610784905f6020850194019061061f565b565b346107b65761079636600461013c565b6107b26107a1611113565b6107a9610132565b91829182610771565b0390f35b610179565b1c90565b60018060a01b031690565b6107da9060086107df93026107bb565b6107bf565b90565b906107ed91546107ca565b90565b6107fc60015f906107e2565b90565b3461082f5761080f36600461013c565b61082b61081a6107f0565b610822610132565b91829182610771565b0390f35b610179565b9060208282031261084d5761084a915f0161046f565b90565b610138565b346108805761086a610865366004610834565b6111cc565b610872610132565b8061087c8161014b565b0390f35b610179565b7fd5395b56326912498477b4b3e987bcd306e0ea8d9f9e41e3563c6176a7bc2f6590565b6108b1610885565b90565b91906108c7905f6020850194019061062c565b565b346108f9576108d936600461013c565b6108f56108e46108a9565b6108ec610132565b918291826108b4565b0390f35b610179565b9060208282031261091757610914915f01610495565b90565b610138565b6109259061047e565b90565b906109329061091c565b5f5260205260405f2090565b60ff1690565b61095490600861095993026107bb565b61093e565b90565b906109679154610944565b90565b61097f9061097a5f915f92610928565b61095c565b90565b61098b906102f3565b9052565b91906109a2905f60208501940190610982565b565b346109d4576109d06109bf6109ba3660046108fe565b61096a565b6109c7610132565b9182918261098f565b0390f35b610179565b6109e28161060f565b036109e957565b5f80fd5b905035906109fa826109d9565b565b608081830312610a3d57610a12825f830161046f565b92610a3a610a23846020850161046f565b93610a3181604086016109ed565b93606001610495565b90565b610138565b34610a7457610a5e610a553660046109fc565b92919091611215565b610a66610132565b80610a708161014b565b0390f35b610179565b7f1dcae8e357e31cf00a7777284e6f769bb6d19654688c9665de5fea6f35f5357c90565b610aa5610a79565b90565b34610ad857610ab836600461013c565b610ad4610ac3610a9d565b610acb610132565b918291826108b4565b0390f35b610179565b610af0610aeb366004610834565b6112dd565b610af8610132565b80610b028161014b565b0390f35b610b19610b14366004610834565b61131c565b610b21610132565b80610b2b8161014b565b0390f35b9190610b42905f60208501940190610612565b565b34610b7457610b70610b5f610b5a366004610834565b611327565b610b67610132565b91829182610b2f565b0390f35b610179565b5f80fd5b67ffffffffffffffff1690565b90565b610ba1610b9c610ba692610b7d565b610b8a565b61060f565b90565b90610bb4910161060f565b90565b610bd142610bcb610bc6611366565b610b8d565b90610ba9565b63389a75e1600c52335f526020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d5f80a2565b606090565b35610c18816109d9565b90565b5f1c90565b610c2c610c3191610c1b565b6107bf565b90565b610c3e9054610c20565b90565b610c4d610c5291610c1b565b61093e565b90565b610c5f9054610c41565b90565b5f1b90565b90610c7360ff91610c62565b9181191691161790565b610c86906102f3565b90565b90565b90610ca1610c9c610ca892610c7d565b610c89565b8254610c67565b9055565b5f80fd5b5f80fd5b5f80fd5b903590600160200381360303821215610cfa570180359067ffffffffffffffff8211610cf557602001916020820236038313610cf057565b610cb4565b610cb0565b610cac565b610d07610c09565b50610d118161162d565b92909290610d2160408401610c0e565b610d33610d2d4261060f565b9161060f565b10610dda57610d5891610d5291610d4a6001610c34565b919091611855565b156102f3565b610dbe57610d6f610d6a5f8490610928565b610c55565b610da257610d99610d9f92610d8f6001610d8a5f8490610928565b610c8c565b915f810190610cb8565b91611c35565b90565b5f630929056560e31b815280610dba6004820161014b565b0390fd5b5f638baa579f60e01b815280610dd66004820161014b565b0390fd5b5f63345c526d60e11b815280610df26004820161014b565b0390fd5b90565b610e0d610e08610e1292610df6565b610b8a565b610444565b90565b610e1e90610df9565b90565b604090610e4a610e519496959396610e4060608401985f85019061061f565b6020830190610612565b019061062c565b565b80610e6e610e68610e635f610e15565b61044f565b9161044f565b145f14610eb75750335b90349091610eb27f8032066556caf3967d8fec4ad22a2d9e1e9576556b2903a0fcd5b1fd201e347793610ea9610132565b93849384610e21565b0390a1565b610e78565b63389a75e1600c52335f525f6020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c925f80a2565b610f09610f04610f0e92610444565b610b8a565b610444565b90565b610f1a90610ef5565b90565b610f2690610f11565b90565b610f3290610ef5565b90565b610f3e90610f29565b90565b610f4a90610f29565b90565b60e01b90565b90505190610f60826109d9565b565b90602082820312610f7b57610f78915f01610f53565b90565b610138565b916020610fa1929493610f9a60408201965f83019061061f565b019061061f565b565b610fab610132565b3d5f823e3d90fd5b91610fc5610fc083610f1d565b610f35565b92602063dd62ed3e943390610ff4610fdc30610f41565b97610fff610fe8610132565b998a9586948594610f4d565b845260048401610f80565b03915afa801561104f5761101f945f91611021575b509092909192611215565b565b611042915060203d8111611048575b61103a81836101be565b810190610f62565b5f611014565b503d611030565b610fa3565b61105c611dab565b611064611066565b565b6110776110725f610e15565b611dc7565b565b611081611054565b565b5f90565b606090565b5f90565b5f90565b5f90565b606090565b600f60f81b90565b6110ae90610f29565b90565b6110b9611083565b506110c2611087565b506110cb611087565b506110d461108c565b506110dd611090565b506110e6611094565b6110ee611098565b906110f761109d565b92611100611f1f565b929093469261110e306110a5565b929190565b61111b611090565b50638b78c6d8195490565b61113790611132611dab565b611183565b565b9061114a60018060a01b0391610c62565b9181191691161790565b61115d90610f29565b90565b90565b9061117861117361117f92611154565b611160565b8254611139565b9055565b8061119e6111986111935f610e15565b61044f565b9161044f565b146111b0576111ae906001611163565b565b5f6303988b8160e61b8152806111c86004820161014b565b0390fd5b6111d590611126565b565b61120c611213946112026060949897956111f8608086019a5f87019061061f565b602085019061061f565b6040830190610612565b019061062c565b565b61122b823361122330610f41565b908692611f45565b8061124661124061123b5f610e15565b61044f565b9161044f565b145f1461128e5750611289335b9192937f49fed1d0b752ce30eee63c7a81133f3363b532fec5d4d7dd1ccfd005de4555e194611280610132565b948594856111d7565b0390a1565b61128990611253565b6112a8906112a3611dab565b6112aa565b565b63389a75e1600c52805f526020600c2090815442116112d0575f6112ce9255611dc7565b565b636f5e88185f526004601cfd5b6112e690611297565b565b6112f9906112f4611dab565b6112fb565b565b8060601b1561130f5761130d90611dc7565b565b637448fbae5f526004601cfd5b611325906112e8565b565b61132f61108c565b5063389a75e1600c525f526020600c205490565b5f90565b90565b61135e61135961136392611347565b610b8a565b610b7d565b90565b61136e611343565b5061137b6202a30061134a565b90565b5090565b67ffffffffffffffff811161139a5760208091020190565b6101aa565b906113b16113ac83611382565b6101e7565b918252565b369037565b906113e06113c88361139f565b926020806113d68693611382565b92019103906113b6565b565b6113f66113f16113fb92610df6565b610b8a565b61060f565b90565b600161140a910161060f565b90565b634e487b7160e01b5f52603260045260245ffd5b903590600160800381360303821215611438570190565b610cac565b908210156114575760206114549202810190611421565b90565b61140d565b356114668161045b565b90565b9035906001602003813603038212156114ab570180359067ffffffffffffffff82116114a6576020019160018202360383136114a157565b610cb4565b610cb0565b610cac565b6114bb91369161022a565b90565b60200190565b6114cd816102f3565b036114d457565b5f80fd5b356114e2816114c4565b90565b909594926115309461151f6115299261151560809661150b60a088019c5f89019061062c565b602087019061061f565b604085019061062c565b6060830190610612565b0190610982565b565b5190565b9061154082611532565b811015611551576020809102010190565b61140d565b906115609061047e565b9052565b905090565b60200190565b6115789061047e565b9052565b906115898160209361156f565b0190565b60200190565b906115b06115aa6115a384611532565b8093611564565b92611569565b905f5b8181106115c05750505090565b9091926115d96115d3600192865161157c565b9461158d565b91019190916115b3565b6115ec91611593565b90565b61162461162b9461161a606094989795611610608086019a5f87019061062c565b602085019061062c565b6040830190610612565b0190610612565b565b90611636611094565b5061163f611094565b5061165e611659611653845f810190610cb8565b9061137e565b6113bb565b916116685f6113e2565b5b8061169161168b611686611680865f810190610cb8565b9061137e565b61060f565b9161060f565b10156117a5576117a09061179b6116a6610885565b6117766116ca5f6116c46116bd8983810190610cb8565b889161143d565b0161145c565b916117676116fb6116f56116eb6116e48b5f810190610cb8565b8a9161143d565b6020810190611469565b906114b0565b61170d61170782610305565b916114be565b20611730604061172a6117238c5f810190610cb8565b8b9161143d565b01610c0e565b611752606061174c6117458d5f810190610cb8565b8c9161143d565b016114d8565b9161175b610132565b968795602087016114e5565b602082018103825203826101be565b61178861178282610305565b916114be565b206117968791849092611536565b611556565b6113fe565b611669565b509091611831906118226117d26117e16117bd610a79565b936117c6610132565b928391602083016115e3565b602082018103825203826101be565b6117f36117ed82610305565b916114be565b209361180d604061180660208401610c0e565b9201610c0e565b90611816610132565b958694602086016115ef565b602082018103825203826101be565b61184361183d82610305565b916114be565b209061184e82611fa4565b90565b5f90565b9161185e611851565b908361187a61187461186f5f610e15565b61044f565b9161044f565b146119485760405191843b156118ca5750602090631626ba7e60e01b9384845260048401526024830194859160408352805184019081604487019160045afa9360443d01915afa1691511416905b565b94939192815180604014611925576041146118e857505050506118c8565b60209293955060608201515f1a835260408201516060525b5f5201516040526020600160805f825afa511860601b3d11915f6060526040526118c8565b506020929395506040820151601b8160ff1c01845260011b60011c606052611900565b5091505090565b67ffffffffffffffff81116119675760208091020190565b6101aa565b9061197e6119798361194f565b6101e7565b918252565b61198d60406101e7565b90565b5f90565b606090565b6119a1611983565b90602080836119ae611990565b8152016119b9611994565b81525050565b6119c7611999565b90565b5f5b8281106119d857505050565b6020906119e36119bf565b81840152016119cc565b90611a126119fa8361196c565b92602080611a08869361194f565b92019103906119ca565b565b5f80fd5b5f80fd5b90503590611a29826114c4565b565b919091608081840312611aa257611a4260806101e7565b92611a4f815f840161046f565b5f85015260208201359167ffffffffffffffff8311611a9d57611a7782611a96948301610260565b6020860152611a8982604083016109ed565b6040860152606001611a1c565b6060830152565b611a18565b611a14565b611ab2903690611a2b565b90565b611abf905161044f565b90565b611acc905161060f565b90565b90611ae1611adc836101fc565b6101e7565b918252565b606090565b3d5f14611b0657611afb3d611acf565b903d5f602084013e5b565b611b0e611ae6565b90611b04565b611b1e90516102f3565b90565b60209181520190565b611b49611b52602093611b5793611b4081610305565b93848093611b21565b95869101610312565b6101a0565b0190565b611b709160208201915f818403910152611b2a565b90565b611b7d60406101e7565b90565b90611b8a906102f3565b9052565b52565b90611b9b826102e0565b811015611bac576020809102010190565b61140d565b611bba9061044f565b9052565b90611c0c90606080611bef60808401611bdd5f8801515f870190611bb1565b6020870151858203602087015261031d565b94611c026040820151604086019061064c565b01519101906102f8565b90565b91611c3292611c2560408201935f83019061062c565b6020818403910152611bbe565b90565b9091611c3f610c09565b50611c4b83829061137e565b92611c55846119ed565b94611c5e61108c565b5b80611c72611c6c8861060f565b9161060f565b1015611da357611c8c611c878486849161143d565b611aa7565b5f80611c99818401611ab5565b611ca560408501611ac2565b602085015190602082019151925af1611cbc611aeb565b611cc682156102f3565b80611d88575b611d625790611d0f611d1c949392611cfc8391611cf3611cea611b73565b935f8501611b80565b60208301611b8e565b8b8591611d098383611b91565b52611b91565b5150611d21575b506113fe565b611c5f565b86907f4be109453ef7e895dc7215c929fff9b76b51483d56a4d04548b4866e9aa7c5ea91611d59611d50610132565b92839283611c0f565b0390a15f611d16565b611d8490611d6e610132565b91829163a5fa8d2b60e01b835260048301611b5b565b0390fd5b50611d9e611d9860608501611b14565b156102f3565b611ccc565b509350505050565b638b78c6d819543303611dba57565b6382b429005f526004601cfd5b611dcf612022565b5f14611e1457638b78c6d8199060601b60601c8082547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3801560ff1b1790555b565b638b78c6d8199060601b60601c908181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a355611e12565b67ffffffffffffffff8111611e6d57611e696020916101a0565b0190565b6101aa565b90611e84611e7f83611e4f565b6101e7565b918252565b5f7f52656c61794465706f7369746f72790000000000000000000000000000000000910152565b611eba600f611e72565b90611ec760208301611e89565b565b611ed1611eb0565b90565b5f7f3100000000000000000000000000000000000000000000000000000000000000910152565b611f056001611e72565b90611f1260208301611ed4565b565b611f1c611efb565b90565b611f27611087565b50611f30611087565b50611f39611ec9565b90611f42611f14565b90565b916040519360605260405260601b602c526323b872dd60601b600c5260205f6064601c82855af1908160015f51141615611f85575b50505f606052604052565b3d903b15171015611f97575f80611f7a565b637939f4245f526004601cfd5b611fac611094565b50611fb561202d565b5f14611fe157611fc3612090565b5b6719010000000000005f52601a52603a526042601820905f603a52565b7f000000000000000000000000000000000000000000000000000000000000000061200a612038565b612014575b611fc4565b5061201d612090565b61200f565b61202a611851565b90565b612035611851565b90565b612040611851565b507f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000003014904614161590565b90565b612098611094565b506120a1611094565b506120aa61202d565b5f146121355760a06120c76120e06120c0611f1f565b929061208d565b6120d96120d382610305565b916114be565b209161208d565b6120f26120ec82610305565b916114be565b205b604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8352602083015260408201524660608201523060808201522090565b60a07f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006120f456fea26469706673582212200f6643d07304097f00d11b6f091fba74e94f7aac5e85eec072166cd7684243ff64736f6c634300081c0033000000000000000000000000f3d63166f0ca56c3c1a3508fce03ff0cf3fb691e00000000000000000000000051203c6be98052fb6d7fe1333ee6859b90d21cdf