0 txs
75 calls
constructor
constructor(address _pool)
functions
acl
viewfunction acl() view returns (address)
contractsRegister
viewfunction contractsRegister() view returns (address)
controller
viewfunction controller() view returns (address)
creditManagers
viewfunction creditManagers() view returns (address[])
cumulativeIndex
viewfunction cumulativeIndex(address token) view returns (uint192)
gauge
viewfunction gauge() view returns (address)
getQuota
viewfunction getQuota(address creditAccount, address token) view returns (uint96 quota, uint192 cumulativeIndexLU)
getQuotaAndOutstandingInterest
viewfunction getQuotaAndOutstandingInterest(address creditAccount, address token) view returns (uint96 quoted, uint128 outstandingInterest)
getQuotaRate
viewfunction getQuotaRate(address token) view returns (uint16)
getTokenQuotaParams
viewfunction getTokenQuotaParams(address token) view returns (uint16 rate, uint192 cumulativeIndexLU, uint16 quotaIncreaseFee, uint96 totalQuoted, uint96 limit, bool isActive)
isQuotedToken
viewfunction isQuotedToken(address token) view returns (bool)
lastQuotaRateUpdate
viewfunction lastQuotaRateUpdate() view returns (uint40)
paused
viewfunction paused() view returns (bool)
pool
viewfunction pool() view returns (address)
poolQuotaRevenue
viewfunction poolQuotaRevenue() view returns (uint256 quotaRevenue)
quotedTokens
viewfunction quotedTokens() view returns (address[])
underlying
viewfunction underlying() view returns (address)
version
viewfunction version() view returns (uint256)
accrueQuotaInterest
nonpayablefunction accrueQuotaInterest(address creditAccount, address[] tokens)
addCreditManager
nonpayablefunction addCreditManager(address _creditManager)
addQuotaToken
nonpayablefunction addQuotaToken(address token)
pause
nonpayablefunction pause()
removeQuotas
nonpayablefunction removeQuotas(address creditAccount, address[] tokens, bool setLimitsToZero)
setController
nonpayablefunction setController(address newController)
setGauge
nonpayablefunction setGauge(address _gauge)
setTokenLimit
nonpayablefunction setTokenLimit(address token, uint96 limit)
setTokenQuotaIncreaseFee
nonpayablefunction setTokenQuotaIncreaseFee(address token, uint16 fee)
unpause
nonpayablefunction unpause()
updateQuota
nonpayablefunction updateQuota(address creditAccount, address token, int96 requestedChange, uint96 minQuota, uint96 maxQuota) returns (uint128 caQuotaInterestChange, uint128 fees, bool enableToken, bool disableToken)
updateRates
nonpayablefunction updateRates()
events
AddCreditManager
event AddCreditManager(address indexed creditManager)
AddQuotaToken
event AddQuotaToken(address indexed token)
NewController
event NewController(address indexed newController)
Paused
event Paused(address account)
SetGauge
event SetGauge(address indexed newGauge)
SetQuotaIncreaseFee
event SetQuotaIncreaseFee(address indexed token, uint16 fee)
SetTokenLimit
event SetTokenLimit(address indexed token, uint96 limit)
Unpaused
event Unpaused(address account)
UpdateQuota
event UpdateQuota(address indexed creditAccount, address indexed token, int96 quotaChange)
UpdateTokenQuotaRate
event UpdateTokenQuotaRate(address indexed token, uint16 rate)
errors
CallerNotConfiguratorException
error CallerNotConfiguratorException()
CallerNotControllerException
error CallerNotControllerException()
CallerNotCreditManagerException
error CallerNotCreditManagerException()
CallerNotGaugeException
error CallerNotGaugeException()
CallerNotPausableAdminException
error CallerNotPausableAdminException()
CallerNotUnpausableAdminException
error CallerNotUnpausableAdminException()
IncompatibleCreditManagerException
error IncompatibleCreditManagerException()
IncorrectParameterException
error IncorrectParameterException()
QuotaIsOutOfBoundsException
error QuotaIsOutOfBoundsException()
RegisteredCreditManagerOnlyException
error RegisteredCreditManagerOnlyException()
TokenAlreadyAddedException
error TokenAlreadyAddedException()
TokenIsNotQuotedException
error TokenIsNotQuotedException()
ZeroAddressException
error ZeroAddressException()
creation bytecode
0x61010060408190526000805461ff00191690911790553480156200002257600080fd5b506040516200282b3803806200282b833981810160405260208110156200004857600080fd5b505160408051630a55006360e21b815290516001600160a01b03831691632954018c9160048083019260209291908290030181865afa15801562000090573d6000803e3d6000fd5b505050506040513d6020811015620000a757600080fd5b505160408051630a55006360e21b815290516001600160a01b03841691632954018c9160048083019260209291908290030181865afa158015620000ef573d6000803e3d6000fd5b505050506040513d60208110156200010657600080fd5b50518080620001158162000349565b604051632bdad0e360e11b8152621050d360ea1b6004820152600060248201526001600160a01b038316906357b5a1c690604401602060405180830381865afa15801562000167573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200018d919062000374565b6001600160a01b031660808190526000805460ff1916905560408051638da5cb5b60e01b81529051919350638da5cb5b92506004808201926020929091908290030181865afa158015620001e5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200020b919062000374565b600080546001600160a01b0392909216620100000262010000600160b01b03199092169190911790555080620002418162000349565b604051632bdad0e360e11b81527121a7a72a2920a1aa29afa922a3a4a9aa22a960711b6004820152600060248201526001600160a01b038316906357b5a1c690604401602060405180830381865afa158015620002a2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002c8919062000374565b6001600160a01b0390811660a052831660e0819052604080516338d52e0f60e01b815290519193506338d52e0f92506004808201926020929091908290030181865afa1580156200031d573d6000803e3d6000fd5b505050506040513d60208110156200033457600080fd5b50516001600160a01b031660c05250620003a6565b6001600160a01b0381166200037157604051635919af9760e11b815260040160405180910390fd5b50565b6000602082840312156200038757600080fd5b81516001600160a01b03811681146200039f57600080fd5b9392505050565b60805160a05160c05160e051612413620004186000396000818161031601528181610e8c015281816111dc0152818161158c0152611b9e0152600061056001526000818161058701526121c301526000818161074701528181611ea601528181611ffa015261210401526124136000f3fe608060405234801561001057600080fd5b50600436106101da5760003560e01c80637a0c7b2111610104578063dac54431116100a2578063eb9860a311610071578063eb9860a3146107d1578063f3ef1813146107d9578063f77c47911461083b578063fcde5ddc1461085457600080fd5b8063dac544311461073a578063de28735914610742578063e08a03db14610769578063e26b2f63146107ab57600080fd5b8063a6f19c84116100de578063a6f19c84146105d7578063b26453f6146105ea578063bd42a06f1461061f578063d9b94b061461071457600080fd5b80637a0c7b21146105825780638456cb59146105a957806392eefe9b146105b157600080fd5b80633c3821f41161017c578063582792371161014b578063582792371461045b5780635c975abb146104b3578063604ca15f146104ce5780636f307dc31461055b57600080fd5b80633c3821f41461040a5780633f4ba83a1461041257806354fd4d501461041a57806355a68ed31461043557600080fd5b8063112024ff116101b8578063112024ff146102df57806316f0115b1461031157806326d6a2f414610354578063364395ee146103e457600080fd5b8063099b9bd7146101df5780630ab3640f146102115780630db1b8ca1461025f575b600080fd5b61020f600480360360408110156101f557600080fd5b5080356001600160a01b0316906020013561ffff166108d6565b005b6102486004803603602081101561022757600080fd5b50356001600160a01b031660009081526005602052604090205461ffff1690565b6040805161ffff9092168252519081900360200190f35b61020f6004803603604081101561027557600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156102a057600080fd5b8201836020820111156102b257600080fd5b803590602001918460208302840111640100000000831117156102d457600080fd5b5090925090506109f6565b6007546102f790600160a01b900464ffffffffff1681565b6040805164ffffffffff9092168252519081900360200190f35b6103387f000000000000000000000000000000000000000000000000000000000000000081565b604080516001600160a01b039092168252519081900360200190f35b6103b96004803603604081101561036a57600080fd5b506001600160a01b0381358116600090815260066020908152604080832094820135909316825292909252902080546001909101546001600160601b03909116916001600160c01b0390911690565b604080516001600160601b0390931683526001600160c01b0390911660208301528051918290030190f35b61020f600480360360208110156103fa57600080fd5b50356001600160a01b0316610ae1565b61020f610bb1565b61020f610f46565b61042361012c81565b60408051918252519081900360200190f35b61020f6004803603602081101561044b57600080fd5b50356001600160a01b0316610f58565b610463610fd8565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561049f578181015183820152602001610487565b505050509050019250505060405180910390f35b60005460ff165b604080519115158252519081900360200190f35b61051e600480360360a08110156104e457600080fd5b506001600160a01b0381358116916020810135909116906040810135600b0b906001600160601b0360608201358116916080013516610fe9565b604080516fffffffffffffffffffffffffffffffff9586168152939094166020840152901515828401521515606082015290519081900360800190f35b6103387f000000000000000000000000000000000000000000000000000000000000000081565b6103387f000000000000000000000000000000000000000000000000000000000000000081565b61020f61107a565b61020f600480360360208110156105c757600080fd5b50356001600160a01b031661108a565b600754610338906001600160a01b031681565b61020f6004803603604081101561060057600080fd5b5080356001600160a01b031690602001356001600160601b0316611115565b6106c66004803603602081101561063557600080fd5b50356001600160a01b0316600090815260056020908152604091829020825160a081018452815461ffff8082168084526201000083046001600160c01b0316958401869052600160d01b909204169482018590526001909201546001600160601b03808216606084018190526c01000000000000000000000000909204166080909201829052919492939285151590565b6040805161ffff97881681526001600160c01b03909616602087015293909516848401526001600160601b03918216606085015216608083015291151560a082015290519081900360c00190f35b6104ba6004803603602081101561072a57600080fd5b50356001600160a01b0316611140565b610463611162565b6103387f000000000000000000000000000000000000000000000000000000000000000081565b61078f6004803603602081101561077f57600080fd5b50356001600160a01b031661116e565b604080516001600160c01b039092168252519081900360200190f35b61020f600480360360208110156107c157600080fd5b50356001600160a01b03166111be565b6104236112fc565b610807600480360360408110156107ef57600080fd5b506001600160a01b03813581169160200135166113ad565b604080516001600160601b0390931683526fffffffffffffffffffffffffffffffff90911660208301528051918290030190f35b600054610338906201000090046001600160a01b031681565b61020f6004803603606081101561086a57600080fd5b6001600160a01b03823516919081019060408101602082013564010000000081111561089557600080fd5b8201836020820111156108a757600080fd5b803590602001918460208302840111640100000000831117156108c957600080fd5b9193509150351515611417565b6108de611610565b61271061ffff8216111561091e576040517f47fbaa9700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038216600090815260056020526040902080546201000090046001600160c01b031661096457604051632fed18cf60e21b815260040160405180910390fd5b805461ffff838116600160d01b90920416146109f157805461ffff8316600160d01b81027fffffffff0000ffffffffffffffffffffffffffffffffffffffffffffffffffff90921691909117825560408051918252516001600160a01b038516917f1f985277936e1ecc9dd715575b48f1c6f18902eeb1a1b3a32779122296e64a66919081900360200190a25b505050565b6109fe61166e565b6007548190600160a01b900464ffffffffff1660005b82811015610ad9576000858583818110610a3057610a306121f4565b6001600160a01b038a81166000908152600660209081526040808320948202969096013590921680825292825284812060059092529384209194509290915080610a79836116b4565b5091509150610a9081838964ffffffffff166116f7565b600194850180547fffffffffffffffff000000000000000000000000000000000000000000000000166001600160c01b0392909216919091179055505050919091019050610a14565b505050505050565b610ae9611769565b6001600160a01b03811660009081526004602052604090205415610b39576040517f2e5a5c7700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610b446003826117ad565b506001600160a01b03811660008181526005602052604080822080547fffffffffffff000000000000000000000000000000000000000000000000ffff1662010000179055517f7401ff10219be3dd6d26cc491114a8ae5a0e13ac3af651aae1286afad365947d9190a250565b610bb9611769565b6000610bc560036117c2565b6007546040517f67bd79a20000000000000000000000000000000000000000000000000000000081526020600482018181528451602484015284519495506000946001600160a01b03909416936367bd79a2938793839260449092019181860191028083838b5b83811015610c44578181015183820152602001610c2c565b5050505090500192505050600060405180830381865afa158015610c6c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526020811015610c9557600080fd5b8101908080516040519392919084640100000000821115610cb557600080fd5b908301906020820185811115610cca57600080fd5b8251866020820283011164010000000082111715610ce757600080fd5b82525081516020918201928201910280838360005b83811015610d14578181015183820152602001610cfc565b505050509190910160405250506007548551939450600093600160a01b90910464ffffffffff1692509050825b81811015610e89576000868281518110610d5d57610d5d6121f4565b602002602001015190506000868381518110610d7b57610d7b6121f4565b6020908102919091018101516001600160a01b03841660009081526005909252604082209092509080610dad836116b4565b5091509150610dbd81838a6116f7565b83547fffffffffffff000000000000000000000000000000000000000000000000000016620100006001600160c01b03929092169190910261ffff19161761ffff85169081178455600184015461271091610e20916001600160601b0316612220565b610e2a919061224d565b610e34908a612261565b6040805161ffff871681529051919a506001600160a01b038716917ffb19913ea8fcd2e3d22d200707473d031876b05d1ecb42173e73292ed910ac859181900360200190a28560010195505050505050610d41565b507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663275df3ad846040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015610ef057600080fd5b505af1158015610f04573d6000803e3d6000fd5b5050600780547fffffffffffffff0000000000ffffffffffffffffffffffffffffffffffffffff16600160a01b4264ffffffffff160217905550505050505050565b610f4e6117cf565b610f5661180e565b565b610f60611860565b6007546001600160a01b03828116911614610fd557600780547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0383169081179091556040517f17228b08e4c958112a0827a6d8dc8475dba58dd068a3d400800a606794db02a690600090a25b50565b6060610fe460036117c2565b905090565b600080600080610ff761166e565b60006110068a8a8a8a8a61189f565b9398509196509094509092509050600b81900b1561106d57886001600160a01b03168a6001600160a01b03167f22cce666192befd41ad1b89f8592d35a7ce7c6960853f89ada56db03bb61b096836040518082600b0b815260200191505060405180910390a35b5095509550955095915050565b611082611c31565b610f56611c70565b611092611860565b6000546001600160a01b03828116620100009092041614610fd557600080547fffffffffffffffffffff0000000000000000000000000000000000000000ffff16620100006001600160a01b03841690810291909117825560405190917fe253457d9ad994ca9682fc3bbc38c890dca73a2d5ecee3809e548bac8b00d7c691a250565b61111d611610565b6001600160a01b03821660009081526005602052604090206109f1818484611cad565b6001600160a01b03811660009081526004602052604081205415155b92915050565b6060610fe460016117c2565b6001600160a01b03811660009081526005602052604081208180611191836116b4565b5060075491935091506111b59082908490600160a01b900464ffffffffff166116f7565b95945050505050565b6111c6611860565b806111d081611d90565b816111da81611dd0565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b03166316f0115b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611242573d6000803e3d6000fd5b505050506040513d602081101561125857600080fd5b50516001600160a01b03161461129a576040517f2e47790c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0383166000908152600260205260409020546109f1576112c26001846117ad565b506040516001600160a01b038416907fbca7ba46bb626fab79d5a673d0d8293df21968a25350c4d71433f98600618f5f90600090a2505050565b60008061130960036117c2565b805190915060005b818110156113a757600083828151811061132d5761132d6121f4565b6020908102919091018101516001600160a01b03811660009081526005909252604082209092509061135e826116b4565b505060018301549091506001600160601b031661271061138261ffff841683612220565b61138c919061224d565b6113969089612261565b975084600101945050505050611311565b50505090565b6001600160a01b03808316600090815260066020908152604080832093851683529290529081208190816113e08561116e565b825460018401546001600160601b0390911695509091506001600160c01b031661140b858383611e0f565b93505050509250929050565b61141f61166e565b600082815b81811015611583576000868683818110611440576114406121f4565b6001600160a01b038b811660009081526006602090815260408083209482029690960135909216808252928252848120600590925293909320835491945091506001600160601b0316801561156257815461ffff166114b0816114ab6001600160601b038516612274565b611e4e565b6114ba9089612290565b60018401805491995083916000906114dc9084906001600160601b03166122b8565b82546001600160601b039182166101009390930a92830291909202199091161790555083546bffffffffffffffffffffffff191684556001600160a01b03808616908d167f22cce666192befd41ad1b89f8592d35a7ce7c6960853f89ada56db03bb61b09661154a856122df565b60408051600b9290920b8252519081900360200190a3505b87156115745761157482856000611cad565b84600101945050505050611424565b508115610ad9577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d6458eea836040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b1580156115f057600080fd5b505af1158015611604573d6000803e3d6000fd5b50505050505050505050565b6000546201000090046001600160a01b03163314801590611637575061163533611e6b565b155b15610f56576040517f0129bb9900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b33600090815260026020526040902054610f56576040517f1f51116700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805461ffff811690601081901c6001600160c01b03169060d01c60008290036116f057604051632fed18cf60e21b815260040160405180910390fd5b9193909250565b60006301e1338061ffff841661170d844261230a565b6117256127106b033b2e3c9fd0803ce800000061224d565b6001600160c01b03166117389190612220565b6117429190612220565b61174c919061224d565b61175f906001600160c01b038616612261565b90505b9392505050565b6007546001600160a01b03163314610f56576040517f5dd0cb2400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000611762836001600160a01b038416611f14565b6060600061176283611f63565b6117d833611fbf565b610f56576040517f16e29ab700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61181661202b565b6000805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b61186933611e6b565b610f56576040517f61081c1500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038086166000908152600660209081526040808320938816835292815282822060059091529181208254919283928392839283929091906001600160601b03168380806118f2856116b4565b925092509250600061191f8385600760149054906101000a900464ffffffffff1664ffffffffff166116f7565b600188015490915061193d90869083906001600160c01b0316611e0f565b9b5060008f9a5060008b600b0b1315611a1c5760018701546001600160601b0381169060601c61ffff87161561197d5761197882828f612082565b611980565b60005b9c5061271061ffff168561ffff168e6001600160601b03166119a29190612220565b6119ac919061224d565b9d506119b88d8961231d565b92506001600160601b0388161580156119d957506001600160601b03831615155b156119e35760019b505b6119ed8d8361231d565b60018a0180546bffffffffffffffffffffffff19166001600160601b039290921691909117905550611ac99050565b6b800000000000000000000000600b8c900b01611a3f57611a3c866122df565b9a505b6000611a4a8c6122df565b9050611a5681886122b8565b6001890180549193508291600090611a789084906001600160601b03166122b8565b92506101000a8154816001600160601b0302191690836001600160601b03160217905550866001600160601b0316600014158015611abd57506001600160601b038216155b15611ac757600199505b505b8e6001600160601b0316816001600160601b03161080611afa57508d6001600160601b0316816001600160601b0316115b15611b31576040517fba04a99a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b87546bffffffffffffffffffffffff19166001600160601b0382161788556001880180547fffffffffffffffff000000000000000000000000000000000000000000000000166001600160c01b0384161790556000611b9486600b8e900b611e4e565b90508015611c1b577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d6458eea826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015611c0257600080fd5b505af1158015611c16573d6000803e3d6000fd5b505050505b5050505050505050509550955095509550959050565b611c3a336120c9565b610f56576040517fd794b1e700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611c78612135565b6000805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586118433390565b82546201000090046001600160c01b0316611cdb57604051632fed18cf60e21b815260040160405180910390fd5b60018301546001600160601b038281166c0100000000000000000000000090920416146109f1576001830180546001600160601b0383166c0100000000000000000000000081027fffffffffffffffff000000000000000000000000ffffffffffffffffffffffff9092169190911790915560408051918252516001600160a01b038416917f86089ad7ab4cb6d03a20ccb3176599b628f4a4b80ceacf88369108bf10ffa1c9919081900360200190a2505050565b6001600160a01b038116610fd5576040517fb2335f2e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611dd981612188565b610fd5576040517fbc6a488a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006b033b2e3c9fd0803ce8000000611e28838561233d565b611e44906001600160c01b03166001600160601b038716612220565b61175f919061224d565b6000612710611e6161ffff85168461235d565b611762919061238d565b6040517f5f259aba0000000000000000000000000000000000000000000000000000000081526001600160a01b0382811660048301526000917f000000000000000000000000000000000000000000000000000000000000000090911690635f259aba906024015b602060405180830381865afa158015611ef0573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061115c91906123bb565b6000818152600183016020526040812054611f5b5750815460018181018455600084815260208082209093018490558454848252828601909352604090209190915561115c565b50600061115c565b606081600001805480602002602001604051908101604052809291908181526020018280548015611fb357602002820191906000526020600020905b815481526020019060010190808311611f9f575b50505050509050919050565b6040517fd4eb5db00000000000000000000000000000000000000000000000000000000081526001600160a01b0382811660048301526000917f00000000000000000000000000000000000000000000000000000000000000009091169063d4eb5db090602401611ed3565b60005460ff16610f565760405162461bcd60e51b815260206004820152601460248201527f5061757361626c653a206e6f742070617573656400000000000000000000000060448201526064015b60405180910390fd5b6000826001600160601b0316846001600160601b0316106120a557506000611762565b8383036001600160601b03808216908416116120c157826111b5565b949350505050565b6040517f3a41ec640000000000000000000000000000000000000000000000000000000081526001600160a01b0382811660048301526000917f000000000000000000000000000000000000000000000000000000000000000090911690633a41ec6490602401611ed3565b60005460ff1615610f565760405162461bcd60e51b815260206004820152601060248201527f5061757361626c653a20706175736564000000000000000000000000000000006044820152606401612079565b6040517f6fbc6f6b0000000000000000000000000000000000000000000000000000000081526001600160a01b0382811660048301526000917f000000000000000000000000000000000000000000000000000000000000000090911690636fbc6f6b90602401611ed3565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b808202811582820484141761115c5761115c61220a565b634e487b7160e01b600052601260045260246000fd5b60008261225c5761225c612237565b500490565b8082018082111561115c5761115c61220a565b6000600160ff1b82036122895761228961220a565b5060000390565b80820182811260008312801582168215821617156122b0576122b061220a565b505092915050565b6001600160601b038281168282160390808211156122d8576122d861220a565b5092915050565b600081600b0b6b7fffffffffffffffffffffff1981036123015761230161220a565b60000392915050565b8181038181111561115c5761115c61220a565b6001600160601b038181168382160190808211156122d8576122d861220a565b6001600160c01b038281168282160390808211156122d8576122d861220a565b80820260008212600160ff1b841416156123795761237961220a565b818105831482151761115c5761115c61220a565b60008261239c5761239c612237565b600160ff1b8214600019841416156123b6576123b661220a565b500590565b6000602082840312156123cd57600080fd5b8151801515811461176257600080fdfea26469706673582212209bfcdc28c7ccebcd3ba0458c0fb2fc26039615ebb11cabcdc8ea8be36767e97f64736f6c63430008110033000000000000000000000000ff94993fa7ea27efc943645f95adb36c1b81244b