4 txs
5 calls
constructor
constructor(address _spoke, address _feeRecipient, address _xerc20Module, address _owner)
functions
feeRecipient
viewfunction feeRecipient() view returns (address)
owner
viewfunction owner() view returns (address)
pendingOwner
viewfunction pendingOwner() view returns (address)
PERMIT2
viewfunction PERMIT2() view returns (address)
spoke
viewfunction spoke() view returns (address)
xerc20Module
viewfunction xerc20Module() view returns (address)
acceptOwnership
nonpayablefunction acceptOwnership()
newIntent
payablefunction newIntent(uint32[] _destinations, address _receiver, address _inputAsset, address _outputAsset, uint256 _amount, uint24 _maxFee, uint48 _ttl, bytes _data, tuple _permit2Params, uint256 _fee) payable returns (bytes32 _intentId, tuple _intent)
newIntent
payablefunction newIntent(uint32[] _destinations, address _receiver, address _inputAsset, address _outputAsset, uint256 _amount, uint24 _maxFee, uint48 _ttl, bytes _data, uint256 _fee) payable returns (bytes32 _intentId, tuple _intent)
newOrder
payablefunction newOrder(uint256 _fee, tuple[] _params) payable returns (bytes32 _orderId, bytes32[] _intentIds)
newOrderSplitEvenly
payablefunction newOrderSplitEvenly(uint32 _numIntents, uint256 _fee, tuple _params) payable returns (bytes32 _orderId, bytes32[] _intentIds)
renounceOwnership
nonpayablefunction renounceOwnership()
returnUnsupportedIntent
nonpayablefunction returnUnsupportedIntent(address _asset, uint256 _amount, address _recipient)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
updateFeeRecipient
nonpayablefunction updateFeeRecipient(address _feeRecipient)
events
FeeRecipientUpdated
event FeeRecipientUpdated(address indexed _updated, address indexed _previous)
IntentWithFeesAdded
event IntentWithFeesAdded(bytes32 indexed _intentId, bytes32 indexed _initiator, uint256 _tokenFee, uint256 _nativeFee)
OrderCreated
event OrderCreated(bytes32 indexed _orderId, bytes32 indexed _initiator, bytes32[] _intentIds, uint256 _tokenFee, uint256 _nativeFee)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
OwnershipTransferStarted
event OwnershipTransferStarted(address indexed previousOwner, address indexed newOwner)
errors
AddressEmptyCode
error AddressEmptyCode(address target)
AddressInsufficientBalance
error AddressInsufficientBalance(address account)
FailedInnerCall
error FailedInnerCall()
MultipleOrderAssets
error MultipleOrderAssets()
OwnableInvalidOwner
error OwnableInvalidOwner(address owner)
OwnableUnauthorizedAccount
error OwnableUnauthorizedAccount(address account)
SafeERC20FailedDecreaseAllowance
error SafeERC20FailedDecreaseAllowance(address spender, uint256 currentAllowance, uint256 requestedDecrease)
SafeERC20FailedOperation
error SafeERC20FailedOperation(address token)
creation bytecode
0x60c060405234801561000f575f80fd5b506040516128c43803806128c483398101604081905261002e9161016d565b806001600160a01b03811661005c57604051631e4fbdf760e01b81525f600482015260240160405180910390fd5b6100658161008b565b506001600160a01b03808516608052821660a052610082836100a7565b505050506101be565b600180546001600160a01b03191690556100a481610103565b50565b6002546040516001600160a01b03918216918316907faaebcf1bfa00580e41d966056b48521fa9f202645c86d4ddf28113e617c1b1d3905f90a3600280546001600160a01b0319166001600160a01b0392909216919091179055565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80516001600160a01b0381168114610168575f80fd5b919050565b5f805f8060808587031215610180575f80fd5b61018985610152565b935061019760208601610152565b92506101a560408601610152565b91506101b360608601610152565b905092959194509250565b60805160a0516126ae6102165f395f818160f90152610d4201525f81816101680152818161041d01528181610680015281816108ac0152818161098f01528181610c9501528181610d1a0152610fbc01526126ae5ff3fe6080604052600436106100e4575f3560e01c806379ba509711610087578063e2a0810811610057578063e2a0810814610266578063e30c397814610279578063f160d36914610296578063f2fde38b146102b5575f80fd5b806379ba5097146102025780638da5cb5b14610216578063b768463514610232578063d7334aec14610253575f80fd5b80635f95af2d116100c25780635f95af2d1461018a57806363573603146101ab5780636afdd850146101cc578063715018a6146101ee575f80fd5b806311eefd54146100e8578063469048401461013857806347bfbcc614610157575b5f80fd5b3480156100f3575f80fd5b5061011b7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b348015610143575f80fd5b5060025461011b906001600160a01b031681565b348015610162575f80fd5b5061011b7f000000000000000000000000000000000000000000000000000000000000000081565b61019d610198366004611b72565b6102d4565b60405161012f929190611c62565b3480156101b6575f80fd5b506101ca6101c5366004611c82565b610639565b005b3480156101d7575f80fd5b5061011b6e22d473030f116ddee9f6b43ac78ba381565b3480156101f9575f80fd5b506101ca6106e7565b34801561020d575f80fd5b506101ca6106fa565b348015610221575f80fd5b505f546001600160a01b031661011b565b610245610240366004611d00565b61075c565b60405161012f929190611e38565b61019d610261366004611f52565b6107ee565b610245610274366004611fbd565b610b13565b348015610284575f80fd5b506001546001600160a01b031661011b565b3480156102a1575f80fd5b506101ca6102b03660046120ac565b610bab565b3480156102c0575f80fd5b506101ca6102cf3660046120ac565b610bbc565b80515f90606090828481836102eb576102eb6120c5565b60200260200101516040015190505f805b8381101561039f57868181518110610316576103166120c5565b6020026020010151608001518261032d919061211f565b9150826001600160a01b031687828151811061034b5761034b6120c5565b6020026020010151604001516001600160a01b031614610397576040517f903d557a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001016102fc565b506103b433836103af8a8561211f565b610c44565b6103be8282610c59565b6103c9873484610e56565b50508067ffffffffffffffff8111156103e4576103e461188a565b60405190808252806020026020018201604052801561040d578160200160208202803683370190505b5091505f5b818110156105c8575f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316634a943d2187848151811061045c5761045c6120c5565b60200260200101515f0151888581518110610479576104796120c5565b602002602001015160200151898681518110610497576104976120c5565b6020026020010151604001518a87815181106104b5576104b56120c5565b6020026020010151606001518b88815181106104d3576104d36120c5565b6020026020010151608001518c89815181106104f1576104f16120c5565b602002602001015160a001518d8a8151811061050f5761050f6120c5565b602002602001015160c001518e8b8151811061052d5761052d6120c5565b602002602001015160e001516040518963ffffffff1660e01b815260040161055c989796959493929190612132565b5f604051808303815f875af1158015610577573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261059e9190810190612291565b509050808483815181106105b4576105b46120c5565b602090810291909101015250600101610412565b50816040516020016105da91906123b6565b60408051601f198184030181529190528051602090910120925033837fc5929cfdbbc98a41855839bee1396d17ee4a149e40d5c324b6f4332655f5cffd848834604051610629939291906123c8565b60405180910390a3509250929050565b610641610e8f565b6040517ff3fef3a30000000000000000000000000000000000000000000000000000000081526001600160a01b038481166004830152602482018490527f0000000000000000000000000000000000000000000000000000000000000000169063f3fef3a3906044015f604051808303815f87803b1580156106c1575f80fd5b505af11580156106d3573d5f803e3d5ffd5b505050506106e2818484610ed4565b505050565b6106ef610e8f565b6106f85f610ee8565b565b60015433906001600160a01b03168114610750576040517f118cdaa70000000000000000000000000000000000000000000000000000000081526001600160a01b03821660048201526024015b60405180910390fd5b61075981610ee8565b50565b60408051610180810182525f8082526020820181905291810182905260608082018390526080820183905260a0820183905260c0820183905260e082018390526101008201839052610120820183905261014082018190526101608201526107c9338b6103af868c61211f565b6107db8c8c8c8c8c8c8c8c8c8c610f19565b909d909c509a5050505050505050505050565b5f606061080a3384604001518686608001516103af919061211f565b61081984348560400151610e56565b61082b83604001518460800151610c59565b8463ffffffff1667ffffffffffffffff81111561084a5761084a61188a565b604051908082528060200260200182016040528015610873578160200160208202803683370190505b5090505f8563ffffffff16846080015161088d91906123ec565b90505f5b61089c600188612424565b63ffffffff1681101561098b575f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316634a943d21875f0151886020015189604001518a60600151888c60a001518d60c001518e60e001516040518963ffffffff1660e01b815260040161091f989796959493929190612132565b5f604051808303815f875af115801561093a573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526109619190810190612291565b50905080848381518110610977576109776120c5565b602090810291909101015250600101610891565b505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316634a943d21865f015187602001518860400151896060015160018d6109dc9190612424565b6109ec9063ffffffff1689612448565b8b608001516109fb919061245f565b8b60a001518c60c001518d60e001516040518963ffffffff1660e01b8152600401610a2d989796959493929190612132565b5f604051808303815f875af1158015610a48573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610a6f9190810190612291565b5090508083610a7f60018a612424565b63ffffffff1681518110610a9557610a956120c5565b60200260200101818152505082604051602001610ab291906123b6565b60408051601f198184030181529190528051602090910120935033847fc5929cfdbbc98a41855839bee1396d17ee4a149e40d5c324b6f4332655f5cffd858934604051610b01939291906123c8565b60405180910390a35050935093915050565b60408051610180810182525f8082526020820181905291810182905260608082018390526080820183905260a0820183905260c0820183905260e08201839052610100820183905261012082018390526101408201819052610160820152610b858b610b7f858c61211f565b86611092565b610b978d8d8d8d8d8d8d8d8d8c610f19565b909e909d509b505050505050505050505050565b610bb3610e8f565b61075981611152565b610bc4610e8f565b600180546001600160a01b0383167fffffffffffffffffffffffff00000000000000000000000000000000000000009091168117909155610c0c5f546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b6106e26001600160a01b0383168430846111c6565b6040517f39ebf8230000000000000000000000000000000000000000000000000000000081526001600160a01b0383811660048301525f9182917f000000000000000000000000000000000000000000000000000000000000000016906339ebf82390602401602060405180830381865afa158015610cda573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cfe9190612472565b90505f816001811115610d1357610d13612490565b03610d40577f00000000000000000000000000000000000000000000000000000000000000009150610d64565b7f000000000000000000000000000000000000000000000000000000000000000091505b6040517fdd62ed3e0000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b03838116602483015285915f9183169063dd62ed3e90604401602060405180830381865afa158015610dcb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610def91906124bd565b9050848110610e0057505050505050565b8015610e1a57610e1a6001600160a01b0383168583611248565b610e4e6001600160a01b038316857fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff611334565b505050505050565b8215610e7357600254610e73906001600160a01b03168285610ed4565b81156106e2576002546106e2906001600160a01b0316836113d4565b5f546001600160a01b031633146106f8576040517f118cdaa7000000000000000000000000000000000000000000000000000000008152336004820152602401610747565b6106e26001600160a01b0383168483611499565b600180547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055610759816114ca565b60408051610180810182525f8082526020820181905291810182905260608082018390526080820183905260a0820183905260c0820183905260e08201839052610100820183905261012082018390526101408201819052610160820152610f8283348c610e56565b610f8c8a89610c59565b6040517f4a943d210000000000000000000000000000000000000000000000000000000081526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690634a943d2190611001908f908f908f908f908f908f908f908f908f906004016124fd565b5f604051808303815f875af115801561101c573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526110439190810190612291565b9092509050336040805185815234602082015284917f4cc03dfa265ccd4670a5059498b2551525947958b26b5e70f6a6dc62a950fd4e910160405180910390a39a509a98505050505050505050565b6040805160a0810182526001600160a01b0385166060820190815260808201859052815282356020808301919091528381013582840152825180840184523081529081018590526e22d473030f116ddee9f6b43ac78ba3926330f28b7a929190339061110090870187612574565b6040518663ffffffff1660e01b81526004016111209594939291906125d5565b5f604051808303815f87803b158015611137575f80fd5b505af1158015611149573d5f803e3d5ffd5b50505050505050565b6002546040516001600160a01b03918216918316907faaebcf1bfa00580e41d966056b48521fa9f202645c86d4ddf28113e617c1b1d3905f90a3600280547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b6040516001600160a01b0384811660248301528381166044830152606482018390526112429186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050611531565b50505050565b6040517fdd62ed3e0000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b0383811660248301525f919085169063dd62ed3e90604401602060405180830381865afa1580156112ae573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112d291906124bd565b905081811015611327576040517fe570110f0000000000000000000000000000000000000000000000000000000081526001600160a01b03841660048201526024810182905260448101839052606401610747565b61124284848484036115ab565b6040517fdd62ed3e0000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b0383811660248301525f919085169063dd62ed3e90604401602060405180830381865afa15801561139a573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113be91906124bd565b905061124284846113cf858561211f565b6115ab565b80471015611410576040517fcd786059000000000000000000000000000000000000000000000000000000008152306004820152602401610747565b5f826001600160a01b0316826040515f6040518083038185875af1925050503d805f8114611459576040519150601f19603f3d011682016040523d82523d5f602084013e61145e565b606091505b50509050806106e2576040517f1425ea4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040516001600160a01b038381166024830152604482018390526106e291859182169063a9059cbb906064016111fb565b5f80546001600160a01b038381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f6115456001600160a01b03841683611668565b905080515f141580156115695750808060200190518101906115679190612643565b155b156106e2576040517f5274afe70000000000000000000000000000000000000000000000000000000081526001600160a01b0384166004820152602401610747565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f095ea7b30000000000000000000000000000000000000000000000000000000017905261162a848261167e565b611242576040516001600160a01b0384811660248301525f604483015261165e91869182169063095ea7b3906064016111fb565b6112428482611531565b606061167583835f61171f565b90505b92915050565b5f805f846001600160a01b0316846040516116999190612662565b5f604051808303815f865af19150503d805f81146116d2576040519150601f19603f3d011682016040523d82523d5f602084013e6116d7565b606091505b50915091508180156117015750805115806117015750808060200190518101906117019190612643565b801561171657505f856001600160a01b03163b115b95945050505050565b60608147101561175d576040517fcd786059000000000000000000000000000000000000000000000000000000008152306004820152602401610747565b5f80856001600160a01b031684866040516117789190612662565b5f6040518083038185875af1925050503d805f81146117b2576040519150601f19603f3d011682016040523d82523d5f602084013e6117b7565b606091505b50915091506117c78683836117d3565b925050505b9392505050565b6060826117e8576117e382611848565b6117cc565b81511580156117ff57506001600160a01b0384163b155b15611841576040517f9996b3150000000000000000000000000000000000000000000000000000000081526001600160a01b0385166004820152602401610747565b50806117cc565b8051156118585780518082602001fd5b6040517f1425ea4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b604051610100810167ffffffffffffffff811182821017156118db576118db61188a565b60405290565b604051610180810167ffffffffffffffff811182821017156118db576118db61188a565b604051601f8201601f1916810167ffffffffffffffff8111828210171561192e5761192e61188a565b604052919050565b5f67ffffffffffffffff82111561194f5761194f61188a565b5060051b60200190565b63ffffffff81168114610759575f80fd5b5f82601f830112611979575f80fd5b8135602061198e61198983611936565b611905565b8083825260208201915060208460051b8701019350868411156119af575f80fd5b602086015b848110156119d45780356119c781611959565b83529183019183016119b4565b509695505050505050565b80356001600160a01b03811681146119f5575f80fd5b919050565b62ffffff81168114610759575f80fd5b80356119f5816119fa565b65ffffffffffff81168114610759575f80fd5b80356119f581611a15565b5f67ffffffffffffffff821115611a4c57611a4c61188a565b50601f01601f191660200190565b5f82601f830112611a69575f80fd5b8135611a7761198982611a33565b818152846020838601011115611a8b575f80fd5b816020850160208301375f918101602001919091529392505050565b5f6101008284031215611ab8575f80fd5b611ac06118b7565b9050813567ffffffffffffffff80821115611ad9575f80fd5b611ae58583860161196a565b8352611af3602085016119df565b6020840152611b04604085016119df565b6040840152611b15606085016119df565b606084015260808401356080840152611b3060a08501611a0a565b60a0840152611b4160c08501611a28565b60c084015260e0840135915080821115611b59575f80fd5b50611b6684828501611a5a565b60e08301525092915050565b5f8060408385031215611b83575f80fd5b8235915060208084013567ffffffffffffffff80821115611ba2575f80fd5b818601915086601f830112611bb5575f80fd5b8135611bc361198982611936565b81815260059190911b83018401908481019089831115611be1575f80fd5b8585015b83811015611c1757803585811115611bfb575f80fd5b611c098c89838a0101611aa7565b845250918601918601611be5565b508096505050505050509250929050565b5f815180845260208085019450602084015f5b83811015611c5757815187529582019590820190600101611c3b565b509495945050505050565b828152604060208201525f611c7a6040830184611c28565b949350505050565b5f805f60608486031215611c94575f80fd5b611c9d846119df565b925060208401359150611cb2604085016119df565b90509250925092565b5f8083601f840112611ccb575f80fd5b50813567ffffffffffffffff811115611ce2575f80fd5b602083019150836020828501011115611cf9575f80fd5b9250929050565b5f805f805f805f805f806101208b8d031215611d1a575f80fd5b8a3567ffffffffffffffff80821115611d31575f80fd5b611d3d8e838f0161196a565b9b50611d4b60208e016119df565b9a50611d5960408e016119df565b9950611d6760608e016119df565b985060808d0135975060a08d01359150611d80826119fa565b90955060c08c013590611d9282611a15565b90945060e08c01359080821115611da7575f80fd5b50611db48d828e01611cbb565b915080945050809250506101008b013590509295989b9194979a5092959850565b5f815180845260208085019450602084015f5b83811015611c5757815163ffffffff1687529582019590820190600101611de8565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b82815260406020820152815160408201526020820151606082015260408201516080820152606082015160a08201525f6080830151611e7e60c084018262ffffff169052565b5060a083015163ffffffff811660e08401525060c0830151610100611eae8185018367ffffffffffffffff169052565b60e08501519150610120611ecb8186018465ffffffffffff169052565b90850151915061014090611ee88583018465ffffffffffff169052565b850151610160858101919091529085015161018080860181905290925090611f146101c0860184611dd5565b9250808601519150507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0848303016101a08501526117c78282611e0a565b5f805f60608486031215611f64575f80fd5b8335611f6f81611959565b925060208401359150604084013567ffffffffffffffff811115611f91575f80fd5b611f9d86828701611aa7565b9150509250925092565b5f60608284031215611fb7575f80fd5b50919050565b5f805f805f805f805f805f6101408c8e031215611fd8575f80fd5b67ffffffffffffffff808d351115611fee575f80fd5b611ffb8e8e358f0161196a565b9b5061200960208e016119df565b9a5061201760408e016119df565b995061202560608e016119df565b985060808d0135975061203a60a08e01611a0a565b965061204860c08e01611a28565b95508060e08e0135111561205a575f80fd5b61206a8e60e08f01358f01611cbb565b90955093506101008d0135811015612080575f80fd5b506120928d6101008e01358e01611fa7565b91506101208c013590509295989b509295989b9093969950565b5f602082840312156120bc575f80fd5b611675826119df565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b80820180821115611678576116786120f2565b5f6101008083526121458184018c611dd5565b6001600160a01b038b811660208601528a81166040860152891660608501526080840188905262ffffff871660a085015265ffffffffffff861660c085015283810360e085015290506121988185611e0a565b9b9a5050505050505050505050565b80516119f5816119fa565b80516119f581611959565b805167ffffffffffffffff811681146119f5575f80fd5b80516119f581611a15565b5f82601f8301126121ee575f80fd5b815160206121fe61198983611936565b8083825260208201915060208460051b87010193508684111561221f575f80fd5b602086015b848110156119d457805161223781611959565b8352918301918301612224565b5f82601f830112612253575f80fd5b815161226161198982611a33565b818152846020838601011115612275575f80fd5b8160208501602083015e5f918101602001919091529392505050565b5f80604083850312156122a2575f80fd5b82519150602083015167ffffffffffffffff808211156122c0575f80fd5b9084019061018082870312156122d4575f80fd5b6122dc6118e1565b8251815260208301516020820152604083015160408201526060830151606082015261230a608084016121a7565b608082015261231b60a084016121b2565b60a082015261232c60c084016121bd565b60c082015261233d60e084016121d4565b60e08201526101006123508185016121d4565b9082015261012083810151908201526101408084015183811115612372575f80fd5b61237e898287016121df565b8284015250506101608084015183811115612397575f80fd5b6123a389828701612244565b8284015250508093505050509250929050565b602081525f6116756020830184611c28565b606081525f6123da6060830186611c28565b60208301949094525060400152919050565b5f8261241f577f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b500490565b63ffffffff828116828216039080821115612441576124416120f2565b5092915050565b8082028115828204841417611678576116786120f2565b81810381811115611678576116786120f2565b5f60208284031215612482575f80fd5b8151600281106117cc575f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b5f602082840312156124cd575f80fd5b5051919050565b81835281816020850137505f602082840101525f6020601f19601f840116840101905092915050565b5f6101008083526125108184018d611dd5565b6001600160a01b038c811660208601528b811660408601528a1660608501526080840189905262ffffff881660a085015265ffffffffffff871660c085015283810360e085015290506125648185876124d4565b9c9b505050505050505050505050565b5f8083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126125a7575f80fd5b83018035915067ffffffffffffffff8211156125c1575f80fd5b602001915036819003821315611cf9575f80fd5b5f61010087516001600160a01b038082511685526020820151602086015260208a0151604086015260408a01516060860152808951166080860152602089015160a086015280881660c086015250508060e084015261263781840185876124d4565b98975050505050505050565b5f60208284031215612653575f80fd5b815180151581146117cc575f80fd5b5f82518060208501845e5f92019182525091905056fea26469706673582212204c8810ed59d71b18c66d0312797ae0da783eb964e31f54114db1ade698043ae364736f6c634300081900330000000000000000000000007189c59e245135696bfd2906b56607755f84f3fd000000000000000000000000f20d5277ad2f301e2f18e2948ff3e72ad0a6dff90000000000000000000000004aade9f812d2160a1b3c6e77f30f1bf14ec7e2a5000000000000000000000000f20d5277ad2f301e2f18e2948ff3e72ad0a6dff9