0 txs
3 calls
constructor
constructor(address _tellerV2, address _factory, address _WETH9)
functions
calculateRolloverAmount
viewfunction calculateRolloverAmount(uint16 marketFeePct, uint16 protocolFeePct, uint256 _loanId, uint256 principalAmount, uint256 _rewardAmount, uint16 _flashloanFeePct, uint256 _timestamp) view returns (uint256 _flashAmount, int256 _borrowerAmount)
factory
viewfunction factory() view returns (address)
getMarketFeePct
viewfunction getMarketFeePct(uint256 _marketId) view returns (uint16)
getMarketIdForCommitment
viewfunction getMarketIdForCommitment(address _lenderCommitmentForwarder, uint256 _commitmentId) view returns (uint256)
getUniswapPoolAddress
viewfunction getUniswapPoolAddress(address token0, address token1, uint24 fee) view returns (address)
TELLER_V2
viewfunction TELLER_V2() view returns (address)
WETH9
viewfunction WETH9() view returns (address)
refundETH
payablefunction refundETH() payable
rolloverLoanWithFlashSwap
nonpayablefunction rolloverLoanWithFlashSwap(address _lenderCommitmentForwarder, uint256 _loanId, uint256 _borrowerAmount, tuple _flashSwapArgs, tuple _acceptCommitmentArgs)
rolloverLoanWithFlashSwapRewards
nonpayablefunction rolloverLoanWithFlashSwapRewards(address _lenderCommitmentForwarder, uint256 _loanId, uint256 _borrowerAmount, uint256 _rewardAmount, address _rewardRecipient, uint256 _atmId, tuple _flashSwapArgs, tuple _acceptCommitmentArgs)
sweepToken
payablefunction sweepToken(address token, uint256 amountMinimum, address recipient) payable
uniswapV3FlashCallback
nonpayablefunction uniswapV3FlashCallback(uint256 fee0, uint256 fee1, bytes data)
unwrapWETH9
payablefunction unwrapWETH9(uint256 amountMinimum, address recipient) payable
events
RolloverLoanComplete
event RolloverLoanComplete(address borrower, uint256 originalLoanId, uint256 newLoanId, uint256 fundsRemaining)
RolloverWithReferral
event RolloverWithReferral(uint256 newLoanId, address flashToken, address rewardRecipient, uint256 rewardAmount, uint256 atmId)
errors
No errors.
creation bytecode
0x60e06040523480156200001157600080fd5b5060405162002e4f38038062002e4f83398101604081905262000034916200006e565b6001600160a01b03918216608052811660a0521660c052620000b8565b80516001600160a01b03811681146200006957600080fd5b919050565b6000806000606084860312156200008457600080fd5b6200008f8462000051565b92506200009f6020850162000051565b9150620000af6040850162000051565b90509250925092565b60805160a05160c051612cf86200015760003960008181610241015281816103510152818161042a015281816106940152818161092701528181610a00015281816112040152818161151701526115ae01526000818160d6015281816101f5015281816107b20152818161088801528181611a3901528181611a7f0152611b140152600081816102c301528181610c8e0152610e5c0152612cf86000f3fe6080604052600436106100c65760003560e01c80636051f2101161007f578063c45a015511610059578063c45a0155146102b1578063cdafbdb0146102e5578063df2ab5bb14610305578063e9cbafb01461031857600080fd5b80636051f2101461022f5780638d0de50f14610263578063997a6d861461029157600080fd5b80630f29fee21461013b57806312210e8a1461015b57806315f922cf146101635780631a7c762b1461019b57806349404b7c146101d05780634aa4a4fc146101e357600080fd5b3661013657336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146101345760405162461bcd60e51b81526020600482015260096024820152684e6f7420574554483960b81b60448201526064015b60405180910390fd5b005b600080fd5b34801561014757600080fd5b50610134610156366004611ee9565b610338565b610134610645565b34801561016f57600080fd5b5061018361017e366004611f60565b610657565b60405161ffff90911681526020015b60405180910390f35b3480156101a757600080fd5b506101bb6101b6366004611f94565b610668565b60408051928352602083019190915201610192565b6101346101de366004612006565b61079a565b3480156101ef57600080fd5b506102177f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610192565b34801561023b57600080fd5b506102177f000000000000000000000000000000000000000000000000000000000000000081565b34801561026f57600080fd5b5061028361027e366004612036565b6108fb565b604051908152602001610192565b34801561029d57600080fd5b506101346102ac366004612062565b61090e565b3480156102bd57600080fd5b506102177f000000000000000000000000000000000000000000000000000000000000000081565b3480156102f157600080fd5b5061021761030036600461210f565b610c59565b61013461031336600461215a565b610d03565b34801561032457600080fd5b50610134610333366004612191565b610dcc565b604051633ef0a2f760e01b8152600481018590526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690633ef0a2f790602401602060405180830381865afa1580156103a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103c4919061221c565b90506001600160a01b03811633146104115760405162461bcd60e51b815260206004820152601060248201526f26bab9ba103132903137b93937bbb2b960811b604482015260640161012b565b604051631457303360e01b8152600481018690526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690631457303390602401602060405180830381865afa158015610479573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061049d919061221c565b905084156104b1576104b181833088611052565b506104e26104c26020850185612239565b6104d26040860160208701612239565b6103006060870160408801612256565b6001600160a01b031663490e6cbc3061050160a0870160808801612281565b61050f578560600135610512565b60005b61052260a0880160808901612281565b61052d576000610533565b86606001355b6040518061012001604052808c6001600160a01b031681526020018b8152602001876001600160a01b031681526020018a81526020016000815260200160006001600160a01b0316815260200160008152602001886040516020016105989190612341565b6040516020818303038152906040528152602001896040516020016105bd919061240a565b60408051601f198184030181529181529152516105dd91906020016124d2565b6040516020818303038152906040526040518563ffffffff1660e01b815260040161060b9493929190612586565b600060405180830381600087803b15801561062557600080fd5b505af1158015610639573d6000803e3d6000fd5b50505050505050505050565b471561065557610655334761115c565b565b6000610662826111ff565b92915050565b604051631042b85f60e01b81526004810186905260248101829052600090819081906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690631042b85f906044016040805180830381865afa1580156106da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106fe9190612624565b905086600061070d828d6112f0565b9050600061071b838d6112f0565b905060008161072a8486612689565b6107349190612689565b905060008560200151866000015161074c91906126a0565b975087905060006107638261ffff8d1660046112fe565b90508b8161077184866126b8565b61077b91906126b8565b61078591906126b8565b97505050505050505097509795505050505050565b6040516370a0823160e01b81523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015610801573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061082591906126f7565b90508281101561086c5760405162461bcd60e51b8152602060048201526012602482015271496e73756666696369656e7420574554483960701b604482015260640161012b565b80156108f657604051632e1a7d4d60e01b8152600481018290527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690632e1a7d4d90602401600060405180830381600087803b1580156108d457600080fd5b505af11580156108e8573d6000803e3d6000fd5b505050506108f6828261115c565b505050565b6000610907838361131d565b9392505050565b604051633ef0a2f760e01b8152600481018890526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690633ef0a2f790602401602060405180830381865afa158015610976573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061099a919061221c565b90506001600160a01b03811633146109e75760405162461bcd60e51b815260206004820152601060248201526f26bab9ba103132903137b93937bbb2b960811b604482015260640161012b565b604051631457303360e01b8152600481018990526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690631457303390602401602060405180830381865afa158015610a4f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a73919061221c565b9050610a84600a6060860135612710565b871115610ad35760405162461bcd60e51b815260206004820152601760248201527f4578636573736976652072657761726420616d6f756e74000000000000000000604482015260640161012b565b8715610ae557610ae58183308b611052565b50610af66104c26020850185612239565b6001600160a01b031663490e6cbc30610b1560a0870160808801612281565b610b23578560600135610b26565b60005b610b3660a0880160808901612281565b610b41576000610b47565b86606001355b6040518061012001604052808f6001600160a01b031681526020018e8152602001876001600160a01b031681526020018d81526020018a81526020018b6001600160a01b031681526020018c815260200188604051602001610ba99190612341565b604051602081830303815290604052815260200189604051602001610bce919061240a565b60408051601f19818403018152918152915251610bee91906020016124d2565b6040516020818303038152906040526040518563ffffffff1660e01b8152600401610c1c9493929190612586565b600060405180830381600087803b158015610c3657600080fd5b505af1158015610c4a573d6000803e3d6000fd5b50505050505050505050505050565b604051630b4c774160e11b81526001600160a01b038481166004830152838116602483015262ffffff831660448301526000917f000000000000000000000000000000000000000000000000000000000000000090911690631698ee8290606401602060405180830381865afa158015610cd7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cfb919061221c565b949350505050565b6040516370a0823160e01b81523060048201526000906001600160a01b038516906370a0823190602401602060405180830381865afa158015610d4a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d6e91906126f7565b905082811015610db55760405162461bcd60e51b815260206004820152601260248201527124b739bab33334b1b4b2b73a103a37b5b2b760711b604482015260640161012b565b8015610dc657610dc6848383611389565b50505050565b6000610dda828401846127a2565b905060008160e00151806020019051810190610df6919061291e565b90506000826101000151806020019051810190610e1391906129eb565b90506000604051806060016040528083600001516001600160a01b0316815260200183602001516001600160a01b03168152602001836040015162ffffff168152509050610e817f000000000000000000000000000000000000000000000000000000000000000082611489565b60008260800151610e93578251610e99565b82602001515b905060008360800151610eac5789610eae565b885b90506000610ec58760200151848760600151611493565b9050600080610ede89600001518a60400151878b611693565b915091506000610ef2886060015186611a1c565b90508015610f0657610f0686303384611a37565b600081858c60600151858c60600151610f1f91906126a0565b610f2991906126a0565b610f339190612689565b610f3d9190612689565b90508015610fe85760c08b015115610fd95760c08b0151610f5e9082612689565b9050610f73878c60a001518d60c00151611389565b60a08b81015160c08d01516080808f0151604080518a81526001600160a01b03808f1660208301529095169085015260608401929092528201527f75f1a5a575d3646e05973fd2ee5bbdaf258b7c41d992d798fd52dd57921c8b94910160405180910390a15b610fe8878c6040015183611389565b6040808c01516020808e015183516001600160a01b03909316835290820152908101859052606081018290527f7fc6c3a5d0857fbad5d5ecc01d80b34b34b792a1c269283eaff02bcd0c7535fb9060800160405180910390a1505050505050505050505050505050565b604080516001600160a01b0385811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180516001600160e01b03166323b872dd60e01b17905291516000928392908816916110b69190612a7a565b6000604051808303816000865af19150503d80600081146110f3576040519150601f19603f3d011682016040523d82523d6000602084013e6110f8565b606091505b50915091508180156111225750805115806111225750808060200190518101906111229190612a96565b6111545760405162461bcd60e51b815260206004820152600360248201526229aa2360e91b604482015260640161012b565b505050505050565b604080516000808252602082019092526001600160a01b0384169083906040516111869190612a7a565b60006040518083038185875af1925050503d80600081146111c3576040519150601f19603f3d011682016040523d82523d6000602084013e6111c8565b606091505b50509050806108f65760405162461bcd60e51b815260206004820152600360248201526253544560e81b604482015260640161012b565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ecb96fe66040518163ffffffff1660e01b8152600401602060405180830381865afa158015611260573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611284919061221c565b60405163028ba63960e21b8152600481018590529091506001600160a01b03821690630a2e98e490602401602060405180830381865afa1580156112cc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109079190612ab3565b6000610907838361ffff1660025b600061130982611bb8565b6113138486612ad0565b610cfb9190612710565b6040516331a1afb960e01b8152600481018290526000906001600160a01b038416906331a1afb990602401602060405180830381865afa158015611365573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061090791906126f7565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b17905291516000928392908716916113e59190612a7a565b6000604051808303816000865af19150503d8060008114611422576040519150601f19603f3d011682016040523d82523d6000602084013e611427565b606091505b50915091508180156114515750805115806114515750808060200190518101906114519190612a96565b6114825760405162461bcd60e51b815260206004820152600260248201526114d560f21b604482015260640161012b565b5050505050565b6108f68282611bd0565b6040516370a0823160e01b815230600482015260009081906001600160a01b038516906370a0823190602401602060405180830381865afa1580156114dc573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061150091906126f7565b60405163095ea7b360e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152602482018690529192509085169063095ea7b3906044016020604051808303816000875af1158015611573573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115979190612a96565b50604051639a11e33960e01b8152600481018690527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690639a11e33990602401600060405180830381600087803b1580156115fa57600080fd5b505af115801561160e573d6000803e3d6000fd5b50506040516370a0823160e01b8152306004820152600092506001600160a01b03871691506370a0823190602401602060405180830381865afa158015611659573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061167d91906126f7565b90506116898183612689565b9695505050505050565b6040516370a0823160e01b8152306004820152600090819081906001600160a01b038616906370a0823190602401602060405180830381865afa1580156116de573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061170291906126f7565b60208501519091506001600160a01b03161561181e5760208401516040808601516060870151608088015160a089015160c08a015160e08b015195516001600160a01b0397881660248201526044810195909552606485019390935260848401919091529390931660a48201523060c482015261ffff90921660e483015263ffffffff1661010482015260009061180090633425aa5760e11b906101240160408051601f19818403018152918152602080830180516001600160e01b03166001600160e01b031990951694909417909352516117e0928b9101612aef565b60408051601f198184030181529190526001600160a01b038a1690611bf3565b90508080602001905181019061181691906126f7565b935050611998565b61010084015151158015906118fa5760006118dc63e767e97360e01b8760000151886040015189606001518a608001518b60a00151308d60c001518e60e001518f610100015160405160240161187c99989796959493929190612b26565b60408051601f19818403018152918152602080830180516001600160e01b03166001600160e01b031990951694909417909352516118bc928c9101612aef565b60408051601f198184030181529190526001600160a01b038b1690611bf3565b9050808060200190518101906118f291906126f7565b945050611996565b84516040808701516060880151608089015160a08a015160c08b015160e08c0151955160248101979097526044870194909452606486019290925260848501526001600160a01b031660a48401523060c484015261ffff1660e483015263ffffffff1661010482015260009061197c90634bfc440160e01b906101240161187c565b90508080602001905181019061199291906126f7565b9450505b505b6040516370a0823160e01b81523060048201526000906001600160a01b038716906370a0823190602401602060405180830381865afa1580156119df573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a0391906126f7565b9050611a0f8282612689565b9250505094509492505050565b600082611a2983826126a0565b915081101561066257600080fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316846001600160a01b0316148015611a785750804710155b15611b8b577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0826040518263ffffffff1660e01b81526004016000604051808303818588803b158015611ad857600080fd5b505af1158015611aec573d6000803e3d6000fd5b505060405163a9059cbb60e01b81526001600160a01b038681166004830152602482018690527f000000000000000000000000000000000000000000000000000000000000000016935063a9059cbb925060440190506020604051808303816000875af1158015611b61573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b859190612a96565b50610dc6565b6001600160a01b038316301415611bac57611ba7848383611389565b610dc6565b610dc684848484611052565b6000611bc582600a612ca3565b610662906064612ad0565b6000611bdc8383611c37565b9050336001600160a01b0382161461066257600080fd5b6060610907838360006040518060400160405280601e81526020017f416464726573733a206c6f772d6c6576656c2063616c6c206661696c65640000815250611d20565b600081602001516001600160a01b031682600001516001600160a01b031610611c5f57600080fd5b815160208084015160408086015181516001600160a01b0395861681860152949092168482015262ffffff90911660608085019190915281518085038201815260808501909252815191909201206001600160f81b031960a08401529085901b6bffffffffffffffffffffffff191660a183015260b58201527fe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b5460d582015260f50160408051601f1981840301815291905280516020909101209392505050565b606082471015611d815760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b606482015260840161012b565b600080866001600160a01b03168587604051611d9d9190612a7a565b60006040518083038185875af1925050503d8060008114611dda576040519150601f19603f3d011682016040523d82523d6000602084013e611ddf565b606091505b5091509150611df087838387611dfb565b979650505050505050565b60608315611e67578251611e60576001600160a01b0385163b611e605760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161012b565b5081610cfb565b610cfb8383815115611e7c5781518083602001fd5b8060405162461bcd60e51b815260040161012b9190612caf565b6001600160a01b0381168114611eab57600080fd5b50565b8035611eb981611e96565b919050565b600060a08284031215611ed057600080fd5b50919050565b60006101208284031215611ed057600080fd5b60008060008060006101208688031215611f0257600080fd5b8535611f0d81611e96565b94506020860135935060408601359250611f2a8760608801611ebe565b915061010086013567ffffffffffffffff811115611f4757600080fd5b611f5388828901611ed6565b9150509295509295909350565b600060208284031215611f7257600080fd5b5035919050565b61ffff81168114611eab57600080fd5b8035611eb981611f79565b600080600080600080600060e0888a031215611faf57600080fd5b8735611fba81611f79565b96506020880135611fca81611f79565b955060408801359450606088013593506080880135925060a0880135611fef81611f79565b8092505060c0880135905092959891949750929550565b6000806040838503121561201957600080fd5b82359150602083013561202b81611e96565b809150509250929050565b6000806040838503121561204957600080fd5b823561205481611e96565b946020939093013593505050565b600080600080600080600080610180898b03121561207f57600080fd5b883561208a81611e96565b975060208901359650604089013595506060890135945060808901356120af81611e96565b935060a089013592506120c58a60c08b01611ebe565b915061016089013567ffffffffffffffff8111156120e257600080fd5b6120ee8b828c01611ed6565b9150509295985092959890939650565b62ffffff81168114611eab57600080fd5b60008060006060848603121561212457600080fd5b833561212f81611e96565b9250602084013561213f81611e96565b9150604084013561214f816120fe565b809150509250925092565b60008060006060848603121561216f57600080fd5b833561217a81611e96565b925060208401359150604084013561214f81611e96565b600080600080606085870312156121a757600080fd5b8435935060208501359250604085013567ffffffffffffffff808211156121cd57600080fd5b818701915087601f8301126121e157600080fd5b8135818111156121f057600080fd5b88602082850101111561220257600080fd5b95989497505060200194505050565b8051611eb981611e96565b60006020828403121561222e57600080fd5b815161090781611e96565b60006020828403121561224b57600080fd5b813561090781611e96565b60006020828403121561226857600080fd5b8135610907816120fe565b8015158114611eab57600080fd5b60006020828403121561229357600080fd5b813561090781612273565b63ffffffff81168114611eab57600080fd5b8035611eb98161229e565b6000808335601e198436030181126122d257600080fd5b830160208101925035905067ffffffffffffffff8111156122f257600080fd5b8060051b360383131561230457600080fd5b9250929050565b81835260006001600160fb1b0383111561232457600080fd5b8260051b8083602087013760009401602001938452509192915050565b6020815281356020820152600061235a60208401611eae565b6001600160a01b0381166040840152506040830135606083015260608301356080830152608083013560a083015261239460a08401611eae565b6001600160a01b03811660c0840152506123b060c08401611f89565b61ffff811660e0840152506123c760e084016122b0565b6101006123db8185018363ffffffff169052565b6123e7818601866122bb565b61012086810152925090506124016101408501838361230b565b95945050505050565b60a08101823561241981611e96565b6001600160a01b03908116835260208401359061243582611e96565b1660208301526040830135612449816120fe565b62ffffff16604083015260608381013590830152608083013561246b81612273565b80151560808401525092915050565b60005b8381101561249557818101518382015260200161247d565b83811115610dc65750506000910152565b600081518084526124be81602086016020860161247a565b601f01601f19169290920160200192915050565b602081526124ec6020820183516001600160a01b03169052565b602082015160408201526000604083015161251260608401826001600160a01b03169052565b5060608301516080830152608083015160a083015260a083015161254160c08401826001600160a01b03169052565b5060c083015160e083015260e0830151610120610100818186015261256a6101408601846124a6565b90860151858203601f19018387015290925061168983826124a6565b60018060a01b038516815283602082015282604082015260806060820152600061168960808301846124a6565b634e487b7160e01b600052604160045260246000fd5b604051610120810167ffffffffffffffff811182821017156125ed576125ed6125b3565b60405290565b604051601f8201601f1916810167ffffffffffffffff8111828210171561261c5761261c6125b3565b604052919050565b60006040828403121561263657600080fd5b6040516040810181811067ffffffffffffffff82111715612659576126596125b3565b604052825181526020928301519281019290925250919050565b634e487b7160e01b600052601160045260246000fd5b60008282101561269b5761269b612673565b500390565b600082198211156126b3576126b3612673565b500190565b60008083128015600160ff1b8501841216156126d6576126d6612673565b6001600160ff1b03840183138116156126f1576126f1612673565b50500390565b60006020828403121561270957600080fd5b5051919050565b60008261272d57634e487b7160e01b600052601260045260246000fd5b500490565b600082601f83011261274357600080fd5b813567ffffffffffffffff81111561275d5761275d6125b3565b612770601f8201601f19166020016125f3565b81815284602083860101111561278557600080fd5b816020850160208301376000918101602001919091529392505050565b6000602082840312156127b457600080fd5b813567ffffffffffffffff808211156127cc57600080fd5b9083019061012082860312156127e157600080fd5b6127e96125c9565b6127f283611eae565b81526020830135602082015261280a60408401611eae565b6040820152606083013560608201526080830135608082015261282f60a08401611eae565b60a082015260c083013560c082015260e08301358281111561285057600080fd5b61285c87828601612732565b60e083015250610100808401358381111561287657600080fd5b61288288828701612732565b918301919091525095945050505050565b8051611eb981611f79565b8051611eb98161229e565b600082601f8301126128ba57600080fd5b8151602067ffffffffffffffff8211156128d6576128d66125b3565b8160051b6128e58282016125f3565b92835284810182019282810190878511156128ff57600080fd5b83870192505b84831015611df057825182529183019190830190612905565b60006020828403121561293057600080fd5b815167ffffffffffffffff8082111561294857600080fd5b90830190610120828603121561295d57600080fd5b6129656125c9565b8251815261297560208401612211565b60208201526040830151604082015260608301516060820152608083015160808201526129a460a08401612211565b60a08201526129b560c08401612893565b60c08201526129c660e0840161289e565b60e082015261010080840151838111156129df57600080fd5b612882888287016128a9565b600060a082840312156129fd57600080fd5b60405160a0810181811067ffffffffffffffff82111715612a2057612a206125b3565b6040528251612a2e81611e96565b81526020830151612a3e81611e96565b60208201526040830151612a51816120fe565b6040820152606083810151908201526080830151612a6e81612273565b60808201529392505050565b60008251612a8c81846020870161247a565b9190910192915050565b600060208284031215612aa857600080fd5b815161090781612273565b600060208284031215612ac557600080fd5b815161090781611f79565b6000816000190483118215151615612aea57612aea612673565b500290565b60008351612b0181846020880161247a565b60609390931b6bffffffffffffffffffffffff19169190920190815260140192915050565b89815260208082018a905260408201899052606082018890526001600160a01b038781166080840152861660a083015261ffff851660c083015263ffffffff841660e0830152610120610100830181905283519083018190526000916101408401918582019190845b81811015612bab57835185529382019392820192600101612b8f565b50929e9d5050505050505050505050505050565b600181815b80851115612bfa578160001904821115612be057612be0612673565b80851615612bed57918102915b93841c9390800290612bc4565b509250929050565b600082612c1157506001610662565b81612c1e57506000610662565b8160018114612c345760028114612c3e57612c5a565b6001915050610662565b60ff841115612c4f57612c4f612673565b50506001821b610662565b5060208310610133831016604e8410600b8410161715612c7d575081810a610662565b612c878383612bbf565b8060001904821115612c9b57612c9b612673565b029392505050565b60006109078383612c02565b60208152600061090760208301846124a656fea2646970667358221220f99e488089895ff8b582880b8f2a0aeacc581a94469c8232c20aa7ab29a041d464736f6c634300080b00330000000000000000000000005cfd3aed08a444be32839bd911ebecd6888611640000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f98400000000000000000000000082af49447d8a07e3bd95bd0d56f35241523fbab1