0 txs
0 calls
constructor
constructor()
functions
canDeposit
viewfunction canDeposit() view returns (uint256)
canWithdraw
viewfunction canWithdraw() view returns (uint256)
checkUpkeep
viewfunction checkUpkeep(bytes) view returns (bool, bytes)
depositChange
viewfunction depositChange() view returns (int256)
getFees
viewfunction getFees() view returns (tuple[])
getMaxDeposits
viewfunction getMaxDeposits() view returns (uint256)
getMinDeposits
viewfunction getMinDeposits() view returns (uint256)
getTotalDeposits
viewfunction getTotalDeposits() view returns (uint256)
getVaultDepositLimits
viewfunction getVaultDepositLimits() view returns (uint256, uint256)
getVaults
viewfunction getVaults() view returns (address[])
minDepositThreshold
viewfunction minDepositThreshold() view returns (uint256)
owner
viewfunction owner() view returns (address)
pendingFees
viewfunction pendingFees() view returns (uint256)
proxiableUUID
viewfunction proxiableUUID() view returns (bytes32)
stakeController
viewfunction stakeController() view returns (address)
stakingPool
viewfunction stakingPool() view returns (address)
token
viewfunction token() view returns (address)
vaultImplementation
viewfunction vaultImplementation() view returns (address)
withdraw
viewfunction withdraw(uint256) view
__Strategy_init
nonpayablefunction __Strategy_init(address _token, address _stakingPool)
__VaultControllerStrategy_init
nonpayablefunction __VaultControllerStrategy_init(address _token, address _stakingPool, address _stakeController, address _vaultImplementation, uint256 _minDepositThreshold, tuple[] _fees)
addFee
nonpayablefunction addFee(address _receiver, uint256 _feeBasisPoints)
addVault
nonpayablefunction addVault(address _operator)
deposit
nonpayablefunction deposit(uint256 _amount)
depositBufferedTokens
nonpayablefunction depositBufferedTokens(uint256 _startIndex)
initialize
nonpayablefunction initialize(address _token, address _stakingPool, address _stakeController, address _vaultImplementation, uint256 _minDepositThreshold, tuple[] _fees, address[] _initialVaults)
migrateVaults
nonpayablefunction migrateVaults(uint256 _startIndex, uint256 _numVaults, bytes _data)
performUpkeep
nonpayablefunction performUpkeep(bytes _performData)
renounceOwnership
nonpayablefunction renounceOwnership()
setMinDepositThreshold
nonpayablefunction setMinDepositThreshold(uint256 _minDepositThreshold)
setOperator
nonpayablefunction setOperator(uint256 _index, address _operator)
setVaultImplementation
nonpayablefunction setVaultImplementation(address _vaultImplementation)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
updateDeposits
nonpayablefunction updateDeposits() returns (address[] receivers, uint256[] amounts)
updateFee
nonpayablefunction updateFee(uint256 _index, address _receiver, uint256 _feeBasisPoints)
upgradeTo
nonpayablefunction upgradeTo(address newImplementation)
upgradeToAndCall
payablefunction upgradeToAndCall(address newImplementation, bytes data) payable
upgradeVaults
nonpayablefunction upgradeVaults(uint256 _startIndex, uint256 _numVaults, bytes _data)
events
AdminChanged
event AdminChanged(address previousAdmin, address newAdmin)
BeaconUpgraded
event BeaconUpgraded(address indexed beacon)
DepositBufferedTokens
event DepositBufferedTokens(uint256 depositedAmount)
Initialized
event Initialized(uint8 version)
MigratedVaults
event MigratedVaults(uint256 startIndex, uint256 numVaults, bytes data)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
SetMinDepositThreshold
event SetMinDepositThreshold(uint256 minDepositThreshold)
SetVaultImplementation
event SetVaultImplementation(address vaultImplementation)
Upgraded
event Upgraded(address indexed implementation)
UpgradedVaults
event UpgradedVaults(uint256 startIndex, uint256 numVaults, bytes data)
VaultAdded
event VaultAdded(address indexed operator)
errors
No errors.
creation bytecode
0x60a0604052306080523480156200001557600080fd5b506200002062000026565b62000156565b6200003260ff62000035565b50565b60008054610100900460ff1615620000ce578160ff1660011480156200006e57506200006c306200014760201b620022dd1760201c565b155b620000c65760405162461bcd60e51b815260206004820152602e60248201526000805160206200459983398151915260448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b506000919050565b60005460ff8084169116106200012d5760405162461bcd60e51b815260206004820152602e60248201526000805160206200459983398151915260448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401620000bd565b506000805460ff191660ff92909216919091179055600190565b6001600160a01b03163b151590565b60805161440b6200018e60003960008181610c1c01528181610c5f015281816110dc0152818161111f0152611285015261440b6000f3fe608060405260043610620002535760003560e01c80638971d175116200013b578063c175b3d111620000b9578063eb47dc8f1162000078578063eb47dc8f14620002be578063eb63421014620006e4578063eec7da571462000706578063f2fde38b146200071e578063fc0c546a146200074357600080fd5b8063c175b3d11462000633578063db8d55f1146200065b578063e61fbf3c1462000682578063e78a587514620006a7578063e7a1c1c014620006bf57600080fd5b8063b47529c51162000106578063b47529c51462000597578063b51459fe14620005bc578063b6b55f2514620005d4578063b7b7a40814620005f9578063bba48a90146200061157600080fd5b80638971d175146200050c5780638da5cb5b14620005315780639566355b1462000551578063b24c8765146200057f57600080fd5b806344d00f8211620001d557806352d1902d116200019457806352d1902d146200045d57806353e78b6b14620004755780636e04ff0d146200049a578063715018a614620004cf5780637718238f14620004e757600080fd5b806344d00f8214620003b05780634585e33b14620003d75780634b72008f14620003fc5780634f1ef286146200042157806351825761146200043857600080fd5b8063224438d11162000222578063224438d11462000304578063256b5a02146200031c5780632e1a7d4d14620003415780633659cfe61462000366578063396a8b83146200038b57600080fd5b8063011df4c014620002585780630c56ae3b146200027f578063168a482214620002be5780631e0fea9014620002df575b600080fd5b3480156200026557600080fd5b506200027d62000277366004620030c8565b62000765565b005b3480156200028c57600080fd5b5060ca54620002a1906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b348015620002cb57600080fd5b5060cf545b604051908152602001620002b5565b348015620002ec57600080fd5b506200027d620002fe36600462003262565b62000894565b3480156200031157600080fd5b50620002d062000a34565b3480156200032957600080fd5b506200027d6200033b36600462003357565b62000acb565b3480156200034e57600080fd5b506200027d6200036036600462003375565b62000b9c565b3480156200037357600080fd5b506200027d6200038536600462003357565b62000c12565b3480156200039857600080fd5b506200027d620003aa36600462003405565b62000cfd565b348015620003bd57600080fd5b50620003c862000da4565b604051620002b5919062003458565b348015620003e457600080fd5b506200027d620003f6366004620034a7565b62000e08565b3480156200040957600080fd5b506200027d6200041b36600462003375565b62000e93565b6200027d62000432366004620034ec565b620010d2565b3480156200044557600080fd5b506200027d6200045736600462003375565b620011ae565b3480156200046a57600080fd5b50620002d062001278565b3480156200048257600080fd5b506200027d6200049436600462003357565b6200132e565b348015620004a757600080fd5b50620004bf620004b9366004620034a7565b62001409565b604051620002b59291906200359c565b348015620004dc57600080fd5b506200027d62001659565b348015620004f457600080fd5b506200027d62000506366004620035b9565b62001694565b3480156200051957600080fd5b506200027d6200052b366004620035e6565b620017ad565b3480156200053e57600080fd5b506097546001600160a01b0316620002a1565b3480156200055e57600080fd5b50620005696200197a565b60408051928352602083019190915201620002b5565b3480156200058c57600080fd5b50620002d060d15481565b348015620005a457600080fd5b506200027d620005b636600462003679565b620019f3565b348015620005c957600080fd5b50620002d062001c07565b348015620005e157600080fd5b506200027d620005f336600462003375565b62001c44565b3480156200060657600080fd5b50620002d062001cc2565b3480156200061e57600080fd5b5060cd54620002a1906001600160a01b031681565b3480156200064057600080fd5b506200064b62001d0e565b604051620002b5929190620036b1565b3480156200066857600080fd5b506200067362001f33565b604051620002b5919062003739565b3480156200068f57600080fd5b506200027d620006a136600462003793565b62001faa565b348015620006b457600080fd5b50620002d062002018565b348015620006cc57600080fd5b506200027d620006de366004620037cb565b6200204b565b348015620006f157600080fd5b5060cb54620002a1906001600160a01b031681565b3480156200071357600080fd5b50620002d0620020fc565b3480156200072b57600080fd5b506200027d6200073d36600462003357565b6200223e565b3480156200075057600080fd5b5060c954620002a1906001600160a01b031681565b6097546001600160a01b031633146200079b5760405162461bcd60e51b81526004016200079290620037f1565b60405180910390fd5b835b620007a984866200383c565b8110156200084e5760ce8181548110620007c757620007c762003857565b600091825260209091200154604051638932a90d60e01b81526001600160a01b0390911690638932a90d9062000804908690869060040162003896565b600060405180830381600087803b1580156200081f57600080fd5b505af115801562000834573d6000803e3d6000fd5b5050505080806200084590620038ac565b9150506200079d565b507f5bb7c7377d014c56b55e799b3aa7823ebf510e1a494cc6c3a57e9121e7e1605a84848484604051620008869493929190620038c8565b60405180910390a150505050565b6000620008a26001620022ec565b90508015620008bb576000805461ff0019166101001790555b620008cb898989898989620017ad565b60005b82811015620009e1576000848483818110620008ee57620008ee62003857565b905060200201602081019062000905919062003357565b60ce80546001810182556000919091527fd36cd1c74ef8d7326d8021b776c18fb5a5724b7f7bc93c2f42e43e10ef27d12a0180546001600160a01b0319166001600160a01b0383811691821790925560c95460405163095ea7b360e01b81526004810192909252600019602483015292935091169063095ea7b3906044016020604051808303816000875af1158015620009a3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620009c99190620038ea565b50508080620009d890620038ac565b915050620008ce565b50801562000a29576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050505050505050565b60008062000a41620020fc565b905060008082131562000ac55760005b60cc5481101562000ac35761271060cc828154811062000a755762000a7562003857565b9060005260206000209060020201600101548462000a9491906200390e565b62000aa0919062003930565b62000aac90836200383c565b91508062000aba81620038ac565b91505062000a51565b505b92915050565b6097546001600160a01b0316331462000af85760405162461bcd60e51b81526004016200079290620037f1565b60c95460cb546040516001600160a01b0392831660248201523060448201529082166064820152908216608482015260009060a40160408051601f198184030181529190526020810180516001600160e01b0316637c643b2f60e11b179052905062000b648162002381565b6040516001600160a01b038316907f7b7ef7a864d96a85497a1ed846adb39940dd6ccef678ff6ac8d55505e09b8cc490600090a25050565b60ca546001600160a01b0316331462000bc95760405162461bcd60e51b8152600401620007929062003953565b60405162461bcd60e51b815260206004820152601f60248201527f7769746864726177616c73206e6f742079657420696d706c656d656e74656400604482015260640162000792565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300362000c5d5760405162461bcd60e51b815260040162000792906200397d565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031662000ca86000805160206200438f833981519152546001600160a01b031690565b6001600160a01b03161462000cd15760405162461bcd60e51b81526004016200079290620039c9565b62000cdc816200243d565b6040805160008082526020820190925262000cfa918391906200246a565b50565b6097546001600160a01b0316331462000d2a5760405162461bcd60e51b81526004016200079290620037f1565b825b62000d3883856200383c565b81101562000d615762000d4c8183620025e2565b8062000d5881620038ac565b91505062000d2c565b507f71ddb05108536dca4ade6ad9f2cec5fd3e84727523ab1e86b135ea47f79dfe8e83838360405162000d979392919062003a15565b60405180910390a1505050565b606060ce80548060200260200160405190810160405280929190818152602001828054801562000dfe57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831162000ddf575b5050505050905090565b60d15460d054101562000e715760405162461bcd60e51b815260206004820152602a60248201527f4d696e696d756d206465706f736974207468726573686f6c6420686173206e6f6044820152691d081899595b881b595d60b21b606482015260840162000792565b600062000e818284018462003375565b905062000e8e8162000e93565b505050565b60008062000ea06200197a565b60ce54919350915062000eb69060019062003a36565b83148062000f4d57508060ce848154811062000ed65762000ed662003857565b6000918252602091829020015460408051631ae665a560e01b815290516001600160a01b0390921692631ae665a5926004808401938290030181865afa15801562000f25573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000f4b919062003a50565b105b62000faa5760405162461bcd60e51b815260206004820152602660248201527f43616e6e6f74206465706f73697420696e746f207661756c74207468617420696044820152651cc8199d5b1b60d21b606482015260840162000792565b8215806200104e57508060ce62000fc360018662003a36565b8154811062000fd65762000fd662003857565b6000918252602091829020015460408051631ae665a560e01b815290516001600160a01b0390921692631ae665a5926004808401938290030181865afa15801562001025573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200104b919062003a50565b10155b620010c25760405162461bcd60e51b815260206004820152603a60248201527f43616e6e6f74206465706f73697420696e746f207661756c74206966206c6f7760448201527f657220696e646578207661756c74206973206e6f742066756c6c000000000000606482015260840162000792565b62000e8e8360d0548484620026b8565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036200111d5760405162461bcd60e51b815260040162000792906200397d565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316620011686000805160206200438f833981519152546001600160a01b031690565b6001600160a01b031614620011915760405162461bcd60e51b81526004016200079290620039c9565b6200119c826200243d565b620011aa828260016200246a565b5050565b6097546001600160a01b03163314620011db5760405162461bcd60e51b81526004016200079290620037f1565b6000620011e76200197a565b509050808210156200123c5760405162461bcd60e51b815260206004820152601d60248201527f496e76616c6964206d696e206465706f736974207468726573686f6c64000000604482015260640162000792565b60d18290556040518281527fbaafcf7c1d05d165d3e39aa3a9535641b8c8747a041fd42923a0790e93fdec809060200160405180910390a15050565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146200131a5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c0000000000000000606482015260840162000792565b506000805160206200438f83398151915290565b6097546001600160a01b031633146200135b5760405162461bcd60e51b81526004016200079290620037f1565b803b620013b55760405162461bcd60e51b815260206004820152602160248201527f41646472657373206d7573742062656c6f6e6720746f206120636f6e747261636044820152601d60fa1b606482015260840162000792565b60cd80546001600160a01b0319166001600160a01b0383169081179091556040519081527f028cd482b99a4d21fe2c757cd8fc155d8dcce718854d0f63e40819069339a49d9060200160405180910390a150565b6000606060cb60009054906101000a90046001600160a01b03166001600160a01b03166322f3e2d46040518163ffffffff1660e01b8152600401602060405180830381865afa15801562001461573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620014879190620038ea565b158062001509575060cb60009054906101000a90046001600160a01b03166001600160a01b031663b187bd266040518163ffffffff1660e01b8152600401602060405180830381865afa158015620014e3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620015099190620038ea565b1562001528575050604080516020810190915260008082529062001652565b60d15460d05410156200154e575050604080516020810190915260008082529062001652565b60006200155a6200197a565b915060009050805b60ce548110156200162557600060ce828154811062001585576200158562003857565b6000918252602091829020015460408051631ae665a560e01b815290516001600160a01b0390921692631ae665a5926004808401938290030181865afa158015620015d4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620015fa919062003a50565b9050838110156200160f578192505062001625565b50806200161c81620038ac565b91505062001562565b506001816040516020016200163c91815260200190565b6040516020818303038152906040529350935050505b9250929050565b6097546001600160a01b03163314620016865760405162461bcd60e51b81526004016200079290620037f1565b62001692600062002738565b565b6097546001600160a01b03163314620016c15760405162461bcd60e51b81526004016200079290620037f1565b604080518082019091526001600160a01b0383811682526020820183815260cc805460018101825560009190915292517f47197230e1e4b29fc0bd84d7d78966c0925452aff72a2a121538b102457e9ebe600290940293840180546001600160a01b0319169190931617909155517f47197230e1e4b29fc0bd84d7d78966c0925452aff72a2a121538b102457e9ebf90910155611388620017616200278a565b1115620011aa5760405162461bcd60e51b8152602060048201526019602482015278546f74616c2066656573206d757374206265203c3d2035302560381b604482015260640162000792565b600054610100900460ff16620017d75760405162461bcd60e51b8152600401620007929062003a6a565b620017e3868662001faa565b60cb80546001600160a01b0319166001600160a01b038616179055823b6200186d5760405162461bcd60e51b815260206004820152603660248201527f5661756c7420696d706c656d656e746174696f6e2061646472657373206d75736044820152751d0818995b1bdb99c81d1bc8184818dbdb9d1c9858dd60521b606482015260840162000792565b60cd80546001600160a01b0319166001600160a01b0385161790556000620018946200197a565b50905080831015620018e95760405162461bcd60e51b815260206004820152601d60248201527f496e76616c6964206d696e206465706f736974207468726573686f6c64000000604482015260640162000792565b60d183905560005b8251811015620019705760cc83828151811062001912576200191262003857565b602090810291909101810151825460018082018555600094855293839020825160029092020180546001600160a01b0319166001600160a01b03909216919091178155910151910155806200196781620038ac565b915050620018f1565b5050505050505050565b60cb5460408051638856398f60e01b8152815160009384936001600160a01b0390911692638856398f92600480830193928290030181865afa158015620019c5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620019eb919062003ab5565b915091509091565b6097546001600160a01b0316331462001a205760405162461bcd60e51b81526004016200079290620037f1565b60cc54831062001a685760405162461bcd60e51b815260206004820152601260248201527111995948191bd95cc81b9bdd08195e1a5cdd60721b604482015260640162000792565b8060000362001b355760cc805462001a839060019062003a36565b8154811062001a965762001a9662003857565b906000526020600020906002020160cc848154811062001aba5762001aba62003857565b60009182526020909120825460029092020180546001600160a01b0319166001600160a01b0390921691909117815560019182015491015560cc80548062001b065762001b0662003ada565b60008281526020812060026000199093019283020180546001600160a01b031916815560010155905562001bae565b8160cc848154811062001b4c5762001b4c62003857565b906000526020600020906002020160000160006101000a8154816001600160a01b0302191690836001600160a01b031602179055508060cc848154811062001b985762001b9862003857565b9060005260206000209060020201600101819055505b61138862001bbb6200278a565b111562000e8e5760405162461bcd60e51b8152602060048201526019602482015278546f74616c2066656573206d757374206265203c3d2035302560381b604482015260640162000792565b60008062001c1460cf5490565b905062001c2060cf5490565b811162001c2f57600091505090565b60cf5462001c3e908262003a36565b91505090565b60ca546001600160a01b0316331462001c715760405162461bcd60e51b8152600401620007929062003953565b60c95462001c8b906001600160a01b0316333084620027ed565b8060cf600082825462001c9f91906200383c565b925050819055508060d0600082825462001cba91906200383c565b909155505050565b60008062001ccf6200197a565b91505060d05460dc5462001ce491906200383c565b60ce5462001cf390836200390e565b60cf5462001d0291906200383c565b62001c3e919062003a36565b60ca5460609081906001600160a01b0316331462001d405760405162461bcd60e51b8152600401620007929062003953565b600062001d4c620020fc565b9050600081131562001efd578060cf600082825462001d6c91906200383c565b909155505060cc546001600160401b0381111562001d8e5762001d8e62003136565b60405190808252806020026020018201604052801562001db8578160200160208202803683370190505b5060cc549093506001600160401b0381111562001dd95762001dd962003136565b60405190808252806020026020018201604052801562001e03578160200160208202803683370190505b50915060005b60cc5481101562001ef75760cc818154811062001e2a5762001e2a62003857565b600091825260209091206002909102015484516001600160a01b039091169085908390811062001e5e5762001e5e62003857565b60200260200101906001600160a01b031690816001600160a01b03168152505061271060cc828154811062001e975762001e9762003857565b9060005260206000209060020201600101548362001eb691906200390e565b62001ec2919062003930565b83828151811062001ed75762001ed762003857565b60209081029190910101528062001eee81620038ac565b91505062001e09565b50509091565b600081121562001f2e5762001f158160001962003af0565b60cf600082825462001f28919062003a36565b90915550505b509091565b606060cc805480602002602001604051908101604052809291908181526020016000905b8282101562001fa1576000848152602090819020604080518082019091526002850290910180546001600160a01b0316825260019081015482840152908352909201910162001f57565b50505050905090565b600054610100900460ff1662001fd45760405162461bcd60e51b8152600401620007929062003a6a565b60c980546001600160a01b038085166001600160a01b03199283161790925560ca8054928416929091169190911790556200200e62002860565b620011aa62002894565b6000806200202560cf5490565b90506200203162001cc2565b81106200204057600091505090565b8062001d0262001cc2565b6097546001600160a01b03163314620020785760405162461bcd60e51b81526004016200079290620037f1565b60ce82815481106200208e576200208e62003857565b60009182526020909120015460405163b3ab15fb60e01b81526001600160a01b0383811660048301529091169063b3ab15fb90602401600060405180830381600087803b158015620020df57600080fd5b505af1158015620020f4573d6000803e3d6000fd5b505050505050565b60c9546040516370a0823160e01b815230600482015260009182916001600160a01b03909116906370a0823190602401602060405180830381865afa1580156200214a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002170919062003a50565b905060005b60ce548110156200222e5760ce818154811062002196576200219662003857565b6000918252602091829020015460408051630b45241160e11b815290516001600160a01b039092169263168a4822926004808401938290030181865afa158015620021e5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200220b919062003a50565b6200221790836200383c565b9150806200222581620038ac565b91505062002175565b5060cf5462001c3e908262003b81565b6097546001600160a01b031633146200226b5760405162461bcd60e51b81526004016200079290620037f1565b6001600160a01b038116620022d25760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840162000792565b62000cfa8162002738565b6001600160a01b03163b151590565b60008054610100900460ff161562002338578160ff166001148015620023115750303b155b620023305760405162461bcd60e51b8152600401620007929062003bc6565b506000919050565b60005460ff808416911610620023625760405162461bcd60e51b8152600401620007929062003bc6565b506000805460ff191660ff92909216919091179055600190565b919050565b60cd546040516000916001600160a01b0316908390620023a19062003076565b620023ae92919062003c14565b604051809103906000f080158015620023cb573d6000803e3d6000fd5b5060c954909150620023ea906001600160a01b031682600019620028be565b60ce80546001810182556000919091527fd36cd1c74ef8d7326d8021b776c18fb5a5724b7f7bc93c2f42e43e10ef27d12a0180546001600160a01b0319166001600160a01b039290921691909117905550565b6097546001600160a01b0316331462000cfa5760405162461bcd60e51b81526004016200079290620037f1565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615620024a05762000e8e83620029db565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015620024fd575060408051601f3d908101601f19168201909252620024fa9181019062003a50565b60015b620025625760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b606482015260840162000792565b6000805160206200438f8339815191528114620025d45760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b606482015260840162000792565b5062000e8e83838362002a7a565b600060ce8381548110620025fa57620025fa62003857565b600091825260208220015483516001600160a01b0390911692509003620026825760cd54604051631b2ce7f360e11b81526001600160a01b03918216600482015290821690633659cfe6906024015b600060405180830381600087803b1580156200266457600080fd5b505af115801562002679573d6000803e3d6000fd5b50505050505050565b60cd5460405163278f794360e11b81526001600160a01b0383811692634f1ef28692620026499290911690869060040162003c14565b6000620026c88585858562002aa5565b90508060dc6000828254620026de91906200383c565b925050819055508060d06000828254620026f9919062003a36565b90915550506040518181527fa4bed97b3bf449a46f6055021be066b9cdc8927761583826eeebb69a6fdaac979060200160405180910390a15050505050565b609780546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60008060005b60cc54811015620027e75760cc8181548110620027b157620027b162003857565b90600052602060002090600202016001015482620027d091906200383c565b915080620027de81620038ac565b91505062002790565b50919050565b6040516001600160a01b03808516602483015283166044820152606481018290526200285a9085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915262002c95565b50505050565b600054610100900460ff166200288a5760405162461bcd60e51b8152600401620007929062003a6a565b6200169262002d6e565b600054610100900460ff16620016925760405162461bcd60e51b8152600401620007929062003a6a565b8015806200293c5750604051636eb1769f60e11b81523060048201526001600160a01b03838116602483015284169063dd62ed3e90604401602060405180830381865afa15801562002914573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200293a919062003a50565b155b620029a95760405162461bcd60e51b815260206004820152603660248201527f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60448201527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b606482015260840162000792565b6040516001600160a01b03831660248201526044810182905262000e8e90849063095ea7b360e01b9060640162002822565b6001600160a01b0381163b62002a4a5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b606482015260840162000792565b6000805160206200438f83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b62002a858362002da3565b60008251118062002a935750805b1562000e8e576200285a838362002de5565b600083855b60ce5481101562002c7e57600060ce828154811062002acd5762002acd62003857565b600091825260208083209091015460408051631ae665a560e01b815290516001600160a01b0390921694508492631ae665a5926004808401938290030181865afa15801562002b20573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002b46919062003a50565b9050600062002b56828862003a36565b9050878210801562002b72575062002b6f828962003a36565b85105b1562002b815750505062002c7e565b8085111562002bfc5760405163b6b55f2560e01b8152600481018290526001600160a01b0384169063b6b55f2590602401600060405180830381600087803b15801562002bcd57600080fd5b505af115801562002be2573d6000803e3d6000fd5b50505050808562002bf4919062003a36565b945062002c65565b60405163b6b55f2560e01b8152600481018690526001600160a01b0384169063b6b55f2590602401600060405180830381600087803b15801562002c3f57600080fd5b505af115801562002c54573d6000803e3d6000fd5b505050506000945050505062002c7e565b505050808062002c7590620038ac565b91505062002aaa565b5062002c8b818662003a36565b9695505050505050565b600062002cec826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b031662002ee29092919063ffffffff16565b80519091501562000e8e578080602001905181019062002d0d9190620038ea565b62000e8e5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b606482015260840162000792565b600054610100900460ff1662002d985760405162461bcd60e51b8152600401620007929062003a6a565b620016923362002738565b62002dae81620029db565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606001600160a01b0383163b62002e4f5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b606482015260840162000792565b600080846001600160a01b03168460405162002e6c919062003c3a565b600060405180830381855af49150503d806000811462002ea9576040519150601f19603f3d011682016040523d82523d6000602084013e62002eae565b606091505b509150915062002ed98282604051806060016040528060278152602001620043af6027913962002efd565b95945050505050565b606062002ef3848460008562002f3b565b90505b9392505050565b6060831562002f0e57508162002ef6565b82511562002f1f5782518084602001fd5b8160405162461bcd60e51b815260040162000792919062003c58565b60608247101562002f9e5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b606482015260840162000792565b6001600160a01b0385163b62002ff75760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640162000792565b600080866001600160a01b0316858760405162003015919062003c3a565b60006040518083038185875af1925050503d806000811462003054576040519150601f19603f3d011682016040523d82523d6000602084013e62003059565b606091505b50915091506200306b82828662002efd565b979650505050505050565b6107218062003c6e83390190565b60008083601f8401126200309757600080fd5b5081356001600160401b03811115620030af57600080fd5b6020830191508360208285010111156200165257600080fd5b60008060008060608587031215620030df57600080fd5b843593506020850135925060408501356001600160401b038111156200310457600080fd5b620031128782880162003084565b95989497509550505050565b80356001600160a01b03811681146200237c57600080fd5b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b038111828210171562003171576200317162003136565b60405290565b604051601f8201601f191681016001600160401b0381118282101715620031a257620031a262003136565b604052919050565b600082601f830112620031bc57600080fd5b813560206001600160401b03821115620031da57620031da62003136565b620031ea818360051b0162003177565b82815260069290921b840181019181810190868411156200320a57600080fd5b8286015b84811015620032575760408189031215620032295760008081fd5b620032336200314c565b6200323e826200311e565b815281850135858201528352918301916040016200320e565b509695505050505050565b60008060008060008060008060e0898b0312156200327f57600080fd5b6200328a896200311e565b97506200329a60208a016200311e565b9650620032aa60408a016200311e565b9550620032ba60608a016200311e565b94506080890135935060a08901356001600160401b0380821115620032de57600080fd5b620032ec8c838d01620031aa565b945060c08b01359150808211156200330357600080fd5b818b0191508b601f8301126200331857600080fd5b8135818111156200332857600080fd5b8c60208260051b85010111156200333e57600080fd5b6020830194508093505050509295985092959890939650565b6000602082840312156200336a57600080fd5b62002ef6826200311e565b6000602082840312156200338857600080fd5b5035919050565b600082601f830112620033a157600080fd5b81356001600160401b03811115620033bd57620033bd62003136565b620033d2601f8201601f191660200162003177565b818152846020838601011115620033e857600080fd5b816020850160208301376000918101602001919091529392505050565b6000806000606084860312156200341b57600080fd5b833592506020840135915060408401356001600160401b038111156200344057600080fd5b6200344e868287016200338f565b9150509250925092565b6020808252825182820181905260009190848201906040850190845b818110156200349b5783516001600160a01b03168352928401929184019160010162003474565b50909695505050505050565b60008060208385031215620034bb57600080fd5b82356001600160401b03811115620034d257600080fd5b620034e08582860162003084565b90969095509350505050565b600080604083850312156200350057600080fd5b6200350b836200311e565b915060208301356001600160401b038111156200352757600080fd5b62003535858286016200338f565b9150509250929050565b60005b838110156200355c57818101518382015260200162003542565b838111156200285a5750506000910152565b60008151808452620035888160208601602086016200353f565b601f01601f19169290920160200192915050565b821515815260406020820152600062002ef360408301846200356e565b60008060408385031215620035cd57600080fd5b620035d8836200311e565b946020939093013593505050565b60008060008060008060c087890312156200360057600080fd5b6200360b876200311e565b95506200361b602088016200311e565b94506200362b604088016200311e565b93506200363b606088016200311e565b92506080870135915060a08701356001600160401b038111156200365e57600080fd5b6200366c89828a01620031aa565b9150509295509295509295565b6000806000606084860312156200368f57600080fd5b83359250620036a1602085016200311e565b9150604084013590509250925092565b604080825283519082018190526000906020906060840190828701845b82811015620036f55781516001600160a01b031684529284019290840190600101620036ce565b5050508381038285015284518082528583019183019060005b818110156200372c578351835292840192918401916001016200370e565b5090979650505050505050565b602080825282518282018190526000919060409081850190868401855b828110156200378657815180516001600160a01b0316855286015186850152928401929085019060010162003756565b5091979650505050505050565b60008060408385031215620037a757600080fd5b620037b2836200311e565b9150620037c2602084016200311e565b90509250929050565b60008060408385031215620037df57600080fd5b82359150620037c2602084016200311e565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b6000821982111562003852576200385262003826565b500190565b634e487b7160e01b600052603260045260246000fd5b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b60208152600062002ef36020830184866200386d565b600060018201620038c157620038c162003826565b5060010190565b84815283602082015260606040820152600062002c8b6060830184866200386d565b600060208284031215620038fd57600080fd5b8151801515811462002ef657600080fd5b60008160001904831182151516156200392b576200392b62003826565b500290565b6000826200394e57634e487b7160e01b600052601260045260246000fd5b500490565b60208082526010908201526f5374616b696e67506f6f6c206f6e6c7960801b604082015260600190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b83815282602082015260606040820152600062002ed960608301846200356e565b60008282101562003a4b5762003a4b62003826565b500390565b60006020828403121562003a6357600080fd5b5051919050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b6000806040838503121562003ac957600080fd5b505080516020909101519092909150565b634e487b7160e01b600052603160045260246000fd5b60006001600160ff1b038184138284138082168684048611161562003b195762003b1962003826565b600160ff1b600087128281168783058912161562003b3b5762003b3b62003826565b6000871292508782058712848416161562003b5a5762003b5a62003826565b8785058712818416161562003b735762003b7362003826565b505050929093029392505050565b60008083128015600160ff1b85018412161562003ba25762003ba262003826565b6001600160ff1b038401831381161562003bc05762003bc062003826565b50500390565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b6001600160a01b038316815260406020820181905260009062002ef3908301846200356e565b6000825162003c4e8184602087016200353f565b9190910192915050565b60208152600062002ef660208301846200356e56fe608060405260405161072138038061072183398101604081905261002291610314565b61002e82826000610035565b5050610431565b61003e8361006b565b60008251118061004b5750805b156100665761006483836100ab60201b6100291760201c565b505b505050565b610074816100d7565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100d083836040518060600160405280602781526020016106fa602791396101a9565b9392505050565b6100ea8161028760201b6100551760201c565b6101515760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b806101887f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b61029660201b6100641760201c565b80546001600160a01b0319166001600160a01b039290921691909117905550565b60606001600160a01b0384163b6102115760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b6064820152608401610148565b600080856001600160a01b03168560405161022c91906103e2565b600060405180830381855af49150503d8060008114610267576040519150601f19603f3d011682016040523d82523d6000602084013e61026c565b606091505b50909250905061027d828286610299565b9695505050505050565b6001600160a01b03163b151590565b90565b606083156102a85750816100d0565b8251156102b85782518084602001fd5b8160405162461bcd60e51b815260040161014891906103fe565b634e487b7160e01b600052604160045260246000fd5b60005b838110156103035781810151838201526020016102eb565b838111156100645750506000910152565b6000806040838503121561032757600080fd5b82516001600160a01b038116811461033e57600080fd5b60208401519092506001600160401b038082111561035b57600080fd5b818501915085601f83011261036f57600080fd5b815181811115610381576103816102d2565b604051601f8201601f19908116603f011681019083821181831017156103a9576103a96102d2565b816040528281528860208487010111156103c257600080fd5b6103d38360208301602088016102e8565b80955050505050509250929050565b600082516103f48184602087016102e8565b9190910192915050565b602081526000825180602084015261041d8160408501602087016102e8565b601f01601f19169190910160400192915050565b6102ba806104406000396000f3fe60806040523661001357610011610017565b005b6100115b610027610022610067565b61009f565b565b606061004e838360405180606001604052806027815260200161025e602791396100c3565b9392505050565b6001600160a01b03163b151590565b90565b600061009a7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e8080156100be573d6000f35b3d6000fd5b60606001600160a01b0384163b6101305760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b60648201526084015b60405180910390fd5b600080856001600160a01b03168560405161014b919061020e565b600060405180830381855af49150503d8060008114610186576040519150601f19603f3d011682016040523d82523d6000602084013e61018b565b606091505b509150915061019b8282866101a5565b9695505050505050565b606083156101b457508161004e565b8251156101c45782518084602001fd5b8160405162461bcd60e51b8152600401610127919061022a565b60005b838110156101f95781810151838201526020016101e1565b83811115610208576000848401525b50505050565b600082516102208184602087016101de565b9190910192915050565b60208152600082518060208401526102498160408501602087016101de565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122015c575a1d4aa5f6221f50862bdd76e39e9fc0eff20f628e8308027fc8124232e64736f6c634300080f0033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220eff3d2b550f37ccafefb2733c974b78c99f54b782aacf1052edea0a561c3780964736f6c634300080f0033496e697469616c697a61626c653a20636f6e747261637420697320616c726561