0 txs
0 calls
constructor
constructor(address newBridge, address newEmmetData, address newMessageTransmitter, address newTokenMessenger, address USDC)
functions
admin
viewfunction admin() view returns (address)
bridge
viewfunction bridge() view returns (address)
BridgeSettings
viewfunction BridgeSettings() view returns (address)
cctpIds
viewfunction cctpIds(uint128 chainId) view returns (uint32 cctpId)
getTokenReceiver
viewfunction getTokenReceiver(string symbol) view returns (address)
messageTransmitter
viewfunction messageTransmitter() view returns (address)
paused
viewfunction paused() view returns (bool)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
tokenFees
viewfunction tokenFees(string symbol) view returns (uint256 fee)
tokenMessenger
viewfunction tokenMessenger() view returns (address)
tokens
viewfunction tokens(string symbol) view returns (address token)
coinWithdraw
nonpayablefunction coinWithdraw()
pause
nonpayablefunction pause()
receiveInstallment
nonpayablefunction receiveInstallment(uint8 step, tuple params) returns (uint256 receiveAmount)
sendInstallment
payablefunction sendInstallment(uint8 step, tuple params) payable
tokenWithdraw
nonpayablefunction tokenWithdraw(address tokenContract, uint256 amount)
unpause
nonpayablefunction unpause()
updateAdmin
nonpayablefunction updateAdmin(address newAdmin)
updateBridge
nonpayablefunction updateBridge(address newBridge)
updateChain
nonpayablefunction updateChain(uint128 chainId, uint32 cctpId)
updateData
nonpayablefunction updateData(address newEmmetData)
updateToken
nonpayablefunction updateToken(address token, string symbol)
updateTokenFee
nonpayablefunction updateTokenFee(uint256 fee, string symbol)
events
AdminUpdated
event AdminUpdated(address newAdmin)
BridgeUpdated
event BridgeUpdated(address newBridge)
DataUpdated
event DataUpdated(address newEmmetData)
Paused
event Paused(address account)
Unpaused
event Unpaused(address account)
UpdateChain
event UpdateChain(uint128 chainId, uint32 cctpId)
UpdateToken
event UpdateToken(string symbol, address token)
UpdateTokenFee
event UpdateTokenFee(string symbol, uint256 fee)
Withdraw
event Withdraw(string symbol, address recepient)
errors
EnforcedPause
error EnforcedPause()
ExpectedPause
error ExpectedPause()
creation bytecode
0x60806040523480156200001157600080fd5b5060405162002d0738038062002d0783398101604081905262000034916200054b565b600080546001600160a81b03191661010033021790558484620000578262000124565b6200006281620001dd565b5050600380546001600160a01b038086166001600160a01b0319928316179092556004805492851692909116919091179055620000a2600160006200034a565b620000b161a86a60016200034a565b620000bf600a60026200034a565b620000ce61a4b160036200034a565b620000dd61210560066200034a565b620000eb608960076200034a565b6200011981604051806040016040528060048152602001635553444360e01b8152506200040260201b60201c565b505050505062000699565b60005461010090046001600160a01b031633146200017d5760405162461bcd60e51b8152602060048201526011602482015270155b985d5d1a1bdc9a5cd9590818d85b1b607a1b60448201526064015b60405180910390fd5b6200018881620004d3565b600180546001600160a01b0319166001600160a01b0383169081179091556040519081527fe1694c0b21fdceff6411daed547c7463c2341b9695387bc82595b5b9b1851d4a906020015b60405180910390a150565b60005461010090046001600160a01b03163314620002325760405162461bcd60e51b8152602060048201526011602482015270155b985d5d1a1bdc9a5cd9590818d85b1b607a1b604482015260640162000174565b6200023d81620004d3565b600280546001600160a01b0319166001600160a01b0383169081179091556040516301ffc9a760e01b81526338e9b0b760e21b60048201526301ffc9a790602401602060405180830381865afa1580156200029c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002c29190620005bb565b620003105760405162461bcd60e51b815260206004820152601760248201527f4e6f7420612070726f7065722049456d6d657444617461000000000000000000604482015260640162000174565b6040516001600160a01b03821681527fe5ba8ac1590c13f1dac4b187c1bb63d2703d5e151dab926a1dd60637e09e09c190602001620001d2565b6000826001600160801b031611620003975760405162461bcd60e51b815260206004820152600f60248201526e636861696e4964206973207a65726f60881b604482015260640162000174565b6001600160801b038216600081815260056020908152604091829020805463ffffffff191663ffffffff86169081179091558251938452908301527f73e5b233e1fb71ae1742d6d29530941e37b20e3398b03168906149638defe56e91015b60405180910390a15050565b60008151116040518060400160405280601581526020017f546f6b656e2073796d626f6c20697320656d7074790000000000000000000000815250906200045e5760405162461bcd60e51b81526004016200017491906200063a565b50816006826040516200047291906200064f565b90815260405190819003602001812080546001600160a01b03939093166001600160a01b0319909316929092179091557f32d4f9637203e9a224e1d14ee757ccfda57e3c9e0697b253e10717df24cef37b90620003f690839085906200066d565b6001600160a01b0381166200052b5760405162461bcd60e51b815260206004820152601b60248201527f416464726573732073686f756c64206e6f74206265207a65726f2e0000000000604482015260640162000174565b50565b80516001600160a01b03811681146200054657600080fd5b919050565b600080600080600060a086880312156200056457600080fd5b6200056f866200052e565b94506200057f602087016200052e565b93506200058f604087016200052e565b92506200059f606087016200052e565b9150620005af608087016200052e565b90509295509295909350565b600060208284031215620005ce57600080fd5b81518015158114620005df57600080fd5b9392505050565b60005b8381101562000603578181015183820152602001620005e9565b50506000910152565b6000815180845262000626816020860160208601620005e6565b601f01601f19169290920160200192915050565b602081526000620005df60208301846200060c565b6000825162000663818460208701620005e6565b9190910192915050565b6040815260006200068260408301856200060c565b905060018060a01b03831660208301529392505050565b61265e80620006a96000396000f3fe6080604052600436106101845760003560e01c80636dc3e77e116100d6578063be50af2e1161007f578063e78cea9211610059578063e78cea9214610483578063edfd36cd146104a3578063f851a440146104b857600080fd5b8063be50af2e14610423578063c3750b6514610443578063e2f273bd1461046357600080fd5b80638456cb59116100b05780638456cb59146103b6578063ad31ebc9146103cb578063bcc3ada2146103eb57600080fd5b80636dc3e77e146103565780636eb38212146103765780637b04c1811461039657600080fd5b80632308f36b11610138578063461178301161011257806346117830146102fe5780635b4277321461031e5780635c975abb1461033e57600080fd5b80632308f36b146102a85780632c092ee9146102bb5780633f4ba83a146102e957600080fd5b806304c2320b1161016957806304c2320b1461020d5780630850db1914610266578063088552101461028857600080fd5b806301ffc9a71461019057806303374bf8146101c557600080fd5b3661018b57005b600080fd5b34801561019c57600080fd5b506101b06101ab366004611d7a565b6104dd565b60405190151581526020015b60405180910390f35b3480156101d157600080fd5b506101f86101e0366004611de3565b60056020526000908152604090205463ffffffff1681565b60405163ffffffff90911681526020016101bc565b34801561021957600080fd5b5061024e610228366004611f11565b80516020818301810180516006825292820191909301209152546001600160a01b031681565b6040516001600160a01b0390911681526020016101bc565b34801561027257600080fd5b50610286610281366004611f4e565b610576565b005b34801561029457600080fd5b5061024e6102a3366004611f11565b503090565b6102866102b6366004611fbd565b610688565b3480156102c757600080fd5b506102db6102d63660046120da565b61083e565b6040519081526020016101bc565b3480156102f557600080fd5b5061028661092f565b34801561030a57600080fd5b5060045461024e906001600160a01b031681565b34801561032a57600080fd5b5060025461024e906001600160a01b031681565b34801561034a57600080fd5b5060005460ff166101b0565b34801561036257600080fd5b50610286610371366004612244565b610994565b34801561038257600080fd5b50610286610391366004612244565b610b3d565b3480156103a257600080fd5b5060035461024e906001600160a01b031681565b3480156103c257600080fd5b50610286610bf4565b3480156103d757600080fd5b506102866103e636600461225f565b610c57565b3480156103f757600080fd5b506102db610406366004611f11565b805160208183018101805160078252928201919093012091525481565b34801561042f57600080fd5b5061028661043e36600461229f565b610cb4565b34801561044f57600080fd5b5061028661045e3660046122c9565b610e8f565b34801561046f57600080fd5b5061028661047e366004612244565b610eec565b34801561048f57600080fd5b5060015461024e906001600160a01b031681565b3480156104af57600080fd5b50610286610fb5565b3480156104c457600080fd5b5060005461024e9061010090046001600160a01b031681565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316148061057057507fffffffff0000000000000000000000000000000000000000000000000000000082167f07848f9200000000000000000000000000000000000000000000000000000000145b92915050565b60005461010090046001600160a01b031633146105ce5760405162461bcd60e51b8152602060048201526011602482015270155b985d5d1a1bdc9a5cd9590818d85b1b607a1b60448201526064015b60405180910390fd5b60008151116040518060400160405280601581526020017f546f6b656e2073796d626f6c20697320656d7074790000000000000000000000815250906106275760405162461bcd60e51b81526004016105c59190612351565b50816007826040516106399190612364565b9081526020016040518091039020819055507f4c50505d23ec5d88f0dab052ec79e38400a6b35e766579b26e8fddb22d681638818360405161067c929190612380565b60405180910390a15050565b6001546001600160a01b031633146106d65760405162461bcd60e51b8152602060048201526011602482015270155b985d5d1a1bdc9a5cd9590818d85b1b607a1b60448201526064016105c5565b600182600e8111156106ea576106ea6123a2565b1461077d5761077d6040518060400160405280601f81526020017f57726f6e67204c504d6f64756c65206d617070696e6720746f20737465703a0081525061074284600e81111561073d5761073d6123a2565b611110565b60408051808201909152601181527f434354504d6f64756c65204572726f723a000000000000000000000000000000602082015291906111ce565b60045460a082015160405161083a926001600160a01b0316916006916107a39190612364565b9081526040805160209281900383019020548582015160808701516fffffffffffffffffffffffffffffffff1660009081526005909452919092205460e08601516001600160a01b039093169263ffffffff9091169061081290610806906111f2565b6001600160a01b031690565b60078760a001516040516108269190612364565b908152602001604051809103902054611310565b5050565b6001546000906001600160a01b0316331461088f5760405162461bcd60e51b8152602060048201526011602482015270155b985d5d1a1bdc9a5cd9590818d85b1b607a1b60448201526064016105c5565b600283600e8111156108a3576108a36123a2565b146108f6576108f66040518060400160405280601f81526020017f57726f6e67204c504d6f64756c65206d617070696e6720746f20737465703a0081525061074285600e81111561073d5761073d6123a2565b60008061090784610160015161148b565b6003549193509150610923906001600160a01b031683836114ac565b50505060800151919050565b610937611599565b60005461010090046001600160a01b0316331461098a5760405162461bcd60e51b8152602060048201526011602482015270155b985d5d1a1bdc9a5cd9590818d85b1b607a1b60448201526064016105c5565b6109926115d5565b565b60005461010090046001600160a01b031633146109e75760405162461bcd60e51b8152602060048201526011602482015270155b985d5d1a1bdc9a5cd9590818d85b1b607a1b60448201526064016105c5565b6109f081611627565b6002805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040517f01ffc9a70000000000000000000000000000000000000000000000000000000081527fe3a6c2dc0000000000000000000000000000000000000000000000000000000060048201526301ffc9a790602401602060405180830381865afa158015610a8d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ab191906123b8565b610afd5760405162461bcd60e51b815260206004820152601760248201527f4e6f7420612070726f7065722049456d6d65744461746100000000000000000060448201526064016105c5565b6040516001600160a01b03821681527fe5ba8ac1590c13f1dac4b187c1bb63d2703d5e151dab926a1dd60637e09e09c1906020015b60405180910390a150565b60005461010090046001600160a01b03163314610b905760405162461bcd60e51b8152602060048201526011602482015270155b985d5d1a1bdc9a5cd9590818d85b1b607a1b60448201526064016105c5565b610b9981611627565b6001805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040519081527fe1694c0b21fdceff6411daed547c7463c2341b9695387bc82595b5b9b1851d4a90602001610b32565b610bfc61167d565b60005461010090046001600160a01b03163314610c4f5760405162461bcd60e51b8152602060048201526011602482015270155b985d5d1a1bdc9a5cd9590818d85b1b607a1b60448201526064016105c5565b6109926116ba565b60005461010090046001600160a01b03163314610caa5760405162461bcd60e51b8152602060048201526011602482015270155b985d5d1a1bdc9a5cd9590818d85b1b607a1b60448201526064016105c5565b61083a82826116f7565b60005461010090046001600160a01b03163314610d075760405162461bcd60e51b8152602060048201526011602482015270155b985d5d1a1bdc9a5cd9590818d85b1b607a1b60448201526064016105c5565b610d1082611627565b6040517fa9059cbb000000000000000000000000000000000000000000000000000000008152336004820152602481018290526000906001600160a01b0384169063a9059cbb906044016020604051808303816000875af1158015610d79573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d9d91906123b8565b905080610dec5760405162461bcd60e51b815260206004820152601560248201527f546f6b656e207472616e73666572206661696c6564000000000000000000000060448201526064016105c5565b7f8703deb082bbe9dd18bf858af977f1d7ced58bd7803c949a6e1011ae2d79f1ac836001600160a01b03166395d89b416040518163ffffffff1660e01b8152600401600060405180830381865afa158015610e4b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610e739190810190612405565b33604051610e8292919061244e565b60405180910390a1505050565b60005461010090046001600160a01b03163314610ee25760405162461bcd60e51b8152602060048201526011602482015270155b985d5d1a1bdc9a5cd9590818d85b1b607a1b60448201526064016105c5565b61083a82826117e0565b60005461010090046001600160a01b03163314610f3f5760405162461bcd60e51b8152602060048201526011602482015270155b985d5d1a1bdc9a5cd9590818d85b1b607a1b60448201526064016105c5565b610f4881611627565b600080547fffffffffffffffffffffff0000000000000000000000000000000000000000ff166101006001600160a01b038416908102919091179091556040519081527f54e4612788f90384e6843298d7854436f3a585b2c3831ab66abf1de63bfa6c2d90602001610b32565b60005461010090046001600160a01b031633146110085760405162461bcd60e51b8152602060048201526011602482015270155b985d5d1a1bdc9a5cd9590818d85b1b607a1b60448201526064016105c5565b47801561110d57604051600090339083908381818185875af1925050503d8060008114611051576040519150601f19603f3d011682016040523d82523d6000602084013e611056565b606091505b50509050806110a75760405162461bcd60e51b815260206004820152601460248201527f436f696e207769746864726177206661696c656400000000000000000000000060448201526064016105c5565b60408051818152600b918101919091527f4e617469766520436f696e00000000000000000000000000000000000000000060608201523360208201527f8703deb082bbe9dd18bf858af977f1d7ced58bd7803c949a6e1011ae2d79f1ac9060800161067c565b50565b6060600061111d836118b7565b600101905060008167ffffffffffffffff81111561113d5761113d611dfe565b6040519080825280601f01601f191660200182016040528015611167576020820181803683370190505b5090508181016020015b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a850494508461117157509392505050565b6111d9838383611998565b60405162461bcd60e51b81526004016105c59190612351565b80516000908290602a036112a2576000808060025b602a8110156112975761121c6101008561248f565b9350611240858281518110611233576112336124c1565b016020015160f81c611a3a565b9250611261856112518360016124d7565b81518110611233576112336124c1565b91508161126f84601061248f565b61127991906124ea565b61128390856124ea565b93506112906002826124d7565b9050611207565b509195945050505050565b60405162461bcd60e51b815260206004820152602860248201527f496e76616c696420737472696e67206c656e67746820666f7220616e2045564d60448201527f206164647265737300000000000000000000000000000000000000000000000060648201526084016105c5565b61131984611b05565b61132282611b05565b61132b85611b78565b6001600160a01b03851663095ea7b3876113458488612511565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af11580156113a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113cc91906123b8565b506001600160a01b038616636fd3504e6113e68387612511565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b168152600481019190915263ffffffff86166024820152604481018590526001600160a01b03881660648201526084016020604051808303816000875af115801561145e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114829190612524565b50505050505050565b606080828060200190518101906114a2919061256e565b9094909350915050565b6114b582611bce565b6114be81611c6c565b6040517f57ecfd280000000000000000000000000000000000000000000000000000000081526001600160a01b038416906357ecfd289061150590859085906004016125c8565b6020604051808303816000875af1158015611524573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061154891906123b8565b6115945760405162461bcd60e51b815260206004820152601760248201527f4343545020546f6b656e20436c61696d204661696c656400000000000000000060448201526064016105c5565b505050565b60005460ff16610992576040517f8dfc202b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6115dd611599565b6000805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b6001600160a01b03811661110d5760405162461bcd60e51b815260206004820152601b60248201527f416464726573732073686f756c64206e6f74206265207a65726f2e000000000060448201526064016105c5565b60005460ff1615610992576040517fd93c066500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6116c261167d565b6000805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25861160a3390565b6000826fffffffffffffffffffffffffffffffff16116117595760405162461bcd60e51b815260206004820152600f60248201527f636861696e4964206973207a65726f000000000000000000000000000000000060448201526064016105c5565b6fffffffffffffffffffffffffffffffff821660008181526005602090815260409182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000001663ffffffff86169081179091558251938452908301527f73e5b233e1fb71ae1742d6d29530941e37b20e3398b03168906149638defe56e910161067c565b60008151116040518060400160405280601581526020017f546f6b656e2073796d626f6c20697320656d7074790000000000000000000000815250906118395760405162461bcd60e51b81526004016105c59190612351565b508160068260405161184b9190612364565b90815260405190819003602001812080546001600160a01b039390931673ffffffffffffffffffffffffffffffffffffffff19909316929092179091557f32d4f9637203e9a224e1d14ee757ccfda57e3c9e0697b253e10717df24cef37b9061067c908390859061244e565b60007a184f03e93ff9f4daa797ed6e38ed64bf6a1f01000000000000000082106118ff577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000820491506040015b6d04ee2d6d415b85acef8100000000821061192b576d04ee2d6d415b85acef8100000000820491506020015b662386f26fc10000821061194957662386f26fc10000820491506010015b6305f5e1008210611961576305f5e100820491506008015b612710821061197557612710820491506004015b60648210611987576064820491506002015b600a8210611993576001015b919050565b6040805160038082526080820190925260609160009190816020015b60608152602001906001900390816119b457905050905084816000815181106119df576119df6124c1565b602002602001018190525083816001815181106119fe576119fe6124c1565b60200260200101819052508281600281518110611a1d57611a1d6124c1565b6020026020010181905250611a3181611ced565b95945050505050565b600060618260ff1610158015611a54575060668260ff1611155b15611a6d57611a646057836125ed565b60ff1692915050565b60308260ff1610158015611a85575060398260ff1611155b15611a9557611a646030836125ed565b60418260ff1610158015611aad575060468260ff1611155b15611abd57611a646037836125ed565b60405162461bcd60e51b815260206004820152601c60248201527f4e6f6e2d6865782063686172616374657220696e20616464726573730000000060448201526064016105c5565b8061110d5760405162461bcd60e51b815260206004820152602660248201527f616d6f756e74206f72206d696e74526563697069656e742063616e6e6f74206260448201527f65207a65726f000000000000000000000000000000000000000000000000000060648201526084016105c5565b6001600160a01b03811661110d5760405162461bcd60e51b815260206004820181905260248201527f436f6e747261637420616464726573732063616e6e6f74206265207a65726f2e60448201526064016105c5565b60f68151101561110d5760405162461bcd60e51b815260206004820152604160248201527f6d65737361676542797465732e6c656e677468206973206c657373207468616e60448201527f206d696e4d6573736167654c656e67746820283834202b203332202b2031333060648201527f2900000000000000000000000000000000000000000000000000000000000000608482015260a4016105c5565b60418151611c7a9190612606565b1561110d5760405162461bcd60e51b815260206004820152603360248201527f6174746573746174696f6e5369676e61747572652e6c656e677468206469766960448201527f64656420636f6e677275656e7420746f2036350000000000000000000000000060648201526084016105c5565b60606000825160005b81811015611d1557602081810286010151519290920191600101611cf6565b50604051925060208301828101604052828452600092505b81831015611d725760208381028601810151805191019060005b81811015611d5f578281015184820152602001611d47565b5080830192505050600183019250611d2d565b505050919050565b600060208284031215611d8c57600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114611dbc57600080fd5b9392505050565b80356fffffffffffffffffffffffffffffffff8116811461199357600080fd5b600060208284031215611df557600080fd5b611dbc82611dc3565b634e487b7160e01b600052604160045260246000fd5b604051610120810167ffffffffffffffff81118282101715611e3857611e38611dfe565b60405290565b604051610180810167ffffffffffffffff81118282101715611e3857611e38611dfe565b604051601f8201601f1916810167ffffffffffffffff81118282101715611e8b57611e8b611dfe565b604052919050565b600067ffffffffffffffff821115611ead57611ead611dfe565b50601f01601f191660200190565b600082601f830112611ecc57600080fd5b8135611edf611eda82611e93565b611e62565b818152846020838601011115611ef457600080fd5b816020850160208301376000918101602001919091529392505050565b600060208284031215611f2357600080fd5b813567ffffffffffffffff811115611f3a57600080fd5b611f4684828501611ebb565b949350505050565b60008060408385031215611f6157600080fd5b82359150602083013567ffffffffffffffff811115611f7f57600080fd5b611f8b85828601611ebb565b9150509250929050565b8035600f811061199357600080fd5b801515811461110d57600080fd5b803561199381611fa4565b60008060408385031215611fd057600080fd5b611fd983611f95565b9150602083013567ffffffffffffffff80821115611ff657600080fd5b90840190610120828703121561200b57600080fd5b612013611e14565b8235815261202360208401611fb2565b6020820152604083013560408201526060830135606082015261204860808401611dc3565b608082015260a08301358281111561205f57600080fd5b61206b88828601611ebb565b60a08301525060c08301358281111561208357600080fd5b61208f88828601611ebb565b60c08301525060e0830135828111156120a757600080fd5b6120b388828601611ebb565b60e08301525061010091506120c9828401611fb2565b828201528093505050509250929050565b600080604083850312156120ed57600080fd5b6120f683611f95565b9150602083013567ffffffffffffffff8082111561211357600080fd5b90840190610180828703121561212857600080fd5b612130611e3e565b823581526020830135602082015260408301356040820152606083013560608201526080830135608082015260a083013560a082015261217260c08401611dc3565b60c082015261218360e08401611dc3565b60e0820152610100808401358381111561219c57600080fd5b6121a889828701611ebb565b82840152505061012080840135838111156121c257600080fd5b6121ce89828701611ebb565b82840152505061014080840135838111156121e857600080fd5b6121f489828701611ebb565b828401525050610160808401358381111561220e57600080fd5b61221a89828701611ebb565b8284015250508093505050509250929050565b80356001600160a01b038116811461199357600080fd5b60006020828403121561225657600080fd5b611dbc8261222d565b6000806040838503121561227257600080fd5b61227b83611dc3565b9150602083013563ffffffff8116811461229457600080fd5b809150509250929050565b600080604083850312156122b257600080fd5b6122bb8361222d565b946020939093013593505050565b600080604083850312156122dc57600080fd5b6122e58361222d565b9150602083013567ffffffffffffffff811115611f7f57600080fd5b60005b8381101561231c578181015183820152602001612304565b50506000910152565b6000815180845261233d816020860160208601612301565b601f01601f19169290920160200192915050565b602081526000611dbc6020830184612325565b60008251612376818460208701612301565b9190910192915050565b6040815260006123936040830185612325565b90508260208301529392505050565b634e487b7160e01b600052602160045260246000fd5b6000602082840312156123ca57600080fd5b8151611dbc81611fa4565b60006123e3611eda84611e93565b90508281528383830111156123f757600080fd5b611dbc836020830184612301565b60006020828403121561241757600080fd5b815167ffffffffffffffff81111561242e57600080fd5b8201601f8101841361243f57600080fd5b611f46848251602084016123d5565b6040815260006124616040830185612325565b90506001600160a01b03831660208301529392505050565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b038281168282168181028316929181158285048214176124b8576124b8612479565b50505092915050565b634e487b7160e01b600052603260045260246000fd5b8082018082111561057057610570612479565b6001600160a01b0381811683821601908082111561250a5761250a612479565b5092915050565b8181038181111561057057610570612479565b60006020828403121561253657600080fd5b815167ffffffffffffffff81168114611dbc57600080fd5b600082601f83011261255f57600080fd5b611dbc838351602085016123d5565b6000806040838503121561258157600080fd5b825167ffffffffffffffff8082111561259957600080fd5b6125a58683870161254e565b935060208501519150808211156125bb57600080fd5b50611f8b8582860161254e565b6040815260006125db6040830185612325565b8281036020840152611a318185612325565b60ff828116828216039081111561057057610570612479565b60008261262357634e487b7160e01b600052601260045260246000fd5b50069056fea2646970667358221220c48074587d8f05c4bca9c63346258db2ccb1af455f0c7dd43c0856c84de518f964736f6c634300081800330000000000000000000000007bb712c8aae5536669e377d64d350f3e84e58c4200000000000000000000000062a8f564a7eb16cddb1e372ec4dec25c61d9eeca000000000000000000000000f3be9355363857f3e001be68856a2f96b4c39ba90000000000000000000000009daf8c91aefae50b9c0e69629d3f6ca40ca3b3fe0000000000000000000000003c499c542cef5e3811e1192ce70d8cc03d5c3359