0 txs
1 call
constructor
No constructor.
functions
getRewardRate
viewfunction getRewardRate(uint128 poolId, address collateralType, address distributor) view returns (uint256)
claimPoolRewards
nonpayablefunction claimPoolRewards(uint128 accountId, uint128 poolId, address collateralType, address distributor) returns (uint256)
claimRewards
nonpayablefunction claimRewards(uint128 accountId, uint128 poolId, address collateralType, address distributor) returns (uint256)
distributeRewards
nonpayablefunction distributeRewards(uint128 poolId, address collateralType, uint256 amount, uint64 start, uint32 duration) returns (int256)
distributeRewardsByOwner
nonpayablefunction distributeRewardsByOwner(uint128 poolId, address collateralType, address rewardsDistributor, uint256 amount, uint64 start, uint32 duration) returns (int256)
getAvailablePoolRewards
nonpayablefunction getAvailablePoolRewards(uint128 accountId, uint128 poolId, address collateralType, address distributor) returns (uint256)
getAvailableRewards
nonpayablefunction getAvailableRewards(uint128 accountId, uint128 poolId, address collateralType, address distributor) returns (uint256)
registerRewardsDistributor
nonpayablefunction registerRewardsDistributor(uint128 poolId, address collateralType, address distributor)
removeRewardsDistributor
nonpayablefunction removeRewardsDistributor(uint128 poolId, address collateralType, address distributor)
updateRewards
nonpayablefunction updateRewards(uint128 poolId, address collateralType, uint128 accountId) returns (uint256[], address[], uint256)
events
RewardsClaimed
event RewardsClaimed(uint128 indexed accountId, uint128 indexed poolId, address indexed collateralType, address distributor, uint256 amount)
RewardsDistributed
event RewardsDistributed(uint128 indexed poolId, address indexed collateralType, address distributor, uint256 amount, uint256 start, uint256 duration)
RewardsDistributorRegistered
event RewardsDistributorRegistered(uint128 indexed poolId, address indexed collateralType, address indexed distributor)
RewardsDistributorRemoved
event RewardsDistributorRemoved(uint128 indexed poolId, address indexed collateralType, address indexed distributor)
errors
AccountNotFound
error AccountNotFound(uint128 accountId)
FeatureUnavailable
error FeatureUnavailable(bytes32 which)
InvalidParameter
error InvalidParameter(string parameter, string reason)
OverflowInt256ToInt128
error OverflowInt256ToInt128()
OverflowInt256ToUint256
error OverflowInt256ToUint256()
OverflowUint256ToInt256
error OverflowUint256ToInt256()
OverflowUint256ToUint128
error OverflowUint256ToUint128()
OverflowUint256ToUint32
error OverflowUint256ToUint32()
OverflowUint32ToInt32
error OverflowUint32ToInt32()
OverflowUint64ToInt64
error OverflowUint64ToInt64()
PermissionDenied
error PermissionDenied(uint128 accountId, bytes32 permission, address target)
PositionOutOfBounds
error PositionOutOfBounds()
RewardUnavailable
error RewardUnavailable(address distributor)
Unauthorized
error Unauthorized(address addr)
ValueAlreadyInSet
error ValueAlreadyInSet()
ValueNotInSet
error ValueNotInSet()
creation bytecode
0x608060405234801561001057600080fd5b50612ed2806100206000396000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c806350f2f49b1161006657806350f2f49b146101175780635a7ff7c51461012a578063645657d81461013d578063c4b3410e1461015f578063eaeacda31461017257600080fd5b80630dd2395a146100a3578063170c1351146100c95780632685f42b146100de578063460d2049146100f157806349cd69ec14610104575b600080fd5b6100b66100b1366004612830565b610185565b6040519081526020015b60405180910390f35b6100dc6100d7366004612830565b61019c565b005b6100dc6100ec366004612830565b610324565b6100b66100ff366004612873565b6104ac565b6100b66101123660046128f2565b6104c4565b6100b6610125366004612873565b610515565b6100b661013836600461295f565b610525565b61015061014b3660046129bd565b61053c565b6040516100c0939291906129f7565b6100b661016d366004612873565b6105b0565b6100b6610180366004612873565b610718565b600061019284848461079c565b90505b9392505050565b60006101a78461091b565b905060008060006101b9878787610991565b9250925092506101c7610a18565b60028501546001600160a01b03908116911614610210576101e6610a18565b60405163472511eb60e11b81526001600160a01b0390911660048201526024015b60405180910390fd5b61022185632c927f3d60e21b610a55565b61023e57604051634bab873760e11b815260040161020790612aa2565b60008381526001830160205260409020541561026d57604051634bab873760e11b815260040161020790612ae4565b80546001600160a01b03161561029657604051634bab873760e11b815260040161020790612b2a565b6102a08284610b2f565b6001600160a01b0385166102c757604051634bab873760e11b815260040161020790612b70565b80546001600160a01b0319166001600160a01b038681169182178355604051908816906001600160801b038a16907f9d3609c05a83dc93a5b355d62c2b37dfde8f0833b1184d4d05c6f51cd46b6e5b90600090a450505050505050565b600061032f8461091b565b90506000806000610341878787610991565b92509250925061034f610a18565b60028501546001600160a01b0390811691161461036e576101e6610a18565b600083815260018301602052604090205461039c57604051634bab873760e11b815260040161020790612bb1565b6103a68284610b88565b60006103fc6001600160a01b038816156103eb576001600160a01b038816600090815260088701602090815260408083208054845260030190915290206001016103f0565b856006015b83906000600181610c87565b50905061041061040b82610fcf565b610ff6565b600183018054601090610434908490600160801b90046001600160801b0316612c09565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550856001600160a01b0316876001600160a01b0316896001600160801b03167f375c4507f463c55a506be95e2cfd3cfdc0610be055087eac6049588a1bcfacba60405160405180910390a45050505050505050565b60006104bb8585858587611020565b95945050505050565b6000806104d08861091b565b90506104da610a18565b60028201546001600160a01b039081169116146104f9576101e6610a18565b610507888888888888611386565b9150505b9695505050505050565b60006104bb858585856000611020565b600061050b8686610534610a18565b878787611386565b606080600061054a846115c6565b5060006105568761091b565b90506105a06040518060600160405280876001600160801b03168152602001896001600160801b03168152602001886001600160a01b03168152508261160b90919063ffffffff16565b9350935093505093509350939050565b6000806105bc8561091b565b6001600160a01b03851660009081526008919091016020526040812091506105e5868686611bdb565b600081815260048401602052604090208054919250906001600160a01b0386811691161461062657604051634bab873760e11b815260040161020790612c30565b61066e60405180606001604052808a6001600160801b03168152602001896001600160801b03168152602001886001600160a01b03168152506106688961091b565b9061160b565b5050835460009081526003850160205260408120600101546001600160801b0390811692506106c9908b165b8654600090815260038801602052604090205b600091825260020160205260409020546001600160801b031690565b604080516060810182526001600160801b03808e1682528c1660208201526001600160a01b038b169181019190915290915061070a908690868a8686611c2d565b9a9950505050505050505050565b6000806107248561091b565b6001600160a01b038516600090815260089190910160205260408120915061074d868286611bdb565b9050600061075a8761091b565b6000838152600e919091016020526040902080549091506001600160a01b0386811691161461062657604051634bab873760e11b815260040161020790612c30565b6000806107a88561091b565b6001600160a01b03851660009081526008919091016020908152604080832080548452600381019092528220600101549092506001600160801b0316906107f0878787611bdb565b905060006107fd42611e17565b60008381526004860160205260409020549091506001600160a01b03161580610850575061082a81610fcf565b6000838152600486016020526040902060030154600160801b90046001600160401b0316115b806108a6575061085f81610fcf565b600083815260048601602052604090206003015461089a90600160c01b810463ffffffff1690600160801b90046001600160401b0316612c83565b6001600160401b031611155b156108b8576000945050505050610195565b600082815260048501602052604090206003015461090f906108ea908590600160c01b900463ffffffff165b90611e41565b60008481526004870160205260409020600301546108e490600f0b610fcf565b610fcf565b98975050505050505050565b6000808260405160200161097291906040808252601b908201527f696f2e73796e7468657469782e73796e7468657469782e506f6f6c000000000060608201526001600160801b0391909116602082015260800190565b60408051601f1981840301815291905280516020909101209392505050565b6000806000806109a08761091b565b90506109ad878787611bdb565b93506001600160a01b0386166109da576000848152600e820160205260409020600c820193509150610a0e565b6001600160a01b03861660009081526008820160209081526040808320878452600481019092529091206005909101935091505b5093509350939050565b600073e2c5658cc5c448b48141168f3e475df8f65a1e3e33148015610a3e575060143610155b15610a50575060131936013560601c90565b503390565b604080516001600160e01b0319831660248083019190915282518083039091018152604490910182526020810180516001600160e01b03166301ffc9a760e01b1790529051600091829182916001600160a01b03871691610ab69190612ca3565b6000604051808303816000865af19150503d8060008114610af3576040519150601f19603f3d011682016040523d82523d6000602084013e610af8565b606091505b509150915081610b0d57600092505050610b29565b8051600003610b2157600092505050610b29565b602001519150505b92915050565b600081815260018301602052604090205415610b5e5760405163682ad32d60e01b815260040160405180910390fd5b81546001818101845560008481526020808220909301849055845493815293019052604090912055565b600081815260018301602052604081205490819003610bba5760405163b3dbc29360e01b815260040160405180910390fd5b6000610bc7600183612cd2565b8454909150600090610bdb90600190612cd2565b9050808214610c40576000856000018281548110610bfb57610bfb612ce5565b9060005260206000200154905080866000018481548110610c1e57610c1e612ce5565b6000918252602080832090910192909255918252600187019052604090208390555b8454859080610c5157610c51612cfb565b60019003818190600052602060002001600090559055846001016000858152602001908152602001600020600090555050505050565b835460009081906001600160801b0316808203610d165760408051634bab873760e11b815260048101919091526006604482015265185b5bdd5b9d60d21b606482015260806024820152602760848201527f63616e6e6f74206469737472696275746520746f20656d70747920646973747260a48201526634b13aba34b7b760c91b60c482015260e401610207565b42610d218983611e60565b610d2b9085612d11565b60048a0154909450600f0b92506001600160401b0386161580610d5357506003890154600f0b155b80610d9157506003890154610d8590600160c01b810463ffffffff1690600160801b90046001600160401b0316612c83565b6001600160401b031681115b80610dd857506003890154610dc390600160c01b810463ffffffff1690600160801b90046001600160401b0316612c83565b6001600160401b0316866001600160401b0316105b15610f6c576003890154600160801b90046001600160401b0316811080610e16575060038901546001600160401b03600160801b9091048116908716105b80610e3057506003890154600160c01b900463ffffffff16155b15610e4e576003890154610e4790600f0b84612d11565b9250610ee1565b6003890154610e6990600160c01b900463ffffffff166121d6565b60038a81015491900b90610eb8908390610ea090600160c01b810463ffffffff1690600160801b90046001600160401b0316612c83565b6001600160401b0316610eb39190612cd2565b611e17565b60038b0154610eca9190600f0b612d39565b610ed49190612d7f565b610ede9084612d11565b92505b6004890180546001600160e01b0319169055610efc87612203565b60038a0180546001600160801b03929092166001600160c01b031990921691909117600160801b6001600160401b03891602176001600160c01b0316600160c01b63ffffffff8816026001600160e01b0316179055610f5b8983611e60565b610f659085612d11565b9350610fc3565b610f7587612203565b60048a0180546001600160801b03929092166001600160c01b031990921691909117600160801b6001600160401b038916021763ffffffff60c01b1916600160c01b63ffffffff8816021790555b50509550959350505050565b600080821215610ff25760405163029f024d60e31b815260040160405180910390fd5b5090565b60006001600160801b03821115610ff257604051637d5864af60e11b815260040160405180910390fd5b600061103a6b636c61696d5265776172647360a01b612251565b61104e86665245574152445360c81b612285565b50600061105a8661091b565b6001600160a01b0386166000908152600891909101602052604081209150611083878587611bdb565b905060006001600160a01b0385166110b55761109e8861091b565b6000838152600e91909101602052604090206110c6565b600082815260048401602052604090205b80549091506001600160a01b038781169116146110f657604051634bab873760e11b815260040161020790612c30565b825460009081526003840160205260408120600101546001600160801b039081169190611124908c1661069a565b905061116860405180606001604052808d6001600160801b031681526020018c6001600160801b031681526020018b6001600160a01b03168152506106688c61091b565b5050604080516060810182526001600160801b03808f1682528d1660208201526001600160a01b038c1691810191909152600091506111ac908790878c8787611c2d565b9050600086600401600087815260200190815260200160002060020160008e6001600160801b0316815260200190815260200160002060000160106101000a8154816001600160801b0302191690836001600160801b031602179055506000896001600160a01b031663d221e7f28e8e8e611225610a18565b6040516001600160e01b031960e087901b1681526001600160801b0394851660048201529390921660248401526001600160a01b0390811660448401521660648201526084810185905260a4016020604051808303816000875af1158015611291573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112b59190612dad565b9050806112e057604051633efe575160e01b81526001600160a01b038b166004820152602401610207565b8a6001600160a01b03168c6001600160801b03168e6001600160801b03167fa4a60be4203e7975e54ab5314c7e9e18aba9ad71e8da714d8de987f4f05410f28a60040160008b815260200190815260200160002060000160009054906101000a90046001600160a01b03168660405161136e9291906001600160a01b03929092168252602082015260400190565b60405180910390a4509b9a5050505050505050505050565b6000806113928861091b565b905060008060006113a48b8b8b610991565b6000838152600183016020526040902054929550909350915061144a5760408051634bab873760e11b81526004810191909152602160448201527f706f6f6c49642d636f6c6c61746572616c547970652d6469737472696275746f6064820152603960f91b608482015260a06024820152601860a48201527f726577617264206973206e6f742072656769737465726564000000000000000060c482015260e401610207565b60006001600160a01b038b161561148c576001600160a01b038b1660009081526008860160209081526040808320805484526003019091529020600101611491565b846006015b90508815806114a8575080546001600160801b0316155b156114bb5760009550505050505061050b565b6000806114d5836114cb8d611e17565b8691908d8d610c87565b915091506114e561040b83610fcf565b600185018054601090611509908490600160801b90046001600160801b0316612c09565b92506101000a8154816001600160801b0302191690836001600160801b031602179055508c6001600160a01b03168e6001600160801b03167f19ced31d71d1db45f99d5a8d3a7616fe9d78828df58f2a28feb68c9f9ab876ca61156a610a18565b8e8e8e6040516115ad94939291906001600160a01b0394909416845260208401929092526001600160401b0316604083015263ffffffff16606082015260800190565b60405180910390a39d9c50505050505050505050505050565b6000806115d283612314565b60018101549091506001600160a01b0316610b29576040516301c52d9360e31b81526001600160801b0384166004820152602401610207565b60608060008061161c86600c015490565b6001600160401b0381111561163357611633612dcf565b60405190808252806020026020018201604052801561165c578160200160208202803683370190505b5060408681015160068901546001600160a01b03909116600081815260078b0160205292832054939450926001600160801b03918216929116905b600c8a01548110156119725760006116bd6116b3836001612de5565b600c8d019061236b565b6000818152600e8d01602052604090208054919250906001600160a01b03166116e7575050611960565b6116f761040b61090a8388611e60565b60018201805460109061171b908490600160801b90046001600160801b0316612c09565b82546101009290920a6001600160801b038181021990931691831602179091556000888152600284016020526040812054600185015491935061177d9261176d9291811691600160801b900416612df8565b86906001600160801b03166123d0565b905060006117c58e60080160008f604001516001600160a01b03166001600160a01b031681526020019081526020016000208054600090815260039091016020526040902090565b6001908101549084015460008a8152600286016020526040902080546001600160801b03600160801b90930483166001600160801b03199091161790558a519116915084908a908790811061181c5761181c612ce5565b6020908102919091010152811580611832575080155b156118405750505050611960565b8260000160009054906101000a90046001600160a01b03168e60080160008f604001516001600160a01b03166001600160a01b03168152602001908152602001600020600401600086815260200190815260200160002060000160006101000a8154816001600160a01b0302191690836001600160a01b031602179055506118d461040b8284611e4190919063ffffffff16565b8e60080160008f604001516001600160a01b03166001600160a01b03168152602001908152602001600020600401600086815260200190815260200160002060010160108282829054906101000a90046001600160801b03166119379190612c09565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050505b8061196a81612e18565b915050611697565b505050506040858101516001600160a01b031660009081526008880160205290812081906119a19088856123e5565b91509150600080611a05896119e28c60080160008d604001516001600160a01b03166001600160a01b03168152602001908152602001600020600501612439565b6040808d01516001600160a01b0316600090815260088f016020522091906123e5565b9150915081518451611a179190612de5565b6001600160401b03811115611a2e57611a2e612dcf565b604051908082528060200260200182016040528015611a57578160200160208202803683370190505b50975080518351611a689190612de5565b6001600160401b03811115611a7f57611a7f612dcf565b604051908082528060200260200182016040528015611aa8578160200160208202803683370190505b50965060005b8851811015611b345784518110611aea5782855182611acd9190612cd2565b81518110611add57611add612ce5565b6020026020010151611b05565b848181518110611afc57611afc612ce5565b60200260200101515b898281518110611b1757611b17612ce5565b602090810291909101015280611b2c81612e18565b915050611aae565b5060005b8751811015611bcb5783518110611b745781845182611b579190612cd2565b81518110611b6757611b67612ce5565b6020026020010151611b8f565b838181518110611b8657611b86612ce5565b60200260200101515b888281518110611ba157611ba1612ce5565b6001600160a01b039092166020928302919091019091015280611bc381612e18565b915050611b38565b5050915193505050509250925092565b604080516001600160801b03851660208201526001600160a01b038085169282019290925290821660608201526000906080016040516020818303038152906040528051906020012090509392505050565b60008481526004878101602090815260408084208951928a01518a8301519251639a99916f60e01b81526001600160801b03948516958101959095529290921660248401526001600160a01b03908116604484015260648301859052909190861690639a99916f90608401600060405180830381600087803b158015611cb257600080fd5b505af1158015611cc6573d6000803e3d6000fd5b50505050611ce361040b61090a8684611e6090919063ffffffff16565b600182018054601090611d07908490600160801b90046001600160801b0316612c09565b82546101009290920a6001600160801b038181021990931691831602179091558851811660009081526002840160205260409020546001840154611d6e935061040b92611d5e92811691600160801b900416612df8565b85906001600160801b03166123d0565b87516001600160801b039081166000908152600284016020526040902080549091601091611da5918591600160801b900416612c09565b82546101009290920a6001600160801b038181021990931691831602179091556001830154895182166000908152600290940160205260408085208054600160801b9384900485166001600160801b031990911617905599518216845298909220549790970416979650505050505050565b60006001600160ff1b03821115610ff25760405163677c430560e11b815260040160405180910390fd5b600081611e56670de0b6b3a764000085612e31565b6101959190612e48565b6003820154600090600f0b1580611e75575081155b15611e8257506000610b29565b60038301544290600090600160801b90046001600160401b0316821015611eae57600092505050610b29565b6003850154600160c01b900463ffffffff16158015611eed57506003850154600160801b81046001600160401b0316600160e01b90910463ffffffff16105b15611f1457611f0d611efe85611e17565b6003870154600f0b5b90612495565b90506120de565b6003850154611f4090600160c01b810463ffffffff1690600160801b90046001600160401b0316612c83565b6001600160401b031685600301601c9054906101000a900463ffffffff1663ffffffff1610156120de576003850154600090600160801b81046001600160401b0316600160e01b90910463ffffffff1610612015576003860154611fb090600160c01b900463ffffffff166121d6565b60038781015491900b90611ff390611fe590600160801b81046001600160401b031690600160e01b900463ffffffff16612e5c565b6001600160401b03166124b4565b60038801546120089160070b90600f0b612d39565b6120129190612d7f565b90505b6003860154600f81900b9061204790600160c01b810463ffffffff1690600160801b90046001600160401b0316612c83565b6001600160401b03168410156120b957600387015461207290600160c01b900463ffffffff166121d6565b60038881015491900b9061209a90610eb390600160801b90046001600160401b031687612cd2565b60038901546120ac9190600f0b612d39565b6120b69190612d7f565b90505b6120cf6120c587611e17565b611f078484612e7c565b6120d99084612d11565b925050505b600385015461210a90600160c01b810463ffffffff1690600160801b90046001600160401b0316612c83565b6001600160401b0316821061219e576004850180546003870180546bffffffffffffffffffffffff60801b1916600160801b8084046001600160401b03160263ffffffff60c01b191617600160c01b80840463ffffffff1602176001600160801b0319166001600160801b0383161790556001600160e01b03191690556121918585611e60565b61219b9082612d11565b90505b6121a7826124e8565b60038601805463ffffffff92909216600160e01b026001600160e01b0390921691909117905591505092915050565b6000637fffffff63ffffffff83161115610ff257604051630299decb60e01b815260040160405180910390fd5b60006f7fffffffffffffffffffffffffffffff1982128061223357506f7fffffffffffffffffffffffffffffff82135b15610ff257604051634022cc0360e01b815260040160405180910390fd5b6122628161225d610a18565b61250f565b61228257604051637e023fb760e01b815260048101829052602401610207565b50565b600061229083612314565b90506122a98261229e610a18565b60018401919061255d565b6122f15782826122b7610a18565b60405162ef2a9160e11b81526001600160801b03909316600484015260248301919091526001600160a01b03166044820152606401610207565b60058101805467ffffffffffffffff1916426001600160401b0316179055610b29565b6000808260405160200161097291906040808252601e908201527f696f2e73796e7468657469782e73796e7468657469782e4163636f756e74000060608201526001600160801b0391909116602082015260800190565b600081158061237a5750825482115b156123985760405163eb9bc44760e01b815260040160405180910390fd5b60006123a5600184612cd2565b90508360000181815481106123bc576123bc612ce5565b906000526020600020015491505092915050565b6000670de0b6b3a7640000611e568385612e31565b8254600090815260038401602052604081206001810154845160609384936001600160801b0393841693919261241c9216906106ad565b905061242b878787858561259a565b935093505050935093915050565b60608160000180548060200260200160405190810160405280929190818152602001828054801561248957602002820191906000526020600020905b815481526020019060010190808311612475575b50505050509050919050565b6000816124aa670de0b6b3a764000085612d39565b6101959190612d7f565b6000677fffffffffffffff6001600160401b0383161115610ff257604051633340f63360e11b815260040160405180910390fd5b600063ffffffff821115610ff2576040516334bee0b960e01b815260040160405180910390fd5b60008061251b8461273d565b6001810154909150610100900460ff161561253a576000915050610b29565b600181015460ff168061255557506125556002820184612796565b949350505050565b82546000906001600160a01b03838116911614806125895750612589846420a226a4a760d91b846127b8565b8061019257506101928484846127b8565b60608084516001600160401b038111156125b6576125b6612dcf565b6040519080825280602002602001820160405280156125df578160200160208202803683370190505b50915084516001600160401b038111156125fb576125fb612dcf565b604051908082528060200260200182016040528015612624578160200160208202803683370190505b50905060005b85518110156127325785818151811061264557612645612ce5565b60200260200101516000801b031561272057600088600401600088848151811061267157612671612ce5565b602090810291909101810151825281019190915260400160002080549091506001600160a01b0316806126a5575050612720565b808484815181106126b8576126b8612ce5565b60200260200101906001600160a01b031690816001600160a01b0316815250506126ff8a8a8a86815181106126ef576126ef612ce5565b6020026020010151848b8b611c2d565b85848151811061271157612711612ce5565b60200260200101818152505050505b8061272a81612e18565b91505061262a565b509550959350505050565b6040805160208101829052602560608201527f696f2e73796e7468657469782e636f72652d6d6f64756c65732e46656174757260808201526465466c616760d81b60a0820152908101829052600090819060c001610972565b6001600160a01b03811660009081526001830160205260408120541515610195565b60006001600160a01b0382161580159061019257506001600160a01b038216600090815260018581016020908152604080842087855290920190529020541515610192565b80356001600160801b038116811461281457600080fd5b919050565b80356001600160a01b038116811461281457600080fd5b60008060006060848603121561284557600080fd5b61284e846127fd565b925061285c60208501612819565b915061286a60408501612819565b90509250925092565b6000806000806080858703121561288957600080fd5b612892856127fd565b93506128a0602086016127fd565b92506128ae60408601612819565b91506128bc60608601612819565b905092959194509250565b80356001600160401b038116811461281457600080fd5b803563ffffffff8116811461281457600080fd5b60008060008060008060c0878903121561290b57600080fd5b612914876127fd565b955061292260208801612819565b945061293060408801612819565b935060608701359250612945608088016128c7565b915061295360a088016128de565b90509295509295509295565b600080600080600060a0868803121561297757600080fd5b612980866127fd565b945061298e60208701612819565b9350604086013592506129a3606087016128c7565b91506129b1608087016128de565b90509295509295909350565b6000806000606084860312156129d257600080fd5b6129db846127fd565b92506129e960208501612819565b915061286a604085016127fd565b606080825284519082018190526000906020906080840190828801845b82811015612a3057815184529284019290840190600101612a14565b5050508381038285015285518082528683019183019060005b81811015612a6e5783516001600160a01b031683529284019291840191600101612a49565b5050809350505050826040830152949350505050565b600b81526a3234b9ba3934b13aba37b960a91b602082015260400190565b604081526000612ab460408301612a84565b8281036020938401526011815270696e76616c696420696e7465726661636560781b928101929092525060400190565b604081526000612af660408301612a84565b82810360209384015260158152741a5cc8185b1c9958591e481c9959da5cdd195c9959605a1b928101929092525060400190565b604081526000612b3c60408301612a84565b828103602093840152601581527418d85b9d081899481c994b5c9959da5cdd195c9959605a1b928101929092525060400190565b604081526000612b8260408301612a84565b828103602093840152601081526f6d757374206265206e6f6e2d7a65726f60801b928101929092525060400190565b604081526000612bc360408301612a84565b82810360209384015260118152701a5cc81b9bdd081c9959da5cdd195c9959607a1b928101929092525060400190565b634e487b7160e01b600052601160045260246000fd5b6001600160801b03818116838216019080821115612c2957612c29612bf3565b5092915050565b6040808252600e908201526d696e76616c69642d706172616d7360901b6060820152608060208201819052601390820152721c995dd85c99081a5cc81b9bdd08199bdd5b99606a1b60a082015260c00190565b6001600160401b03818116838216019080821115612c2957612c29612bf3565b6000825160005b81811015612cc45760208186018101518583015201612caa565b506000920191825250919050565b81810381811115610b2957610b29612bf3565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052603160045260246000fd5b8082018281126000831280158216821582161715612d3157612d31612bf3565b505092915050565b80820260008212600160ff1b84141615612d5557612d55612bf3565b8181058314821517610b2957610b29612bf3565b634e487b7160e01b600052601260045260246000fd5b600082612d8e57612d8e612d69565b600160ff1b821460001984141615612da857612da8612bf3565b500590565b600060208284031215612dbf57600080fd5b8151801515811461019557600080fd5b634e487b7160e01b600052604160045260246000fd5b80820180821115610b2957610b29612bf3565b6001600160801b03828116828216039080821115612c2957612c29612bf3565b600060018201612e2a57612e2a612bf3565b5060010190565b8082028115828204841417610b2957610b29612bf3565b600082612e5757612e57612d69565b500490565b6001600160401b03828116828216039080821115612c2957612c29612bf3565b8181036000831280158383131683831282161715612c2957612c29612bf356fea264697066735822122099356863da3eec8f8f7360a7ce2ce87f96bf6ea683b3d638019027ae347a189164736f6c63430008110033