0 txs
1 call
constructor
constructor(address _initialRescuer, address _initialExecutor, string _strategyName, address _treasuryReservesVault, address _templeToken)
functions
apiVersion
viewfunction apiVersion() view returns (string)
executor
viewfunction executor() view returns (address)
explicitFunctionAccess
viewfunction explicitFunctionAccess(address, bytes4) view returns (bool)
inRescueMode
viewfunction inRescueMode() view returns (bool)
latestAssetBalances
viewfunction latestAssetBalances() view returns (tuple[] assetBalances)
manualAdjustments
viewfunction manualAdjustments() view returns (tuple[] adjustments)
rescuer
viewfunction rescuer() view returns (address)
strategyName
viewfunction strategyName() view returns (string)
strategyVersion
purefunction strategyVersion() pure returns (string)
templeToken
viewfunction templeToken() view returns (address)
treasuryReservesVault
viewfunction treasuryReservesVault() view returns (address)
acceptExecutor
nonpayablefunction acceptExecutor()
acceptRescuer
nonpayablefunction acceptRescuer()
automatedShutdown
nonpayablefunction automatedShutdown(bytes shutdownParamsData)
borrowAndDeposit
nonpayablefunction borrowAndDeposit(uint256 amount)
checkpointAssetBalances
nonpayablefunction checkpointAssetBalances() returns (tuple[])
debtCeilingUpdated
nonpayablefunction debtCeilingUpdated(address token, uint256 newDebtCeiling)
populateShutdownData
nonpayablefunction populateShutdownData(bytes populateParamsData) returns (bytes shutdownParamsData)
proposeNewExecutor
nonpayablefunction proposeNewExecutor(address account)
proposeNewRescuer
nonpayablefunction proposeNewRescuer(address account)
recoverToken
nonpayablefunction recoverToken(address token, address to, uint256 amount)
setExplicitAccess
nonpayablefunction setExplicitAccess(address allowedCaller, tuple[] access)
setManualAdjustments
nonpayablefunction setManualAdjustments(tuple[] adjustments)
setRescueMode
nonpayablefunction setRescueMode(bool value)
setTokenAllowance
nonpayablefunction setTokenAllowance(address token, address spender, uint256 amount)
setTreasuryReservesVault
nonpayablefunction setTreasuryReservesVault(address _trv)
trvDeposit
nonpayablefunction trvDeposit(uint256 amount)
trvWithdraw
nonpayablefunction trvWithdraw(uint256 requestedAmount) returns (uint256)
events
AssetBalancesCheckpoint
event AssetBalancesCheckpoint((address asset, uint256 balance)[] assetBalances)
ExplicitAccessSet
event ExplicitAccessSet(address indexed account, bytes4 indexed fnSelector, bool indexed value)
ManualAdjustmentsSet
event ManualAdjustmentsSet((address asset, int256 delta)[] adjustments)
NewExecutorAccepted
event NewExecutorAccepted(address indexed oldExecutor, address indexed newExecutor)
NewExecutorProposed
event NewExecutorProposed(address indexed oldExecutor, address indexed oldProposedExecutor, address indexed newProposedExecutor)
NewRescuerAccepted
event NewRescuerAccepted(address indexed oldRescuer, address indexed newRescuer)
NewRescuerProposed
event NewRescuerProposed(address indexed oldRescuer, address indexed oldProposedRescuer, address indexed newProposedRescuer)
RescueModeSet
event RescueModeSet(bool indexed value)
Shutdown
event Shutdown()
TempleBurned
event TempleBurned(uint256 amount)
TempleMinted
event TempleMinted(uint256 amount)
TokenAllowanceSet
event TokenAllowanceSet(address token, address spender, uint256 amount)
TreasuryReservesVaultSet
event TreasuryReservesVaultSet(address indexed trv)
errors
ExpectedNonZero
error ExpectedNonZero()
InvalidAccess
error InvalidAccess()
InvalidAddress
error InvalidAddress()
InvalidVersion
error InvalidVersion(string expected, string actual)
OnlyTreasuryReserveVault
error OnlyTreasuryReserveVault(address caller)
Unimplemented
error Unimplemented()
creation bytecode
0x60a06040523480156200001157600080fd5b5060405162002cfc38038062002cfc83398101604081905262000034916200015c565b8484848483836001600160a01b038216620000625760405163e6c4247b60e01b815260040160405180910390fd5b6001600160a01b0381166200008a5760405163e6c4247b60e01b815260040160405180910390fd5b816001600160a01b0316816001600160a01b031603620000bd5760405163e6c4247b60e01b815260040160405180910390fd5b600080546001600160a01b039384166001600160a01b031991821617909155600180549290931691161790556005620000f783826200030b565b50600680546001600160a01b0319166001600160a01b039283161790559390931660805250620003d795505050505050565b80516001600160a01b03811681146200014157600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b600080600080600060a086880312156200017557600080fd5b620001808662000129565b945060206200019181880162000129565b60408801519095506001600160401b0380821115620001af57600080fd5b818901915089601f830112620001c457600080fd5b815181811115620001d957620001d962000146565b604051601f8201601f19908116603f0116810190838211818310171562000204576200020462000146565b816040528281528c868487010111156200021d57600080fd5b600093505b8284101562000241578484018601518185018701529285019262000222565b6000868483010152809850505050505050620002606060870162000129565b9150620002706080870162000129565b90509295509295909350565b600181811c908216806200029157607f821691505b602082108103620002b257634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200030657600081815260208120601f850160051c81016020861015620002e15750805b601f850160051c820191505b818110156200030257828155600101620002ed565b5050505b505050565b81516001600160401b0381111562000327576200032762000146565b6200033f816200033884546200027c565b84620002b8565b602080601f8311600181146200037757600084156200035e5750858301515b600019600386901b1c1916600185901b17855562000302565b600085815260208120601f198616915b82811015620003a85788860151825594840194600190910190840162000387565b5085821015620003c75787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6080516128ed6200040f60003960008181610359015281816110ef015281816113380152818161141201526117bc01526128ed6000f3fe608060405234801561001057600080fd5b50600436106101c45760003560e01c8063a25db5e2116100f9578063daeccc7911610097578063e321453411610071578063e321453414610412578063e337e11d1461041a578063eecb7c1b1461042d578063f40902561461044e57600080fd5b8063daeccc79146103c9578063db4f5e23146103f7578063e173ad251461040a57600080fd5b8063bfccf0ec116100d3578063bfccf0ec1461037b578063c34c08e51461038e578063ce5c715a146103ae578063d9a349c1146103b657600080fd5b8063a25db5e214610286578063a7229fd914610341578063b1a9069c1461035457600080fd5b806325829410116101665780635137bf16116101405780635137bf16146102fe57806359eef8ce146103115780638112c4af146103245780638fece34b1461032c57600080fd5b8063258294101461028657806338a63183146102c85780634a6c983b146102e857600080fd5b8063101d1684116101a2578063101d1684146102045780631810fe7f1461024e5780631ed760b41461026b5780631f2114051461027e57600080fd5b8063032ef901146101c957806307f184f1146101de578063097b144e146101f1575b600080fd5b6101dc6101d73660046121a3565b610461565b005b6101dc6101ec3660046121e9565b610510565b6101dc6101ff366004612206565b610648565b6006546102249073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b60035461025b9060ff1681565b6040519015158152602001610245565b6101dc610279366004612247565b610715565b6101dc61076a565b60408051808201909152600581527f312e302e3000000000000000000000000000000000000000000000000000000060208201525b60405161024591906122e1565b6000546102249073ffffffffffffffffffffffffffffffffffffffff1681565b6102bb6102f63660046122f4565b606092915050565b6101dc61030c3660046123b2565b610889565b6101dc61031f3660046121e9565b61098c565b6101dc610c5b565b610334610d9b565b60405161024591906123f4565b6101dc61034f366004612206565b610daa565b6102247f000000000000000000000000000000000000000000000000000000000000000081565b6101dc610389366004612459565b610e9b565b6001546102249073ffffffffffffffffffffffffffffffffffffffff1681565b6103346110a2565b6101dc6103c43660046121e9565b61114f565b61025b6103d73660046124e3565b600260209081526000928352604080842090915290825290205460ff1681565b6101dc610405366004612518565b611294565b6102bb611486565b610334611514565b6101dc6104283660046122f4565b611596565b61044061043b366004612518565b6116ac565b604051908152602001610245565b6101dc61045c366004612518565b61181f565b60005473ffffffffffffffffffffffffffffffffffffffff1633146104b2576040517fc0185c6400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604051811515907f18f4a9a726c72020fd959c636d2fd464c6cefe90afeaea3c830b971614cf70b690600090a2600380547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016911515919091179055565b60005473ffffffffffffffffffffffffffffffffffffffff163314610561576040517fc0185c6400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff81166105ae576040517fe6c4247b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60035460405173ffffffffffffffffffffffffffffffffffffffff808416926101009004169033907f374d23b359cab0f8963c5c1715a6de7974f53af00aecc27de50d93906b70943e90600090a46003805473ffffffffffffffffffffffffffffffffffffffff909216610100027fffffffffffffffffffffff0000000000000000000000000000000000000000ff909216919091179055565b610676336000357fffffffff00000000000000000000000000000000000000000000000000000000166118dc565b6106ac576040517fc0185c6400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6106b78383836119a0565b6040805173ffffffffffffffffffffffffffffffffffffffff8086168252841660208201529081018290527f85032ae4f0dd2efe545913ee631b73ca7fb27bd0ae39e9286c858fc36e63d2c5906060015b60405180910390a1505050565b60065473ffffffffffffffffffffffffffffffffffffffff163314610766576040517fc0185c6400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b60045473ffffffffffffffffffffffffffffffffffffffff1633146107bb576040517fc0185c6400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005473ffffffffffffffffffffffffffffffffffffffff16330361080c576040517fe6c4247b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600154604051339173ffffffffffffffffffffffffffffffffffffffff16907fe963dc9c0d2165b080440a5d2665566142f2426b1ea15f3da8390b0fd336b06490600090a3600180547fffffffffffffffffffffffff00000000000000000000000000000000000000009081163317909155600480549091169055565b6108b7336000357fffffffff00000000000000000000000000000000000000000000000000000000166118dc565b6108ed576040517fc0185c6400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6108f96007600061212f565b8060005b8181101561095a57600784848381811061091957610919612531565b8354600181018555600094855260209094206040909102929092019260020290910190506109478282612560565b505080610953906125e7565b90506108fd565b507fe2aaf97f8a394deb25ef28ece557e81cd39898e1aaeb203b0afacc5eb847a6b3838360405161070892919061261f565b6109ba336000357fffffffff00000000000000000000000000000000000000000000000000000000166118dc565b6109f0576040517fc0185c6400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8116610a3d576040517fe6c4247b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60405173ffffffffffffffffffffffffffffffffffffffff8216907ff7f85d5ad92cb1211156f4001d74d075fc49b5ae4b9acf69826291357401125790600090a2600680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8316908117909155604080517f25829410000000000000000000000000000000000000000000000000000000008152905160009291632582941091600480830192869291908290030181865afa158015610b17573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052610b5d91908101906126b4565b9050610b9960408051808201909152600581527f312e302e30000000000000000000000000000000000000000000000000000000602082015290565b604051602001610ba99190612774565b6040516020818303038152906040528051906020012081604051602001610bd09190612774565b604051602081830303815290604052805190602001201461076657604080518082018252600581527f312e302e30000000000000000000000000000000000000000000000000000000602082015290517f4204c148000000000000000000000000000000000000000000000000000000008152610c5291908390600401612790565b60405180910390fd5b600354610100900473ffffffffffffffffffffffffffffffffffffffff163314610cb1576040517fc0185c6400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60015473ffffffffffffffffffffffffffffffffffffffff163303610d02576040517fe6c4247b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008054604051339273ffffffffffffffffffffffffffffffffffffffff909216917ff07131157ebea15896dc89264eb9a7572e67cc9fad6b855015730fcec10704e091a3600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001633179055600380547fffffffffffffffffffffff0000000000000000000000000000000000000000ff169055565b6060610da56110a2565b905090565b610dd8336000357fffffffff00000000000000000000000000000000000000000000000000000000166118dc565b610e0e576040517fc0185c6400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f879f92dded0f26b83c3e00b12e0395dc72cfc3077343d1854ed6988edd1f909683604051610e6d91815260200190565b60405180910390a3610e9673ffffffffffffffffffffffffffffffffffffffff84168383611a8a565b505050565b610ec9336000357fffffffff00000000000000000000000000000000000000000000000000000000166118dc565b610eff576040517fc0185c6400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8316610f4c576040517fe6c4247b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040805180820190915260008082526020820152819060005b8281101561109a57848482818110610f7f57610f7f612531565b905060400201803603810190610f9591906127be565b91508160200151151582600001517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168773ffffffffffffffffffffffffffffffffffffffff167ff5736e75de2c751f775d4c5ed517289f77074f8c337f451ba4c0c3ed1dd7f9ad60405160405180910390a460208281015173ffffffffffffffffffffffffffffffffffffffff8816600090815260028352604080822086517fffffffff000000000000000000000000000000000000000000000000000000001683529093529190912080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016911515919091179055611093816125e7565b9050610f65565b505050505050565b604080516001808252818301909252606091816020015b60408051808201909152600080825260208201528152602001906001900390816110b957905050905060405180604001604052807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16815260200160008152508160008151811061114157611141612531565b602002602001018190525090565b61117d336000357fffffffff00000000000000000000000000000000000000000000000000000000166118dc565b6111b3576040517fc0185c6400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8116611200576040517fe6c4247b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60045460015460405173ffffffffffffffffffffffffffffffffffffffff8085169381169216907f4857570a90fe0a0fc580e89a287e77576141ac8e2e8b3710cd26db44f44156c190600090a4600480547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b6112c2336000357fffffffff00000000000000000000000000000000000000000000000000000000166118dc565b6112f8576040517fc0185c6400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6006546040517f6c665a5500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000811660048301526024820184905230604483015290911690636c665a5590606401600060405180830381600087803b15801561139257600080fd5b505af11580156113a6573d6000803e3d6000fd5b505050507f038c3960ed480af7eb250186e5f0f1357a33c0c6abf350b1953780f1cfd2bd70816040516113db91815260200190565b60405180910390a16040517f42966c68000000000000000000000000000000000000000000000000000000008152600481018290527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16906342966c6890602401600060405180830381600087803b15801561146b57600080fd5b505af115801561147f573d6000803e3d6000fd5b5050505050565b600580546114939061281b565b80601f01602080910402602001604051908101604052809291908181526020018280546114bf9061281b565b801561150c5780601f106114e15761010080835404028352916020019161150c565b820191906000526020600020905b8154815290600101906020018083116114ef57829003601f168201915b505050505081565b60606007805480602002602001604051908101604052809291908181526020016000905b8282101561158d5760008481526020908190206040805180820190915260028502909101805473ffffffffffffffffffffffffffffffffffffffff168252600190810154828401529083529092019101611538565b50505050905090565b6115c4336000357fffffffff00000000000000000000000000000000000000000000000000000000166118dc565b6115fa576040517fc0185c6400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6116048282611b5e565b6040517f4426aa1fb73e391071491fcfe21a88b5c38a0a0333a1f6e77161470439704cf890600090a16006546040517fcce2f3fb00000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff9091169063cce2f3fb90602401600060405180830381600087803b15801561169857600080fd5b505af115801561109a573d6000803e3d6000fd5b60065460009073ffffffffffffffffffffffffffffffffffffffff16338114611703576040517fbc1e53f7000000000000000000000000000000000000000000000000000000008152336004820152602401610c52565b8260000361173d576040517f54db0c8c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040518381527f9b1e2bce37f9871bdb14f78132f8b09f25fc535697415966de4537f8b84a12c59060200160405180910390a16040517f40c10f1900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8281166004830152602482018590527f000000000000000000000000000000000000000000000000000000000000000016906340c10f1990604401600060405180830381600087803b15801561180057600080fd5b505af1158015611814573d6000803e3d6000fd5b509495945050505050565b60065473ffffffffffffffffffffffffffffffffffffffff163314611872576040517fbc1e53f7000000000000000000000000000000000000000000000000000000008152336004820152602401610c52565b806000036118ac576040517f54db0c8c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040518181527f038c3960ed480af7eb250186e5f0f1357a33c0c6abf350b1953780f1cfd2bd70906020016113db565b60035460009060ff161561190e575060005473ffffffffffffffffffffffffffffffffffffffff83811691161461199a565b60015473ffffffffffffffffffffffffffffffffffffffff84811691161480611989575073ffffffffffffffffffffffffffffffffffffffff831660009081526002602090815260408083207fffffffff000000000000000000000000000000000000000000000000000000008616845290915290205460ff165b156119965750600161199a565b5060005b92915050565b6040517fdd62ed3e00000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff838116602483015284169063dd62ed3e90604401602060405180830381865afa158015611a12573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a36919061286e565b8103611a4157505050565b611a6373ffffffffffffffffffffffffffffffffffffffff8416836000611b90565b8015610e9657610e9673ffffffffffffffffffffffffffffffffffffffff84168383611d12565b60405173ffffffffffffffffffffffffffffffffffffffff8316602482015260448101829052610e969084907fa9059cbb00000000000000000000000000000000000000000000000000000000906064015b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152611e11565b6040517f6e12839900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b801580611c3057506040517fdd62ed3e00000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff838116602483015284169063dd62ed3e90604401602060405180830381865afa158015611c0a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c2e919061286e565b155b611cbc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603660248201527f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60448201527f20746f206e6f6e2d7a65726f20616c6c6f77616e6365000000000000000000006064820152608401610c52565b60405173ffffffffffffffffffffffffffffffffffffffff8316602482015260448101829052610e969084907f095ea7b30000000000000000000000000000000000000000000000000000000090606401611adc565b6040517fdd62ed3e00000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff83811660248301526000919085169063dd62ed3e90604401602060405180830381865afa158015611d88573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611dac919061286e565b9050611e0b847f095ea7b30000000000000000000000000000000000000000000000000000000085611dde8686612887565b60405173ffffffffffffffffffffffffffffffffffffffff90921660248301526044820152606401611adc565b50505050565b6000611e73826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16611f209092919063ffffffff16565b9050805160001480611e94575080806020019051810190611e94919061289a565b610e96576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152608401610c52565b6060611f2f8484600085611f37565b949350505050565b606082471015611fc9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c00000000000000000000000000000000000000000000000000006064820152608401610c52565b6000808673ffffffffffffffffffffffffffffffffffffffff168587604051611ff29190612774565b60006040518083038185875af1925050503d806000811461202f576040519150601f19603f3d011682016040523d82523d6000602084013e612034565b606091505b509150915061204587838387612050565b979650505050505050565b606083156120e65782516000036120df5773ffffffffffffffffffffffffffffffffffffffff85163b6120df576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610c52565b5081611f2f565b611f2f83838151156120fb5781518083602001fd5b806040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c5291906122e1565b50805460008255600202906000526020600020908101906121509190612153565b50565b5b808211156121915780547fffffffffffffffffffffffff000000000000000000000000000000000000000016815560006001820155600201612154565b5090565b801515811461215057600080fd5b6000602082840312156121b557600080fd5b81356121c081612195565b9392505050565b73ffffffffffffffffffffffffffffffffffffffff8116811461215057600080fd5b6000602082840312156121fb57600080fd5b81356121c0816121c7565b60008060006060848603121561221b57600080fd5b8335612226816121c7565b92506020840135612236816121c7565b929592945050506040919091013590565b6000806040838503121561225a57600080fd5b8235612265816121c7565b946020939093013593505050565b60005b8381101561228e578181015183820152602001612276565b50506000910152565b600081518084526122af816020860160208601612273565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006121c06020830184612297565b6000806020838503121561230757600080fd5b823567ffffffffffffffff8082111561231f57600080fd5b818501915085601f83011261233357600080fd5b81358181111561234257600080fd5b86602082850101111561235457600080fd5b60209290920196919550909350505050565b60008083601f84011261237857600080fd5b50813567ffffffffffffffff81111561239057600080fd5b6020830191508360208260061b85010111156123ab57600080fd5b9250929050565b600080602083850312156123c557600080fd5b823567ffffffffffffffff8111156123dc57600080fd5b6123e885828601612366565b90969095509350505050565b602080825282518282018190526000919060409081850190868401855b8281101561244c578151805173ffffffffffffffffffffffffffffffffffffffff168552860151868501529284019290850190600101612411565b5091979650505050505050565b60008060006040848603121561246e57600080fd5b8335612479816121c7565b9250602084013567ffffffffffffffff81111561249557600080fd5b6124a186828701612366565b9497909650939450505050565b80357fffffffff00000000000000000000000000000000000000000000000000000000811681146124de57600080fd5b919050565b600080604083850312156124f657600080fd5b8235612501816121c7565b915061250f602084016124ae565b90509250929050565b60006020828403121561252a57600080fd5b5035919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b813561256b816121c7565b73ffffffffffffffffffffffffffffffffffffffff81167fffffffffffffffffffffffff000000000000000000000000000000000000000083541617825550602082013560018201555050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612618576126186125b8565b5060010190565b6020808252818101839052600090604080840186845b87811015612678578135612648816121c7565b73ffffffffffffffffffffffffffffffffffffffff16835281850135858401529183019190830190600101612635565b5090979650505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000602082840312156126c657600080fd5b815167ffffffffffffffff808211156126de57600080fd5b818401915084601f8301126126f257600080fd5b81518181111561270457612704612685565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810190838211818310171561274a5761274a612685565b8160405282815287602084870101111561276357600080fd5b612045836020830160208801612273565b60008251612786818460208701612273565b9190910192915050565b6040815260006127a36040830185612297565b82810360208401526127b58185612297565b95945050505050565b6000604082840312156127d057600080fd5b6040516040810181811067ffffffffffffffff821117156127f3576127f3612685565b6040526127ff836124ae565b8152602083013561280f81612195565b60208201529392505050565b600181811c9082168061282f57607f821691505b602082108103612868577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b60006020828403121561288057600080fd5b5051919050565b8082018082111561199a5761199a6125b8565b6000602082840312156128ac57600080fd5b81516121c08161219556fea26469706673582212204bdbd25fa8e0bf186508adc80d615a285d5409271840ce303f45a3da6d4dc86264736f6c634300081300330000000000000000000000009f90430179d9b67341bfa50559bc7b8e35629f1b000000000000000000000000b1e8ab0a81aadf632a653e46caeda1593d71d14300000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000f359bae7b6ad295724e798a3ef6fa5109919f399000000000000000000000000470ebf5f030ed85fc1ed4c2d36b9dd02e77cf1b7000000000000000000000000000000000000000000000000000000000000001254656d706c654261736553747261746567790000000000000000000000000000