5 txs
14 calls
constructor
constructor(address _linkToken, address _keeperRegistry, (uint8 maxBatchSize, uint24 minPercentage, uint24 targetPercentage, uint96 maxTopUpAmount, uint256 maxIterations) config)
functions
checkUpkeep
viewfunction checkUpkeep(bytes) view returns (bool upkeepNeeded, bytes performData)
DEFAULT_ADMIN_ROLE
viewfunction DEFAULT_ADMIN_ROLE() view returns (bytes32)
forwarderAddress
viewfunction forwarderAddress() view returns (address)
getConfig
viewfunction getConfig() view returns (tuple)
getRoleAdmin
viewfunction getRoleAdmin(bytes32 role) view returns (bytes32)
getUnderfundedUpkeeps
viewfunction getUnderfundedUpkeeps() view returns (uint256[], uint96[])
getWatchList
viewfunction getWatchList() view returns (uint256[])
getWatchListItem
viewfunction getWatchListItem(uint256 _index) view returns (uint256)
getWatchListLength
viewfunction getWatchListLength() view returns (uint256)
hasRole
viewfunction hasRole(bytes32 role, address account) view returns (bool)
keeperRegistry
viewfunction keeperRegistry() view returns (address)
linkToken
viewfunction linkToken() view returns (address)
owner
viewfunction owner() view returns (address)
paused
viewfunction paused() view returns (bool)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
addMultipleToWatchList
nonpayablefunction addMultipleToWatchList(uint256[] _upkeepIds)
addToWatchList
nonpayablefunction addToWatchList(uint256 _upkeepId)
grantRole
nonpayablefunction grantRole(bytes32 role, address account)
grantWatchlistManagerRole
nonpayablefunction grantWatchlistManagerRole(address _manager)
pause
nonpayablefunction pause()
performUpkeep
nonpayablefunction performUpkeep(bytes _performData)
removeFromWatchList
nonpayablefunction removeFromWatchList(uint256 _upkeepId)
removeMultipleFromWatchList
nonpayablefunction removeMultipleFromWatchList(uint256[] _upkeepIds)
renounceOwnership
nonpayablefunction renounceOwnership()
renounceRole
nonpayablefunction renounceRole(bytes32 role, address account)
revokeRole
nonpayablefunction revokeRole(bytes32 role, address account)
revokeWatchlistManagerRole
nonpayablefunction revokeWatchlistManagerRole(address _manager)
setConfig
nonpayablefunction setConfig(tuple config)
setTrustedForwarder
nonpayablefunction setTrustedForwarder(address _trustedForwarder)
topUp
nonpayablefunction topUp(uint256[] _upkeepIds, uint96[] _topUpAmounts)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
unpause
nonpayablefunction unpause()
withdraw
nonpayablefunction withdraw(uint256 _amount, address _payee)
events
ConfigSet
event ConfigSet((uint8 maxBatchSize, uint24 minPercentage, uint24 targetPercentage, uint96 maxTopUpAmount, uint256 maxIterations) config)
ForwarderSet
event ForwarderSet(address forwarderAddress)
FundsWithdrawn
event FundsWithdrawn(uint256 amountWithdrawn, address payee)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
Paused
event Paused(address account)
RoleAdminChanged
event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)
RoleGranted
event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)
RoleRevoked
event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)
TopUpFailed
event TopUpFailed(uint256 indexed upkeepId)
TopUpSucceeded
event TopUpSucceeded(uint256 indexed upkeepId, uint96 amount)
Unpaused
event Unpaused(address account)
WatchListUpdated
event WatchListUpdated(uint256 upkeepId, bool added)
errors
AddressZeroNotAllowed
error AddressZeroNotAllowed()
InvalidConfig
error InvalidConfig()
InvalidTopUpData
error InvalidTopUpData()
OnlyForwarderOrOwner
error OnlyForwarderOrOwner()
OnlyWatchlistManagerOrOwner
error OnlyWatchlistManagerOrOwner()
ZeroIdNotAllowed
error ZeroIdNotAllowed()
creation bytecode
0x60c06040523480156200001157600080fd5b506040516200295b3803806200295b8339810160408190526200003491620002d1565b6200003f3362000077565b6002805460ff191690556001600160601b0319606084811b821660a05283901b166080526200006e81620000c7565b505050620003ca565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b620000d16200022d565b805160ff161580620000ec57506064816020015162ffffff16105b806200010a5750806020015162ffffff16816040015162ffffff1611155b8062000121575060608101516001600160601b0316155b806200012f57506080810151155b156200014e576040516306b7c75960e31b815260040160405180910390fd5b80516005805460208085018051604080880180516060808b01805160ff909b1663ffffffff19909916891761010062ffffff9788160217600160201b600160981b03191664010000000093871693909302600160381b600160981b031916929092176701000000000000006001600160601b039b8c1602179098556080808b0180516006558451988952955185169688019690965290519092169085015251909416928201929092529151908201527f04b069fd9218083b40e1d2ea16630299bdacd0ec863af3bd16ac92694c6e34849060a00160405180910390a150565b6000546001600160a01b031633146200028c5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640160405180910390fd5b565b805162ffffff81168114620002a257600080fd5b919050565b805160ff81168114620002a257600080fd5b80516001600160601b0381168114620002a257600080fd5b600080600083850360e0811215620002e857600080fd5b8451620002f581620003b1565b60208601519094506200030881620003b1565b925060a0603f19820112156200031d57600080fd5b5060405160a081016001600160401b03811182821017156200034f57634e487b7160e01b600052604160045260246000fd5b80604052506200036260408601620002a7565b815262000372606086016200028e565b602082015262000385608086016200028e565b60408201526200039860a08601620002b9565b606082015260c094909401516080850152509093909250565b6001600160a01b0381168114620003c757600080fd5b50565b60805160601c60a05160601c61253b62000420600039600081816102ff015281816105790152818161080a0152610bb10152600081816103820152818161083901528181610c8c0152610d2a015261253b6000f3fe608060405234801561001057600080fd5b50600436106101fa5760003560e01c806383e227741161011a578063c3f909d4116100ad578063da7422281161007c578063da742228146104de578063eb698045146104f1578063f2fde38b14610504578063f4dbda1c14610517578063fe0033131461052a57600080fd5b8063c3f909d414610414578063c6aa1ef1146104a5578063c6d62bbf146104b8578063d547741f146104cb57600080fd5b80639550cd56116100e95780639550cd56146103d05780639b447ece146103e6578063a217fddf146103f9578063ad3b80981461040157600080fd5b806383e227741461037d5780638456cb59146103a45780638da5cb5b146103ac57806391d14854146103bd57600080fd5b80634585e33b116101925780636e04ff0d116101615780636e04ff0d1461032c578063715018a61461034d578063728584b7146103555780637495fa0e1461036a57600080fd5b80634585e33b146102df578063498fdc08146102f257806357970e93146102fa5780635c975abb1461032157600080fd5b8063248a9ca3116101ce578063248a9ca31461028d5780632f2ff15d146102b157806336568abe146102c45780633f4ba83a146102d757600080fd5b8062f714ce146101ff57806301ffc9a71461021457806309e1be121461023c578063174ab8891461025d575b600080fd5b61021261020d366004611f26565b61053d565b005b610227610222366004611f52565b6105e5565b60405190151581526020015b60405180910390f35b61024f61024a366004611f0d565b61061c565b604051908152602001610233565b6002546102759061010090046001600160a01b031681565b6040516001600160a01b039091168152602001610233565b61024f61029b366004611f0d565b6000908152600160208190526040909120015490565b6102126102bf366004611f26565b610629565b6102126102d2366004611f26565b610654565b6102126106d7565b6102126102ed366004611f7c565b6106e9565b61024f61070c565b6102757f000000000000000000000000000000000000000000000000000000000000000081565b60025460ff16610227565b61033f61033a366004611f7c565b61071d565b604051610233929190612251565b61021261076b565b61035d61077d565b60405161023391906121eb565b610212610378366004611e20565b610789565b6102757f000000000000000000000000000000000000000000000000000000000000000081565b6102126109fe565b6000546001600160a01b0316610275565b6102276103cb366004611f26565b610a0e565b6103d8610a39565b6040516102339291906121fe565b6102126103f4366004611dd0565b610f30565b61024f600081565b61021261040f366004611f0d565b610f53565b6104986040805160a081018252600080825260208201819052918101829052606081018290526080810191909152506040805160a08101825260055460ff81168252610100810462ffffff908116602084015264010000000082041692820192909252600160381b9091046001600160601b03166060820152600654608082015290565b604051610233919061227f565b6102126104b3366004611dd0565b610ff9565b6102126104c6366004611f0d565b611019565b6102126104d9366004611f26565b6110d6565b6102126104ec366004611dd0565b6110fc565b6102126104ff366004611fee565b611181565b610212610512366004611dd0565b6112be565b610212610525366004611deb565b611334565b610212610538366004611deb565b61137d565b6105456113c6565b6001600160a01b03811661056c576040516302154e0360e21b815260040160405180910390fd5b6105a06001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168284611420565b604080518381526001600160a01b03831660208201527f6141b54b56b8a52a8c6f5cd2a857f6117b18ffbf4d46bd3106f300a839cbf5ea910160405180910390a15050565b60006001600160e01b03198216637965db0b60e01b148061061657506301ffc9a760e01b6001600160e01b03198316145b92915050565b6000610616600383611472565b6000828152600160208190526040909120015461064581611485565b61064f838361148f565b505050565b6001600160a01b03811633146106c95760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084015b60405180910390fd5b6106d382826114fa565b5050565b6106df6113c6565b6106e7611561565b565b6000806106f883850185611e20565b915091506107068282610789565b50505050565b600061071860036115b3565b905090565b6000606060008061072c610a39565b915091506000825111935083156107625781816040516020016107509291906121fe565b60405160208183030381529060405292505b50509250929050565b6107736113c6565b6106e760006115bd565b6060610718600361160d565b61079161161a565b60025461010090046001600160a01b031633148015906107bc57506000546001600160a01b03163314155b156107da5760405163d8ef95ed60e01b815260040160405180910390fd5b8151815181146107fd57604051630c07caf160e21b815260040160405180910390fd5b60005b81811015610706577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316634000aea07f000000000000000000000000000000000000000000000000000000000000000085848151811061086a5761086a6124a4565b6020026020010151878581518110610884576108846124a4565b602002602001015160405160200161089e91815260200190565b6040516020818303038152906040526040518463ffffffff1660e01b81526004016108cb939291906121af565b602060405180830381600087803b1580156108e557600080fd5b505af1925050508015610915575060408051601f3d908101601f1916820190925261091291810190611eeb565b60015b61091e576109a5565b80156109a357848281518110610936576109366124a4565b60200260200101517f8bd729b02385268f104f52c607d8413e1d3d696f2d227c6316a5ac4c840a5eff858481518110610971576109716124a4565b602002602001015160405161099591906001600160601b0391909116815260200190565b60405180910390a2506109ec565b505b8381815181106109b7576109b76124a4565b60200260200101517f72ca89331c1129d961730391b4cb9c9f6937e4d1cb66ce6720b4d181fb86227260405160405180910390a25b806109f681612433565b915050610800565b610a066113c6565b6106e7611660565b60009182526001602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6040805160a08101825260055460ff811680835262ffffff610100830481166020850152640100000000830416938301939093526001600160601b03600160381b9091041660608281019190915260065460808301529182919060009067ffffffffffffffff811115610aae57610aae6124ba565b604051908082528060200260200182016040528015610ad7578160200160208202803683370190505b5090506000826000015160ff1667ffffffffffffffff811115610afc57610afc6124ba565b604051908082528060200260200182016040528015610b25578160200160208202803683370190505b5090506000610b3460036115b3565b60408051436020820152016040516020818303038152906040528051906020012060001c610b62919061244e565b905060008460800151610b7560036115b3565b10610b84578460800151610b8e565b610b8e60036115b3565b6040516370a0823160e01b81523060048201529091506000906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370a082319060240160206040518083038186803b158015610bf357600080fd5b505afa158015610c07573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c2b9190612081565b90506000805b83811015610f0d576000610c4560036115b3565b610c4f8388612325565b610c59919061244e565b90506000610c68600383611472565b604051631e01043960e01b8152600481018290529091506000906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690631e0104399060240160206040518083038186803b158015610cce57600080fd5b505afa158015610ce2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d06919061209a565b604051631aec64c960e31b8152600481018490529091506000906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063d76326489060240160206040518083038186803b158015610d6c57600080fd5b505afa158015610d80573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610da4919061209a565b9050600060648d6020015162ffffff1683610dbf9190612382565b610dc9919061233d565b9050600060648e6040015162ffffff1684610de49190612382565b610dee919061233d565b9050806001600160601b0316846001600160601b03161015610edd576000610e1685836123c8565b90508e606001516001600160601b0316816001600160601b03161115610e3d575060608e01515b826001600160601b0316856001600160601b031611158015610e685750806001600160601b03168a10155b15610edb57858e8a81518110610e8057610e806124a4565b602002602001018181525050808d8a81518110610e9f57610e9f6124a4565b6001600160601b039092166020928302919091019091015288610ec181612433565b9950610ed890506001600160601b0382168b6123b1565b99505b505b8d5160ff16881415610ef457505050505050610f0d565b5050505050508080610f0590612433565b915050610c31565b50865160ff16811015610f21578086528085525b50939792965091945050505050565b610f386113c6565b610f506000805160206124e68339815191528261148f565b50565b33610f666000546001600160a01b031690565b6001600160a01b031614158015610f925750610f906000805160206124e683398151915233610a0e565b155b15610fb057604051634290ba1f60e11b815260040160405180910390fd5b610fbb60038261169d565b5060408051828152600060208201527f821edad6ab10a8e573d43ff3303773057973ac6db233d8f29494cab82cbc0ad091015b60405180910390a150565b6110016113c6565b610f506000805160206124e6833981519152826114fa565b3361102c6000546001600160a01b031690565b6001600160a01b03161415801561105857506110566000805160206124e683398151915233610a0e565b155b1561107657604051634290ba1f60e11b815260040160405180910390fd5b8061109457604051633357558d60e01b815260040160405180910390fd5b61109f6003826116a9565b5060408051828152600160208201527f821edad6ab10a8e573d43ff3303773057973ac6db233d8f29494cab82cbc0ad09101610fee565b600082815260016020819052604090912001546110f281611485565b61064f83836114fa565b6111046113c6565b6001600160a01b03811661112b576040516302154e0360e21b815260040160405180910390fd5b60028054610100600160a81b0319166101006001600160a01b038416908102919091179091556040519081527f01e06e871b32b0b127105fbd5dbecd24273b7e1191a8940de24f4ea249e355d690602001610fee565b6111896113c6565b805160ff1615806111a357506064816020015162ffffff16105b806111c05750806020015162ffffff16816040015162ffffff1611155b806111d6575060608101516001600160601b0316155b806111e357506080810151155b15611201576040516306b7c75960e31b815260040160405180910390fd5b805160058054602084015160408086015160608701516001600160601b0316600160381b0272ffffffffffffffffffffffff000000000000001962ffffff928316640100000000021672ffffffffffffffffffffffffffffff0000000019929094166101000263ffffffff1990951660ff909716969096179390931792909216179290921790556080820151600655517f04b069fd9218083b40e1d2ea16630299bdacd0ec863af3bd16ac92694c6e348490610fee90839061227f565b6112c66113c6565b6001600160a01b03811661132b5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016106c0565b610f50816115bd565b61133c6113c6565b805160005b8181101561064f5761136b83828151811061135e5761135e6124a4565b6020026020010151610f53565b8061137581612433565b915050611341565b6113856113c6565b805160005b8181101561064f576113b48382815181106113a7576113a76124a4565b6020026020010151611019565b806113be81612433565b91505061138a565b6000546001600160a01b031633146106e75760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016106c0565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b17905261064f9084906116b5565b600061147e838361178a565b9392505050565b610f5081336117b4565b6114998282610a0e565b6106d35760008281526001602081815260408084206001600160a01b0386168086529252808420805460ff19169093179092559051339285917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9190a45050565b6115048282610a0e565b156106d35760008281526001602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b61156961180d565b6002805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b6000610616825490565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6060600061147e83611856565b60025460ff16156106e75760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b60448201526064016106c0565b61166861161a565b6002805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586115963390565b600061147e83836118b2565b600061147e83836119a5565b600061170a826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166119f49092919063ffffffff16565b905080516000148061172b57508080602001905181019061172b9190611eeb565b61064f5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016106c0565b60008260000182815481106117a1576117a16124a4565b9060005260206000200154905092915050565b6117be8282610a0e565b6106d3576117cb81611a0b565b6117d6836020611a1d565b6040516020016117e792919061213a565b60408051601f198184030181529082905262461bcd60e51b82526106c09160040161226c565b60025460ff166106e75760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b60448201526064016106c0565b6060816000018054806020026020016040519081016040528092919081815260200182805480156118a657602002820191906000526020600020905b815481526020019060010190808311611892575b50505050509050919050565b6000818152600183016020526040812054801561199b5760006118d66001836123b1565b85549091506000906118ea906001906123b1565b905081811461194f57600086600001828154811061190a5761190a6124a4565b906000526020600020015490508087600001848154811061192d5761192d6124a4565b6000918252602080832090910192909255918252600188019052604090208390555b85548690806119605761196061248e565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610616565b6000915050610616565b60008181526001830160205260408120546119ec57508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610616565b506000610616565b6060611a038484600085611bb9565b949350505050565b60606106166001600160a01b03831660145b60606000611a2c836002612363565b611a37906002612325565b67ffffffffffffffff811115611a4f57611a4f6124ba565b6040519080825280601f01601f191660200182016040528015611a79576020820181803683370190505b509050600360fc1b81600081518110611a9457611a946124a4565b60200101906001600160f81b031916908160001a905350600f60fb1b81600181518110611ac357611ac36124a4565b60200101906001600160f81b031916908160001a9053506000611ae7846002612363565b611af2906001612325565b90505b6001811115611b6a576f181899199a1a9b1b9c1cb0b131b232b360811b85600f1660108110611b2657611b266124a4565b1a60f81b828281518110611b3c57611b3c6124a4565b60200101906001600160f81b031916908160001a90535060049490941c93611b638161241c565b9050611af5565b50831561147e5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016106c0565b606082471015611c1a5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016106c0565b600080866001600160a01b03168587604051611c36919061211e565b60006040518083038185875af1925050503d8060008114611c73576040519150601f19603f3d011682016040523d82523d6000602084013e611c78565b606091505b5091509150611c8987838387611c94565b979650505050505050565b60608315611d00578251611cf9576001600160a01b0385163b611cf95760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016106c0565b5081611a03565b611a038383815115611d155781518083602001fd5b8060405162461bcd60e51b81526004016106c0919061226c565b80356001600160a01b0381168114611d4657600080fd5b919050565b600082601f830112611d5c57600080fd5b81356020611d71611d6c83612301565b6122d0565b80838252828201915082860187848660051b8901011115611d9157600080fd5b60005b85811015611db057813584529284019290840190600101611d94565b5090979650505050505050565b803562ffffff81168114611d4657600080fd5b600060208284031215611de257600080fd5b61147e82611d2f565b600060208284031215611dfd57600080fd5b813567ffffffffffffffff811115611e1457600080fd5b611a0384828501611d4b565b60008060408385031215611e3357600080fd5b823567ffffffffffffffff80821115611e4b57600080fd5b611e5786838701611d4b565b9350602091508185013581811115611e6e57600080fd5b85019050601f81018613611e8157600080fd5b8035611e8f611d6c82612301565b80828252848201915084840189868560051b8701011115611eaf57600080fd5b600094505b83851015611edb578035611ec7816124d0565b835260019490940193918501918501611eb4565b5080955050505050509250929050565b600060208284031215611efd57600080fd5b8151801515811461147e57600080fd5b600060208284031215611f1f57600080fd5b5035919050565b60008060408385031215611f3957600080fd5b82359150611f4960208401611d2f565b90509250929050565b600060208284031215611f6457600080fd5b81356001600160e01b03198116811461147e57600080fd5b60008060208385031215611f8f57600080fd5b823567ffffffffffffffff80821115611fa757600080fd5b818501915085601f830112611fbb57600080fd5b813581811115611fca57600080fd5b866020828501011115611fdc57600080fd5b60209290920196919550909350505050565b600060a0828403121561200057600080fd5b60405160a0810181811067ffffffffffffffff82111715612023576120236124ba565b604052823560ff8116811461203757600080fd5b815261204560208401611dbd565b602082015261205660408401611dbd565b60408201526060830135612069816124d0565b60608201526080928301359281019290925250919050565b60006020828403121561209357600080fd5b5051919050565b6000602082840312156120ac57600080fd5b815161147e816124d0565b600081518084526020808501945080840160005b838110156120e7578151875295820195908201906001016120cb565b509495945050505050565b6000815180845261210a8160208601602086016123f0565b601f01601f19169290920160200192915050565b600082516121308184602087016123f0565b9190910192915050565b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008152600083516121728160178501602088016123f0565b7001034b99036b4b9b9b4b733903937b6329607d1b60179184019182015283516121a38160288401602088016123f0565b01602801949350505050565b6001600160a01b03841681526001600160601b03831660208201526060604082018190526000906121e2908301846120f2565b95945050505050565b60208152600061147e60208301846120b7565b60408152600061221160408301856120b7565b82810360208481019190915284518083528582019282019060005b81811015611db05784516001600160601b03168352938301939183019160010161222c565b8215158152604060208201526000611a0360408301846120f2565b60208152600061147e60208301846120f2565b600060a08201905060ff8351168252602083015162ffffff808216602085015280604086015116604085015250506001600160601b0360608401511660608301526080830151608083015292915050565b604051601f8201601f1916810167ffffffffffffffff811182821017156122f9576122f96124ba565b604052919050565b600067ffffffffffffffff82111561231b5761231b6124ba565b5060051b60200190565b6000821982111561233857612338612462565b500190565b60006001600160601b038084168061235757612357612478565b92169190910492915050565b600081600019048311821515161561237d5761237d612462565b500290565b60006001600160601b03808316818516818304811182151516156123a8576123a8612462565b02949350505050565b6000828210156123c3576123c3612462565b500390565b60006001600160601b03838116908316818110156123e8576123e8612462565b039392505050565b60005b8381101561240b5781810151838201526020016123f3565b838111156107065750506000910152565b60008161242b5761242b612462565b506000190190565b600060001982141561244757612447612462565b5060010190565b60008261245d5761245d612478565b500690565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052603160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160601b0381168114610f5057600080fdfe0096f6dc30594ce72c476fec35ac9502b8bfca2d66e1c932b49b275495c06bd1a2646970667358221220dd3b214cbfae4a62ce8f826b168fbd71b8c0b279cf58ed4b6992908361d1053464736f6c6343000806003300000000000000000000000088fb150bdc53a65fe94dea0c9ba0a6daf8c6e196000000000000000000000000f4bab6a129164aba9b113cb96ba4266df49f8743000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000000000000000c80000000000000000000000000000000000000000000000008ac7230489e800000000000000000000000000000000000000000000000000000000000000000019