0 txs
529 calls
constructor
constructor()
functions
cycleCount
viewfunction cycleCount(address) view returns (uint256)
DEFAULT_ADMIN_ROLE
viewfunction DEFAULT_ADMIN_ROLE() view returns (bytes32)
defaultAdmin
viewfunction defaultAdmin() view returns (address)
defaultAdminDelay
viewfunction defaultAdminDelay() view returns (uint48)
defaultAdminDelayIncreaseWait
viewfunction defaultAdminDelayIncreaseWait() view returns (uint48)
getRoleAdmin
viewfunction getRoleAdmin(bytes32 role) view returns (bytes32)
hasRole
viewfunction hasRole(bytes32 role, address account) view returns (bool)
isLeafClaimed
viewfunction isLeafClaimed(bytes32) view returns (bool)
owner
viewfunction owner() view returns (address)
paused
viewfunction paused() view returns (bool)
pendingDefaultAdmin
viewfunction pendingDefaultAdmin() view returns (address newAdmin, uint48 schedule)
pendingDefaultAdminDelay
viewfunction pendingDefaultAdminDelay() view returns (uint48 newDelay, uint48 schedule)
proxiableUUID
viewfunction proxiableUUID() view returns (bytes32)
roots
viewfunction roots(address, uint256) view returns (bytes32 hash, uint256 blockNumber)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
UPGRADE_INTERFACE_VERSION
viewfunction UPGRADE_INTERFACE_VERSION() view returns (string)
verify
viewfunction verify(tuple data, address user) view returns (bool)
yieldSharesClaimed
viewfunction yieldSharesClaimed(address, address, uint256) view returns (uint256)
acceptDefaultAdminTransfer
nonpayablefunction acceptDefaultAdminTransfer()
addTreeRoot
nonpayablefunction addTreeRoot(tuple root, address yelayLiteVault)
beginDefaultAdminTransfer
nonpayablefunction beginDefaultAdminTransfer(address newAdmin)
cancelDefaultAdminTransfer
nonpayablefunction cancelDefaultAdminTransfer()
changeDefaultAdminDelay
nonpayablefunction changeDefaultAdminDelay(uint48 newDelay)
claim
nonpayablefunction claim(tuple[] data)
grantRole
nonpayablefunction grantRole(bytes32 role, address account)
initialize
nonpayablefunction initialize(address owner, address _yieldPublisher)
onERC1155BatchReceived
nonpayablefunction onERC1155BatchReceived(address, address, uint256[], uint256[], bytes) returns (bytes4)
onERC1155Received
nonpayablefunction onERC1155Received(address, address, uint256, uint256, bytes) returns (bytes4)
pause
nonpayablefunction pause()
renounceRole
nonpayablefunction renounceRole(bytes32 role, address account)
revokeRole
nonpayablefunction revokeRole(bytes32 role, address account)
rollbackDefaultAdminDelay
nonpayablefunction rollbackDefaultAdminDelay()
unpause
nonpayablefunction unpause()
updateTreeRoot
nonpayablefunction updateTreeRoot(tuple root, uint256 cycle, address yelayLiteVault)
upgradeToAndCall
payablefunction upgradeToAndCall(address newImplementation, bytes data) payable
events
DefaultAdminDelayChangeCanceled
event DefaultAdminDelayChangeCanceled()
DefaultAdminDelayChangeScheduled
event DefaultAdminDelayChangeScheduled(uint48 newDelay, uint48 effectSchedule)
DefaultAdminTransferCanceled
event DefaultAdminTransferCanceled()
DefaultAdminTransferScheduled
event DefaultAdminTransferScheduled(address indexed newAdmin, uint48 acceptSchedule)
Initialized
event Initialized(uint64 version)
Paused
event Paused(address account)
PoolRootAdded
event PoolRootAdded(address indexed yelayLiteVault, uint256 indexed cycle, bytes32 rootHash, uint256 rootBlocknumber)
PoolRootUpdated
event PoolRootUpdated(address indexed yelayLiteVault, uint256 indexed cycle, bytes32 previousRootHash, bytes32 newRootHash, uint256 newRootBlocknumber)
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)
Unpaused
event Unpaused(address account)
Upgraded
event Upgraded(address indexed implementation)
YieldClaimed
event YieldClaimed(address indexed user, address indexed yelayLiteVault, uint256 indexed projectId, uint256 cycle, uint256 amount)
errors
AccessControlBadConfirmation
error AccessControlBadConfirmation()
AccessControlEnforcedDefaultAdminDelay
error AccessControlEnforcedDefaultAdminDelay(uint48 schedule)
AccessControlEnforcedDefaultAdminRules
error AccessControlEnforcedDefaultAdminRules()
AccessControlInvalidDefaultAdmin
error AccessControlInvalidDefaultAdmin(address defaultAdmin)
AccessControlUnauthorizedAccount
error AccessControlUnauthorizedAccount(address account, bytes32 neededRole)
AddressEmptyCode
error AddressEmptyCode(address target)
EnforcedPause
error EnforcedPause()
ERC1967InvalidImplementation
error ERC1967InvalidImplementation(address implementation)
ERC1967NonPayable
error ERC1967NonPayable()
ExpectedPause
error ExpectedPause()
FailedCall
error FailedCall()
InvalidCycle
error InvalidCycle()
InvalidInitialization
error InvalidInitialization()
InvalidProof
error InvalidProof(uint256 idx)
NotInitializing
error NotInitializing()
ProofAlreadyClaimed
error ProofAlreadyClaimed(uint256 idx)
SafeCastOverflowedUintDowncast
error SafeCastOverflowedUintDowncast(uint8 bits, uint256 value)
UUPSUnauthorizedCallContext
error UUPSUnauthorizedCallContext()
UUPSUnsupportedProxiableUUID
error UUPSUnsupportedProxiableUUID(bytes32 slot)
creation bytecode
0x60a060405230608052348015610013575f5ffd5b5061001c610021565b6100d3565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff16156100715760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b03908116146100d05780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b6080516131776100f95f395f81816119a2015281816119cb0152611b7d01526131775ff3fe608060405260043610610229575f3560e01c80638456cb5911610131578063bb27bf17116100ac578063cf6eefb71161007c578063d602b9fd11610062578063d602b9fd146107b3578063f23a6e61146107c7578063f83483331461080b575f5ffd5b8063cf6eefb71461072a578063d547741f14610794575f5ffd5b8063bb27bf171461065f578063bc197c811461068d578063cc8463c814610702578063cefc142914610716575f5ffd5b8063a1eda53c11610101578063a260b8a6116100e7578063a260b8a6146105a3578063ad3cb1cc146105ce578063b4837b5014610623575f5ffd5b8063a1eda53c1461055d578063a217fddf14610590575f5ffd5b80638456cb591461048257806384ef8ffc146104965780638da5cb5b146104e657806391d14854146104fa575f5ffd5b8063485cc955116101c157806352d1902d116101915780635c975abb116101775780635c975abb1461040e578063634e93da14610444578063649a5ec714610463575f5ffd5b806352d1902d146103db5780635b1da38b146103ef575f5ffd5b8063485cc9551461036b5780634dc45e2f1461038a5780634e2679a2146103a95780634f1ef286146103c8575f5ffd5b8063248a9ca3116101fc578063248a9ca3146102be5780632f2ff15d1461031957806336568abe146103385780633f4ba83a14610357575f5ffd5b806301ffc9a71461022d578063022d63fb146102615780630aa6220b14610289578063202e80171461029f575b5f5ffd5b348015610238575f5ffd5b5061024c610247366004612958565b61085a565b60405190151581526020015b60405180910390f35b34801561026c575f5ffd5b50620697805b60405165ffffffffffff9091168152602001610258565b348015610294575f5ffd5b5061029d61086a565b005b3480156102aa575f5ffd5b5061029d6102b9366004612997565b61087f565b3480156102c9575f5ffd5b5061030b6102d8366004612a08565b5f9081527f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800602052604090206001015490565b604051908152602001610258565b348015610324575f5ffd5b5061029d610333366004612a3a565b610d54565b348015610343575f5ffd5b5061029d610352366004612a3a565b610d99565b348015610362575f5ffd5b5061029d610ee1565b348015610376575f5ffd5b5061029d610385366004612a64565b610f13565b348015610395575f5ffd5b5061029d6103a4366004612b60565b6110d6565b3480156103b4575f5ffd5b5061029d6103c3366004612b9a565b6111e5565b61029d6103d6366004612c2f565b6112b9565b3480156103e6575f5ffd5b5061030b6112d4565b3480156103fa575f5ffd5b5061024c610409366004612d6e565b611302565b348015610419575f5ffd5b507fcd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f033005460ff1661024c565b34801561044f575f5ffd5b5061029d61045e366004612db0565b611399565b34801561046e575f5ffd5b5061029d61047d366004612dc9565b6113ac565b34801561048d575f5ffd5b5061029d6113bf565b3480156104a1575f5ffd5b507feef3dac4538c82c8ace4063ab0acd2d15cdb5883aa1dff7c2673abb3d8698401546001600160a01b03165b6040516001600160a01b039091168152602001610258565b3480156104f1575f5ffd5b506104ce6113f1565b348015610505575f5ffd5b5061024c610514366004612a3a565b5f9182527f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800602090815260408084206001600160a01b0393909316845291905290205460ff1690565b348015610568575f5ffd5b50610571611428565b6040805165ffffffffffff938416815292909116602083015201610258565b34801561059b575f5ffd5b5061030b5f81565b3480156105ae575f5ffd5b5061030b6105bd366004612db0565b5f6020819052908152604090205481565b3480156105d9575f5ffd5b506106166040518060400160405280600581526020017f352e302e3000000000000000000000000000000000000000000000000000000081525081565b6040516102589190612dee565b34801561062e575f5ffd5b5061030b61063d366004612e23565b600360209081525f938452604080852082529284528284209052825290205481565b34801561066a575f5ffd5b5061024c610679366004612a08565b60026020525f908152604090205460ff1681565b348015610698575f5ffd5b506106d16106a7366004612ec2565b7fbc197c810000000000000000000000000000000000000000000000000000000095945050505050565b6040517fffffffff000000000000000000000000000000000000000000000000000000009091168152602001610258565b34801561070d575f5ffd5b506102726114e5565b348015610721575f5ffd5b5061029d6115c5565b348015610735575f5ffd5b507feef3dac4538c82c8ace4063ab0acd2d15cdb5883aa1dff7c2673abb3d869840054604080516001600160a01b03831681527401000000000000000000000000000000000000000090920465ffffffffffff16602083015201610258565b34801561079f575f5ffd5b5061029d6107ae366004612a3a565b611633565b3480156107be575f5ffd5b5061029d611674565b3480156107d2575f5ffd5b506106d16107e1366004612f71565b7ff23a6e610000000000000000000000000000000000000000000000000000000095945050505050565b348015610816575f5ffd5b50610845610825366004612fc5565b600160208181525f93845260408085209091529183529120805491015482565b60408051928352602083019190915201610258565b5f61086482611686565b92915050565b5f610874816116db565b61087c6116e5565b50565b6108876116f1565b5f5b81811015610d4f575f6109448484848181106108a7576108a7612fed565b90506020028101906108b9919061301a565b6108c290613056565b33604080830151835160208086015160608088015186516001600160a01b03808a1695820195909552968701959095529190921690840152608083015260a08201525f9060c00160408051601f198184030181528282528051602091820120908301520160405160208183030381529060405280519060200120905092915050565b5f81815260026020526040902054909150829060ff161561099d576040517f67f6b54100000000000000000000000000000000000000000000000000000000815260040161099491815260200190565b60405180910390fd5b506109d48484848181106109b3576109b3612fed565b90506020028101906109c5919061301a565b6109ce90613056565b8261174d565b8290610a0f576040517f5e3fa05100000000000000000000000000000000000000000000000000000000815260040161099491815260200190565b505f818152600260209081526040808320805460ff191660011790553383526003909152812081868686818110610a4857610a48612fed565b9050602002810190610a5a919061301a565b610a68906020810190612db0565b6001600160a01b03166001600160a01b031681526020019081526020015f205f868686818110610a9a57610a9a612fed565b9050602002810190610aac919061301a565b6020013581526020019081526020015f205490505f81868686818110610ad457610ad4612fed565b9050602002810190610ae6919061301a565b60600135610af4919061308e565b9050858585818110610b0857610b08612fed565b9050602002810190610b1a919061301a565b335f908152600360205260408120606092909201359190888888818110610b4357610b43612fed565b9050602002810190610b55919061301a565b610b63906020810190612db0565b6001600160a01b03166001600160a01b031681526020019081526020015f205f888888818110610b9557610b95612fed565b9050602002810190610ba7919061301a565b6020013581526020019081526020015f2081905550858585818110610bce57610bce612fed565b9050602002810190610be0919061301a565b610bee906020810190612db0565b6040517f049104e5000000000000000000000000000000000000000000000000000000008152600481018390525f60248201523360448201526001600160a01b03919091169063049104e5906064016020604051808303815f875af1158015610c59573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c7d91906130a1565b50858585818110610c9057610c90612fed565b9050602002810190610ca2919061301a565b60200135868686818110610cb857610cb8612fed565b9050602002810190610cca919061301a565b610cd8906020810190612db0565b6001600160a01b0316337ffa22d6d2516c29580a099aeb9e2139fab5b3c85f2480f1f6942e891c41227bb2898989818110610d1557610d15612fed565b9050602002810190610d27919061301a565b60408051918101358252602082018790520160405180910390a4505050806001019050610889565b505050565b81610d8b576040517f3fc3c27a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610d958282611785565b5050565b7feef3dac4538c82c8ace4063ab0acd2d15cdb5883aa1dff7c2673abb3d869840082158015610df457507feef3dac4538c82c8ace4063ab0acd2d15cdb5883aa1dff7c2673abb3d8698401546001600160a01b038381169116145b15610ed7577feef3dac4538c82c8ace4063ab0acd2d15cdb5883aa1dff7c2673abb3d8698400546001600160a01b0381169074010000000000000000000000000000000000000000900465ffffffffffff1681151580610e5a575065ffffffffffff8116155b80610e6d57504265ffffffffffff821610155b15610eae576040517f19ca5ebb00000000000000000000000000000000000000000000000000000000815265ffffffffffff82166004820152602401610994565b505080547fffffffffffff000000000000ffffffffffffffffffffffffffffffffffffffff1681555b610d4f83836117ce565b7f82b32d9ab5100db08aeb9a0e08b422d14851ec118736590462bf9c085a6e9448610f0b816116db565b61087c61181a565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000810460ff16159067ffffffffffffffff165f81158015610f5d5750825b90505f8267ffffffffffffffff166001148015610f795750303b155b905081158015610f87575080155b15610fbe576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84547fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000166001178555831561101f5784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff16680100000000000000001785555b61102761188c565b61102f61188c565b611037611894565b6110415f886118a4565b61106b7fe1e438f510a6787349796e72348290fc4309699b8925cfe7df77feeaca3b7020876118b6565b5083156110cd5784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50505050505050565b7fe1e438f510a6787349796e72348290fc4309699b8925cfe7df77feeaca3b7020611100816116db565b6001600160a01b0382165f90815260208190526040902054831115611151576040517f9b8febfe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0382165f8181526001602081815260408084208885528083528185208251808401845281548152948101805486860152958a9052908352895190819055898301519485905583518251908152928301528101929092529185917f7ee2babad8e10414993fea9386a1c0ef0735e0462a4d5028c7d5285d88a526429060600160405180910390a35050505050565b7fe1e438f510a6787349796e72348290fc4309699b8925cfe7df77feeaca3b702061120f816116db565b6001600160a01b0382165f908152602081905260408120805491611232836130b8565b90915550506001600160a01b0382165f81815260016020818152604080842084835281852080548652908352818520895181558984018051919095015585855293825292548751925184519384529183019190915292917f1b05a44e8214a0fa862d32c29016185c44f28e0565dc8a828148a9dc6d7b8ec6910160405180910390a3505050565b6112c1611997565b6112ca82611a67565b610d958282611a71565b5f6112dd611b72565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b5f6113928361138d8585604080830151835160208086015160608088015186516001600160a01b03808a1695820195909552968701959095529190921690840152608083015260a08201525f9060c00160408051601f198184030181528282528051602091820120908301520160405160208183030381529060405280519060200120905092915050565b61174d565b9392505050565b5f6113a3816116db565b610d9582611bd4565b5f6113b6816116db565b610d9582611c46565b7f539440820030c4994db4e31b6b800deafd503688728f932addfe7a410515c14c6113e9816116db565b61087c611cb5565b5f6114237feef3dac4538c82c8ace4063ab0acd2d15cdb5883aa1dff7c2673abb3d8698401546001600160a01b031690565b905090565b7feef3dac4538c82c8ace4063ab0acd2d15cdb5883aa1dff7c2673abb3d8698401545f907a010000000000000000000000000000000000000000000000000000900465ffffffffffff167feef3dac4538c82c8ace4063ab0acd2d15cdb5883aa1dff7c2673abb3d869840081158015906114aa57504265ffffffffffff831610155b6114b5575f5f6114dc565b600181015474010000000000000000000000000000000000000000900465ffffffffffff16825b92509250509091565b7feef3dac4538c82c8ace4063ab0acd2d15cdb5883aa1dff7c2673abb3d8698401545f907feef3dac4538c82c8ace4063ab0acd2d15cdb5883aa1dff7c2673abb3d8698400907a010000000000000000000000000000000000000000000000000000900465ffffffffffff16801580159061156757504265ffffffffffff8216105b6115985781547a010000000000000000000000000000000000000000000000000000900465ffffffffffff166115be565b600182015474010000000000000000000000000000000000000000900465ffffffffffff165b9250505090565b7feef3dac4538c82c8ace4063ab0acd2d15cdb5883aa1dff7c2673abb3d8698400546001600160a01b031633811461162b576040517fc22c8022000000000000000000000000000000000000000000000000000000008152336004820152602401610994565b61087c611d10565b8161166a576040517f3fc3c27a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610d958282611e25565b5f61167e816116db565b61087c611e68565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167f31498786000000000000000000000000000000000000000000000000000000001480610864575061086482611e72565b61087c8133611ec7565b6116ef5f5f611f53565b565b7fcd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f033005460ff16156116ef576040517fd93c066500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b608082015182516001600160a01b03165f908152600160209081526040808320818701518452909152812054909161139291846120de565b5f8281527f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b62680060205260409020600101546117be816116db565b6117c883836118b6565b50505050565b6001600160a01b0381163314611810576040517f6697b23200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610d4f82826120f3565b611822612189565b7fcd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f03300805460ff191681557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a150565b6116ef6121e4565b61189c6121e4565b6116ef61224b565b6118ac6121e4565b610d95828261227e565b5f7feef3dac4538c82c8ace4063ab0acd2d15cdb5883aa1dff7c2673abb3d869840083611985575f61190f7feef3dac4538c82c8ace4063ab0acd2d15cdb5883aa1dff7c2673abb3d8698401546001600160a01b031690565b6001600160a01b03161461194f576040517f3fc3c27a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001810180547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0385161790555b61198f848461233a565b949350505050565b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480611a3057507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316611a247f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b031614155b156116ef576040517fe07c8dba00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f610d95816116db565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611acb575060408051601f3d908101601f19168201909252611ac8918101906130a1565b60015b611b0c576040517f4c9c8ce30000000000000000000000000000000000000000000000000000000081526001600160a01b0383166004820152602401610994565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8114611b68576040517faa1d49a400000000000000000000000000000000000000000000000000000000815260048101829052602401610994565b610d4f8383612406565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146116ef576040517fe07c8dba00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f611bdd6114e5565b611be64261245b565b611bf091906130ef565b9050611bfc82826124aa565b60405165ffffffffffff821681526001600160a01b038316907f3377dc44241e779dd06afab5b788a35ca5f3b778836e2990bdb26a2a4b2e5ed69060200160405180910390a25050565b5f611c5082612557565b611c594261245b565b611c6391906130ef565b9050611c6f8282611f53565b6040805165ffffffffffff8085168252831660208201527ff1038c18cf84a56e432fdbfaf746924b7ea511dfe03a6506a0ceba4888788d9b910160405180910390a15050565b611cbd6116f1565b7fcd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f03300805460ff191660011781557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2583361186e565b7feef3dac4538c82c8ace4063ab0acd2d15cdb5883aa1dff7c2673abb3d869840080546001600160a01b0381169074010000000000000000000000000000000000000000900465ffffffffffff16801580611d7357504265ffffffffffff821610155b15611db4576040517f19ca5ebb00000000000000000000000000000000000000000000000000000000815265ffffffffffff82166004820152602401610994565b611dee5f611de97feef3dac4538c82c8ace4063ab0acd2d15cdb5883aa1dff7c2673abb3d8698401546001600160a01b031690565b6120f3565b50611df95f836118b6565b505081547fffffffffffff00000000000000000000000000000000000000000000000000001690915550565b5f8281527f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b6268006020526040902060010154611e5e816116db565b6117c883836120f3565b6116ef5f5f6124aa565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b00000000000000000000000000000000000000000000000000000000148061086457506108648261259e565b5f8281527f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800602090815260408083206001600160a01b038516845290915290205460ff16610d95576040517fe2517d3f0000000000000000000000000000000000000000000000000000000081526001600160a01b038216600482015260248101839052604401610994565b7feef3dac4538c82c8ace4063ab0acd2d15cdb5883aa1dff7c2673abb3d8698401547feef3dac4538c82c8ace4063ab0acd2d15cdb5883aa1dff7c2673abb3d8698400907a010000000000000000000000000000000000000000000000000000900465ffffffffffff168015612065574265ffffffffffff8216101561203c576001820154825479ffffffffffffffffffffffffffffffffffffffffffffffffffff167401000000000000000000000000000000000000000090910465ffffffffffff167a01000000000000000000000000000000000000000000000000000002178255612065565b6040517f2b1fa2edafe6f7b9e97c1a9e0c3660e645beb2dcaa2d45bdbf9beaf5472e1ec5905f90a15b5060010180546001600160a01b03167401000000000000000000000000000000000000000065ffffffffffff9485160279ffffffffffffffffffffffffffffffffffffffffffffffffffff16177a0100000000000000000000000000000000000000000000000000009290931691909102919091179055565b5f826120ea8584612634565b14949350505050565b5f7feef3dac4538c82c8ace4063ab0acd2d15cdb5883aa1dff7c2673abb3d86984008315801561214f57507feef3dac4538c82c8ace4063ab0acd2d15cdb5883aa1dff7c2673abb3d8698401546001600160a01b038481169116145b1561217f576001810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001690555b61198f8484612676565b7fcd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f033005460ff166116ef576040517f8dfc202b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005468010000000000000000900460ff166116ef576040517fd7e6bcf800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6122536121e4565b7fcd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f03300805460ff19169055565b6122866121e4565b7feef3dac4538c82c8ace4063ab0acd2d15cdb5883aa1dff7c2673abb3d86984006001600160a01b0382166122e9576040517fc22c80220000000000000000000000000000000000000000000000000000000081525f6004820152602401610994565b805479ffffffffffffffffffffffffffffffffffffffffffffffffffff167a01000000000000000000000000000000000000000000000000000065ffffffffffff8516021781556117c85f836118b6565b5f8281527f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800602081815260408084206001600160a01b038616855290915282205460ff166123fd575f848152602082815260408083206001600160a01b03871684529091529020805460ff191660011790556123b33390565b6001600160a01b0316836001600160a01b0316857f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a46001915050610864565b5f915050610864565b61240f8261271a565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a280511561245357610d4f82826127c1565b610d95612833565b5f65ffffffffffff8211156124a6576040517f6dfcc6500000000000000000000000000000000000000000000000000000000081526030600482015260248101839052604401610994565b5090565b7feef3dac4538c82c8ace4063ab0acd2d15cdb5883aa1dff7c2673abb3d869840080547401000000000000000000000000000000000000000065ffffffffffff84811682027fffffffffffff000000000000000000000000000000000000000000000000000084166001600160a01b0388161717845591041680156117c8576040517f8886ebfc4259abdbc16601dd8fb5678e54878f47b3c34836cfc51154a9605109905f90a150505050565b5f5f6125616114e5565b90508065ffffffffffff168365ffffffffffff161161258957612584838261310d565b611392565b61139265ffffffffffff84166206978061286b565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167f4e2312e000000000000000000000000000000000000000000000000000000000148061086457507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff00000000000000000000000000000000000000000000000000000000831614610864565b5f81815b845181101561266e576126648286838151811061265757612657612fed565b602002602001015161287a565b9150600101612638565b509392505050565b5f8281527f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800602081815260408084206001600160a01b038616855290915282205460ff16156123fd575f848152602082815260408083206001600160a01b0387168085529252808320805460ff1916905551339287917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a46001915050610864565b806001600160a01b03163b5f03612768576040517f4c9c8ce30000000000000000000000000000000000000000000000000000000081526001600160a01b0382166004820152602401610994565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b60605f5f846001600160a01b0316846040516127dd919061312b565b5f60405180830381855af49150503d805f8114612815576040519150601f19603f3d011682016040523d82523d5f602084013e61281a565b606091505b509150915061282a8583836128a6565b95945050505050565b34156116ef576040517fb398979f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f828218828410028218611392565b5f818310612894575f828152602084905260409020611392565b5f838152602083905260409020611392565b6060826128b65761258482612916565b81511580156128cd57506001600160a01b0384163b155b1561290f576040517f9996b3150000000000000000000000000000000000000000000000000000000081526001600160a01b0385166004820152602401610994565b5080611392565b8051156129265780518082602001fd5b6040517fd6bda27500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f60208284031215612968575f5ffd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114611392575f5ffd5b5f5f602083850312156129a8575f5ffd5b823567ffffffffffffffff8111156129be575f5ffd5b8301601f810185136129ce575f5ffd5b803567ffffffffffffffff8111156129e4575f5ffd5b8560208260051b84010111156129f8575f5ffd5b6020919091019590945092505050565b5f60208284031215612a18575f5ffd5b5035919050565b80356001600160a01b0381168114612a35575f5ffd5b919050565b5f5f60408385031215612a4b575f5ffd5b82359150612a5b60208401612a1f565b90509250929050565b5f5f60408385031215612a75575f5ffd5b612a7e83612a1f565b9150612a5b60208401612a1f565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b60405160a0810167ffffffffffffffff81118282101715612adc57612adc612a8c565b60405290565b604051601f8201601f1916810167ffffffffffffffff81118282101715612b0b57612b0b612a8c565b604052919050565b5f60408284031215612b23575f5ffd5b6040805190810167ffffffffffffffff81118282101715612b4657612b46612a8c565b604052823581526020928301359281019290925250919050565b5f5f5f60808486031215612b72575f5ffd5b612b7c8585612b13565b925060408401359150612b9160608501612a1f565b90509250925092565b5f5f60608385031215612bab575f5ffd5b612bb58484612b13565b9150612a5b60408401612a1f565b5f82601f830112612bd2575f5ffd5b813567ffffffffffffffff811115612bec57612bec612a8c565b612bff6020601f19601f84011601612ae2565b818152846020838601011115612c13575f5ffd5b816020850160208301375f918101602001919091529392505050565b5f5f60408385031215612c40575f5ffd5b612c4983612a1f565b9150602083013567ffffffffffffffff811115612c64575f5ffd5b612c7085828601612bc3565b9150509250929050565b5f67ffffffffffffffff821115612c9357612c93612a8c565b5060051b60200190565b5f60a08284031215612cad575f5ffd5b612cb5612ab9565b9050612cc082612a1f565b8152602082810135908201526040808301359082015260608083013590820152608082013567ffffffffffffffff811115612cf9575f5ffd5b8201601f81018413612d09575f5ffd5b8035612d1c612d1782612c7a565b612ae2565b8082825260208201915060208360051b850101925086831115612d3d575f5ffd5b6020840193505b82841015612d5f578335825260209384019390910190612d44565b60808501525091949350505050565b5f5f60408385031215612d7f575f5ffd5b823567ffffffffffffffff811115612d95575f5ffd5b612da185828601612c9d565b925050612a5b60208401612a1f565b5f60208284031215612dc0575f5ffd5b61139282612a1f565b5f60208284031215612dd9575f5ffd5b813565ffffffffffff81168114611392575f5ffd5b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f5f5f60608486031215612e35575f5ffd5b612e3e84612a1f565b9250612e4c60208501612a1f565b929592945050506040919091013590565b5f82601f830112612e6c575f5ffd5b8135612e7a612d1782612c7a565b8082825260208201915060208360051b860101925085831115612e9b575f5ffd5b602085015b83811015612eb8578035835260209283019201612ea0565b5095945050505050565b5f5f5f5f5f60a08688031215612ed6575f5ffd5b612edf86612a1f565b9450612eed60208701612a1f565b9350604086013567ffffffffffffffff811115612f08575f5ffd5b612f1488828901612e5d565b935050606086013567ffffffffffffffff811115612f30575f5ffd5b612f3c88828901612e5d565b925050608086013567ffffffffffffffff811115612f58575f5ffd5b612f6488828901612bc3565b9150509295509295909350565b5f5f5f5f5f60a08688031215612f85575f5ffd5b612f8e86612a1f565b9450612f9c60208701612a1f565b93506040860135925060608601359150608086013567ffffffffffffffff811115612f58575f5ffd5b5f5f60408385031215612fd6575f5ffd5b612fdf83612a1f565b946020939093013593505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f82357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6183360301811261304c575f5ffd5b9190910192915050565b5f6108643683612c9d565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b8181038181111561086457610864613061565b5f602082840312156130b1575f5ffd5b5051919050565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036130e8576130e8613061565b5060010190565b65ffffffffffff818116838216019081111561086457610864613061565b65ffffffffffff828116828216039081111561086457610864613061565b5f82518060208501845e5f92019182525091905056fea26469706673582212205357918cff34f453db97b4fc6335a2d8f9d2d2a96e864c9972e27efcba843c5364736f6c634300081c0033