2 txs
3 calls
constructor
constructor(address initialAuthority_, address plasmaVault_)
functions
authority
viewfunction authority() view returns (address)
balanceOf
viewfunction balanceOf() view returns (uint256)
getRewardsFuses
viewfunction getRewardsFuses() view returns (address[])
getVestingData
viewfunction getVestingData() view returns (tuple)
isConsumingScheduledOp
viewfunction isConsumingScheduledOp() view returns (bytes4)
isRewardFuseSupported
viewfunction isRewardFuseSupported(address fuse_) view returns (bool)
PLASMA_VAULT
viewfunction PLASMA_VAULT() view returns (address)
UNDERLYING_TOKEN
viewfunction UNDERLYING_TOKEN() view returns (address)
addRewardFuses
nonpayablefunction addRewardFuses(address[] fuses_)
claimRewards
nonpayablefunction claimRewards(tuple[] calls_)
clearContext
nonpayablefunction clearContext()
removeRewardFuses
nonpayablefunction removeRewardFuses(address[] fuses_)
setAuthority
nonpayablefunction setAuthority(address newAuthority)
setupContext
nonpayablefunction setupContext(address sender_)
setupVestingTime
nonpayablefunction setupVestingTime(uint256 vestingTime_)
transfer
nonpayablefunction transfer(address asset_, address to_, uint256 amount_)
transferVestedTokensToVault
nonpayablefunction transferVestedTokensToVault()
updateBalance
nonpayablefunction updateBalance()
events
AmountWithdrawn
event AmountWithdrawn(uint256 amount)
AuthorityUpdated
event AuthorityUpdated(address authority)
ContextCleared
event ContextCleared(address indexed sender_)
ContextSet
event ContextSet(address indexed sender_)
FuseAdded
event FuseAdded(address fuse)
FuseRemoved
event FuseRemoved(address fuse)
Initialized
event Initialized(uint64 version)
TransferredTokensUpdated
event TransferredTokensUpdated(uint128 transferredTokens)
VestingDataUpdated
event VestingDataUpdated(uint128 transferredTokens, uint128 balanceOnLastUpdate, uint32 vestingTime, uint32 lastUpdateBalance)
VestingTimeUpdated
event VestingTimeUpdated(uint256 vestingTime)
errors
AccessManagedInvalidAuthority
error AccessManagedInvalidAuthority(address authority)
AccessManagedRequiredDelay
error AccessManagedRequiredDelay(address caller, uint32 delay)
AccessManagedUnauthorized
error AccessManagedUnauthorized(address caller)
AddressEmptyCode
error AddressEmptyCode(address target)
AddressInsufficientBalance
error AddressInsufficientBalance(address account)
ContextAlreadySet
error ContextAlreadySet()
ContextNotSet
error ContextNotSet()
FailedInnerCall
error FailedInnerCall()
FuseAlreadyExists
error FuseAlreadyExists()
FuseDoesNotExist
error FuseDoesNotExist()
FuseUnsupported
error FuseUnsupported(address fuse)
InvalidInitialization
error InvalidInitialization()
MathOverflowedMulDiv
error MathOverflowedMulDiv()
NotInitializing
error NotInitializing()
SafeCastOverflowedUintDowncast
error SafeCastOverflowedUintDowncast(uint8 bits, uint256 value)
SafeERC20FailedOperation
error SafeERC20FailedOperation(address token)
UnableToTransferUnderlyingToken
error UnableToTransferUnderlyingToken()
UnauthorizedSender
error UnauthorizedSender()
creation bytecode
0x60c060405234801561000f575f80fd5b50604051612aae380380612aae83398101604081905261002e91610366565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000810460ff1615906001600160401b03165f811580156100775750825b90505f826001600160401b031660011480156100925750303b155b9050811580156100a0575080155b156100be5760405163f92ee8a960e01b815260040160405180910390fd5b84546001600160401b031916600117855583156100ec57845460ff60401b1916680100000000000000001785555b6100f5876101c4565b856001600160a01b03166338d52e0f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610131573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101559190610397565b6001600160a01b03908116608052861660a05261017260016101d8565b83156101b857845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b505050505050506103b7565b6101cc610250565b6101d5816102a0565b50565b6101e181610313565b7f6ab1bcc6104660f940addebf2a0f1cdfdd8fb6e9a4305fcd73bc32a2bcbabc00805463ffffffff191663ffffffff929092169190911790556040518181527f2641e88f81cf31291624c624eaeb689e2c1dd743fa5beb08d4b6462e1b72af3c9060200160405180910390a150565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005468010000000000000000900460ff1661029e57604051631afcd79f60e31b815260040160405180910390fd5b565b7ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a0080546001600160a01b0383166001600160a01b03199091168117825560408051918252517f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad9181900360200190a15050565b5f63ffffffff821115610347576040516306dfcc6560e41b8152602060048201526024810183905260440160405180910390fd5b5090565b80516001600160a01b0381168114610361575f80fd5b919050565b5f8060408385031215610377575f80fd5b6103808361034b565b915061038e6020840161034b565b90509250929050565b5f602082840312156103a7575f80fd5b6103b08261034b565b9392505050565b60805160a05161269e6104105f395f81816103c50152818161044a01528181610aae0152610ffc01525f8181610255015281816104280152818161063201528181610a8c01528181610bae0152610cb1015261269e5ff3fe608060405234801561000f575f80fd5b506004361061012f575f3560e01c80638fb36037116100ad578063bf7e214f1161007d578063db99bddd11610063578063db99bddd146103a5578063e3efd95f146103ad578063ead66a07146103c0575f80fd5b8063bf7e214f14610388578063cee511bb14610390575f80fd5b80638fb3603714610311578063a9559dd71461034a578063b4c2cb2e14610352578063beabacc814610375575f80fd5b80634597a22611610102578063722713f7116100e8578063722713f7146102d55780637a9e5e4b146102eb57806387ef0b87146102fe575f80fd5b80634597a226146102af57806370e803e3146102c2575f80fd5b8063041752e314610133578063068483fa1461024657806329db1be61461025057806342378c2c1461029c575b5f80fd5b6101d6604080516080810182525f8082526020820181905291810182905260608101919091527f6ab1bcc6104660f940addebf2a0f1cdfdd8fb6e9a4305fcd73bc32a2bcbabc0060408051608081018252825463ffffffff808216835264010000000082041660208301526fffffffffffffffffffffffffffffffff68010000000000000000909104811692820192909252600190920154166060820152919050565b60405161023d91905f60808201905063ffffffff835116825263ffffffff60208401511660208301526fffffffffffffffffffffffffffffffff60408401511660408301526fffffffffffffffffffffffffffffffff606084015116606083015292915050565b60405180910390f35b61024e6103e7565b005b6102777f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161023d565b61024e6102aa36600461206e565b6104af565b61024e6102bd3660046120cd565b6104c6565b61024e6102d03660046120cd565b610519565b6102dd610566565b60405190815260200161023d565b61024e6102f936600461212f565b6107bf565b61024e61030c36600461212f565b6108c8565b6103196109e4565b6040517fffffffff00000000000000000000000000000000000000000000000000000000909116815260200161023d565b61024e610a56565b61036561036036600461212f565b610c57565b604051901515815260200161023d565b61024e610383366004612148565b610ca4565b610277610d60565b610398610da1565b60405161023d9190612182565b61024e610db0565b61024e6103bb3660046120cd565b610ea2565b6102777f000000000000000000000000000000000000000000000000000000000000000081565b6103f96103f2611065565b5f3661106e565b5f610402610566565b9050805f0361040e5750565b61046f73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000167f0000000000000000000000000000000000000000000000000000000000000000836112a5565b61047881611332565b6040518181527f3e92aa4db3477ddd7c90d0ded7b985612c042e99cdeed9408343c650bdda73b9906020015b60405180910390a150565b6104ba6103f2611065565b6104c38161140c565b50565b6104d16103f2611065565b805f5b818110156105135761050b8484838181106104f1576104f16121da565b9050602002016020810190610506919061212f565b611499565b6001016104d4565b50505050565b6105246103f2611065565b805f5b818110156105135761055e848483818110610544576105446121da565b9050602002016020810190610559919061212f565b61161f565b600101610527565b604080516080810182527f6ab1bcc6104660f940addebf2a0f1cdfdd8fb6e9a4305fcd73bc32a2bcbabc005463ffffffff808216808452640100000000830490911660208401526fffffffffffffffffffffffffffffffff680100000000000000009092048216938301939093527f6ab1bcc6104660f940addebf2a0f1cdfdd8fb6e9a4305fcd73bc32a2bcbabc01541660608201525f9182036106b6576040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16906370a0823190602401602060405180830381865afa15801561068c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106b09190612207565b91505090565b806020015163ffffffff165f036106ce575f91505090565b6020810151670de0b6b3a76400009063ffffffff164210610723578151602083015163ffffffff9182169161070491164261224b565b61071690670de0b6b3a764000061225e565b61072091906122a2565b90505b805f03610732575f9250505090565b670de0b6b3a7640000811061076e578160400151826060015161075591906122da565b6fffffffffffffffffffffffffffffffff169250505090565b81604001516fffffffffffffffffffffffffffffffff166107ae83606001516fffffffffffffffffffffffffffffffff1683670de0b6b3a76400006118a1565b6107b8919061224b565b9250505090565b5f6107c8611065565b90506107d2610d60565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610853576040517f068ca9d800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff821660048201526024015b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff163b5f036108bb576040517fc2f31e5e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8316600482015260240161084a565b6108c482611999565b5050565b6108d36103f2611065565b7f68262fe08792a71a690eb5eb2de15df1b0f463dd786bf92bdbd5f0f0d1ae8b005473ffffffffffffffffffffffffffffffffffffffff1615610942576040517f2f3873fd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f68262fe08792a71a690eb5eb2de15df1b0f463dd786bf92bdbd5f0f0d1ae8b0080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff831617905560405173ffffffffffffffffffffffffffffffffffffffff8216907f606f0da67080f7641fd59bdd017702d2842394e653866c86c69bcc879eea2a41905f90a250565b7ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a0080545f919074010000000000000000000000000000000000000000900460ff16610a2f575f6106b0565b7f8fb360370000000000000000000000000000000000000000000000000000000091505090565b610a616103f2611065565b5f610a6a610566565b90508015610ad357610ad373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000167f0000000000000000000000000000000000000000000000000000000000000000836112a5565b604080516080810182527f6ab1bcc6104660f940addebf2a0f1cdfdd8fb6e9a4305fcd73bc32a2bcbabc005463ffffffff808216835264010000000082041660208301526801000000000000000090046fffffffffffffffffffffffffffffffff908116928201929092527f6ab1bcc6104660f940addebf2a0f1cdfdd8fb6e9a4305fcd73bc32a2bcbabc01549091166060820152610b7142611a32565b63ffffffff1660208201526040517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152610c31907f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16906370a0823190602401602060405180830381865afa158015610c08573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c2c9190612207565b611a7f565b6fffffffffffffffffffffffffffffffff1660608201525f60408201526108c481611ad4565b73ffffffffffffffffffffffffffffffffffffffff81165f9081527f48932b860eb451ad240d4fe2b46522e5a0ac079d201fe50d4e0be078c75b5400602052604081205415155b92915050565b610caf6103f2611065565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610d34576040517f4a2873d200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8015610d5b57610d5b73ffffffffffffffffffffffffffffffffffffffff841683836112a5565b505050565b5f807ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a005b5473ffffffffffffffffffffffffffffffffffffffff1692915050565b6060610dab611c19565b905090565b610dbb6103f2611065565b5f610dc4611ca2565b905073ffffffffffffffffffffffffffffffffffffffff8116610e13576040517f20ccb74a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610e5f7f68262fe08792a71a690eb5eb2de15df1b0f463dd786bf92bdbd5f0f0d1ae8b0080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055565b60405173ffffffffffffffffffffffffffffffffffffffff8216907f6ca66738059b52d288c52b478cf0710166b7fb2801e9262a896cbacf620cba1d905f90a250565b610ead6103f2611065565b805f5b81811015610fbe57610f35848483818110610ecd57610ecd6121da565b9050602002810190610edf9190612302565b610eed90602081019061212f565b73ffffffffffffffffffffffffffffffffffffffff165f9081527f48932b860eb451ad240d4fe2b46522e5a0ac079d201fe50d4e0be078c75b54006020526040902054151590565b610fb657838382818110610f4b57610f4b6121da565b9050602002810190610f5d9190612302565b610f6b90602081019061212f565b6040517fd9ffc5d100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909116600482015260240161084a565b600101610eb0565b506040517fe3efd95f00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169063e3efd95f906110339086908690600401612385565b5f604051808303815f87803b15801561104a575f80fd5b505af115801561105c573d5f803e3d5ffd5b50505050505050565b5f610dab611cd5565b5f61107c60048284866124c0565b611085916124e7565b90507fffffffff0000000000000000000000000000000000000000000000000000000081167f87ef0b8700000000000000000000000000000000000000000000000000000000148061111857507fffffffff0000000000000000000000000000000000000000000000000000000081167fdb99bddd00000000000000000000000000000000000000000000000000000000145b15611121573393505b7ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a005f8061116c61114f610d60565b883061115e60045f8b8d6124c0565b611167916124e7565b611cde565b915091508161105c5763ffffffff81161561125b5782547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001783556111c6610d60565b73ffffffffffffffffffffffffffffffffffffffff166394c7d7ee8888886040518463ffffffff1660e01b81526004016112029392919061254d565b5f604051808303815f87803b158015611219575f80fd5b505af115801561122b573d5f803e3d5ffd5b505084547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1685555061105c9050565b6040517f068ca9d800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8816600482015260240161084a565b6040805173ffffffffffffffffffffffffffffffffffffffff8416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb00000000000000000000000000000000000000000000000000000000179052610d5b908490611e57565b7f6ab1bcc6104660f940addebf2a0f1cdfdd8fb6e9a4305fcd73bc32a2bcbabc005f61135d83611a7f565b825461138791906801000000000000000090046fffffffffffffffffffffffffffffffff16612585565b82547fffffffffffffffff00000000000000000000000000000000ffffffffffffffff16680100000000000000006fffffffffffffffffffffffffffffffff83169081029190911784556040519081529091507fe06356961fcc6b17192f867e50879bc1bbaa34f58809d2b2ab5476b53877832e9060200160405180910390a1505050565b61141581611a32565b7f6ab1bcc6104660f940addebf2a0f1cdfdd8fb6e9a4305fcd73bc32a2bcbabc0080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000001663ffffffff929092169190911790556040518181527f2641e88f81cf31291624c624eaeb689e2c1dd743fa5beb08d4b6462e1b72af3c906020016104a4565b73ffffffffffffffffffffffffffffffffffffffff81165f9081527f48932b860eb451ad240d4fe2b46522e5a0ac079d201fe50d4e0be078c75b540060208190526040909120548015611518576040517fe5b59f7000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f7fad43e358bd6e59a5a0c80f6bf25fa771408af4d80f621cdc680c8dfbf607ab00546115469060016125ad565b73ffffffffffffffffffffffffffffffffffffffff85165f818152602086815260408083208590557fad43e358bd6e59a5a0c80f6bf25fa771408af4d80f621cdc680c8dfbf607ab00805460018101825593527f23477b0f5b8efb150cb70bc4c9355a652f99157c4bc9fa45fe343f5c90fe96a790920180547fffffffffffffffffffffffff0000000000000000000000000000000000000000168417905590519182529192507fa6900b674d94d1ecd696c66ec6762dcb661729307e0f90a5a4bc0513b1390d7391015b60405180910390a150505050565b73ffffffffffffffffffffffffffffffffffffffff81165f9081527f48932b860eb451ad240d4fe2b46522e5a0ac079d201fe50d4e0be078c75b54006020819052604082205490918190036116a0576040517f8f37b07400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f7fad43e358bd6e59a5a0c80f6bf25fa771408af4d80f621cdc680c8dfbf607ab0060017fad43e358bd6e59a5a0c80f6bf25fa771408af4d80f621cdc680c8dfbf607ab00546116f0919061224b565b81548110611700576117006121da565b5f91825260208083209091015473ffffffffffffffffffffffffffffffffffffffff90811680845291869052604080842086905590871683528220919091559050806117697fad43e358bd6e59a5a0c80f6bf25fa771408af4d80f621cdc680c8dfbf607ab0090565b61177460018561224b565b81548110611784576117846121da565b5f91825260209091200180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff929092169190911790557fad43e358bd6e59a5a0c80f6bf25fa771408af4d80f621cdc680c8dfbf607ab00805480611801576118016125c0565b5f8281526020908190207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff908301810180547fffffffffffffffffffffffff000000000000000000000000000000000000000016905590910190915560405173ffffffffffffffffffffffffffffffffffffffff861681527f78464d629b261dcdc053f071c694250a86fc2a7ad6315364a81c7cd7cd98482e9101611611565b5f838302817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff85870982811083820303915050805f036118f4578382816118ea576118ea612275565b0492505050611992565b80841161192d576040517f227bc15300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f848688095f868103871696879004966002600389028118808a02820302808a02820302808a02820302808a02820302808a02820302808a02909103029181900381900460010186841190950394909402919094039290920491909117919091029150505b9392505050565b7ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a0080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff831690811782556040519081527f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad906020015b60405180910390a15050565b5f63ffffffff821115611a7b576040517f6dfcc650000000000000000000000000000000000000000000000000000000008152602060048201526024810183905260440161084a565b5090565b5f6fffffffffffffffffffffffffffffffff821115611a7b576040517f6dfcc650000000000000000000000000000000000000000000000000000000008152608060048201526024810183905260440161084a565b5f7f6ab1bcc6104660f940addebf2a0f1cdfdd8fb6e9a4305fcd73bc32a2bcbabc008251815460208086015160408088015163ffffffff9586167fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000909516949094176401000000009286168302177fffffffffffffffff00000000000000000000000000000000ffffffffffffffff8116680100000000000000006fffffffffffffffffffffffffffffffff9687168102918217808a556060808d015160018c0180547fffffffffffffffffffffffffffffffff0000000000000000000000000000000016918b169182179055865193830490991683529682019790975291871690871617918101919091529204909216918101919091529091507f0431e9724227d3b9c513722f62640892973b125a46b468409293217dd575171190608001611a26565b60607fad43e358bd6e59a5a0c80f6bf25fa771408af4d80f621cdc680c8dfbf607ab00805460408051602080840282018101909252828152929190830182828015611c9857602002820191905f5260205f20905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311611c6d575b5050505050905090565b5f80611cac611eeb565b905073ffffffffffffffffffffffffffffffffffffffff8116611cd0573391505090565b919050565b5f610dab611ca2565b60405173ffffffffffffffffffffffffffffffffffffffff848116602483015283811660448301527fffffffff00000000000000000000000000000000000000000000000000000000831660648301525f91829182918291891690608401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fb70096130000000000000000000000000000000000000000000000000000000017905251611dbd91906125ed565b5f60405180830381855afa9150503d805f8114611df5576040519150601f19603f3d011682016040523d82523d5f602084013e611dfa565b606091505b50915091508115611e4c576040815110611e2c5780806020019051810190611e229190612612565b9094509250611e4c565b6020815110611e4c5780806020019051810190611e49919061264f565b93505b505094509492505050565b5f611e7873ffffffffffffffffffffffffffffffffffffffff841683611f13565b905080515f14158015611e9c575080806020019051810190611e9a919061264f565b155b15610d5b576040517f5274afe700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8416600482015260240161084a565b5f807f68262fe08792a71a690eb5eb2de15df1b0f463dd786bf92bdbd5f0f0d1ae8b00610d84565b606061199283835f845f808573ffffffffffffffffffffffffffffffffffffffff168486604051611f4491906125ed565b5f6040518083038185875af1925050503d805f8114611f7e576040519150601f19603f3d011682016040523d82523d5f602084013e611f83565b606091505b5091509150611f93868383611f9d565b9695505050505050565b606082611fb257611fad8261202c565b611992565b8151158015611fd6575073ffffffffffffffffffffffffffffffffffffffff84163b155b15612025576040517f9996b31500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8516600482015260240161084a565b5080611992565b80511561203c5780518082602001fd5b6040517f1425ea4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f6020828403121561207e575f80fd5b5035919050565b5f8083601f840112612095575f80fd5b50813567ffffffffffffffff8111156120ac575f80fd5b6020830191508360208260051b85010111156120c6575f80fd5b9250929050565b5f80602083850312156120de575f80fd5b823567ffffffffffffffff8111156120f4575f80fd5b61210085828601612085565b90969095509350505050565b803573ffffffffffffffffffffffffffffffffffffffff81168114611cd0575f80fd5b5f6020828403121561213f575f80fd5b6119928261210c565b5f805f6060848603121561215a575f80fd5b6121638461210c565b92506121716020850161210c565b929592945050506040919091013590565b602080825282518282018190525f918401906040840190835b818110156121cf57835173ffffffffffffffffffffffffffffffffffffffff1683526020938401939092019160010161219b565b509095945050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f60208284031215612217575f80fd5b5051919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b81810381811115610c9e57610c9e61221e565b8082028115828204841417610c9e57610c9e61221e565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f826122d5577f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b500490565b6fffffffffffffffffffffffffffffffff8281168282160390811115610c9e57610c9e61221e565b5f82357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc1833603018112612334575f80fd5b9190910192915050565b81835281816020850137505f602082840101525f60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b602080825281018290525f6040600584901b8301810190830185837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc136839003015b878210156124b3577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08786030184528235818112612403575f80fd5b890173ffffffffffffffffffffffffffffffffffffffff6124238261210c565b16865260208101357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe182360301811261245a575f80fd5b0160208101903567ffffffffffffffff811115612475575f80fd5b803603821315612483575f80fd5b6040602088015261249860408801828461233e565b965050506020830192506020840193506001820191506123c7565b5092979650505050505050565b5f80858511156124ce575f80fd5b838611156124da575f80fd5b5050820193919092039150565b80357fffffffff000000000000000000000000000000000000000000000000000000008116906004841015612546577fffffffff00000000000000000000000000000000000000000000000000000000808560040360031b1b82161691505b5092915050565b73ffffffffffffffffffffffffffffffffffffffff84168152604060208201525f61257c60408301848661233e565b95945050505050565b6fffffffffffffffffffffffffffffffff8181168382160190811115610c9e57610c9e61221e565b80820180821115610c9e57610c9e61221e565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603160045260245ffd5b5f82518060208501845e5f920191825250919050565b80518015158114611cd0575f80fd5b5f8060408385031215612623575f80fd5b61262c83612603565b9150602083015163ffffffff81168114612644575f80fd5b809150509250929050565b5f6020828403121561265f575f80fd5b6119928261260356fea2646970667358221220e9b5e627cd3389acd5cc4adc50a468df2d4879e58e4c71ba56636ef63d8b5b6064736f6c634300081a0033000000000000000000000000cc9a3e8205ab60e613a044efcea5d3479187acee0000000000000000000000002d71cc054aa096a1b3739d67303f88c75b1d59dc