0 txs
0 calls
constructor
constructor()
functions
DEFAULT_ADMIN_ROLE
viewfunction DEFAULT_ADMIN_ROLE() view returns (bytes32)
getJobsAddr
viewfunction getJobsAddr() view returns (address)
getRegularsTokenAddr
viewfunction getRegularsTokenAddr() view returns (address)
getRoleAdmin
viewfunction getRoleAdmin(bytes32 role) view returns (bytes32)
getSalariesAddr
viewfunction getSalariesAddr() view returns (address)
hasRole
viewfunction hasRole(bytes32 role, address account) view returns (bool)
maxClaimAmount
viewfunction maxClaimAmount() view returns (uint256)
maxClaimTime
viewfunction maxClaimTime() view returns (uint256)
MINTER_ROLE
viewfunction MINTER_ROLE() view returns (bytes32)
paused
viewfunction paused() view returns (bool)
payDuration
viewfunction payDuration() view returns (uint256)
salariesWithBonus
viewfunction salariesWithBonus(uint256[][] _sortedIds) view returns (uint256, uint256)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
unclaimedByJob
viewfunction unclaimedByJob(uint256 _jobId) view returns (uint256)
unclaimedDuration
viewfunction unclaimedDuration(uint256 _jobId) view returns (uint256)
unclaimedWithBonus
viewfunction unclaimedWithBonus(uint256[][] _sortedIds) view returns (uint256, uint256)
claim
nonpayablefunction claim(uint256[][] _sortedIds, address _ownerAddr)
claimByJob
nonpayablefunction claimByJob(uint256 _jobId, address _ownerAddr)
grantRole
nonpayablefunction grantRole(bytes32 role, address account)
pause
nonpayablefunction pause()
renounceRole
nonpayablefunction renounceRole(bytes32 role, address account)
revokeRole
nonpayablefunction revokeRole(bytes32 role, address account)
setJobsByAddr
nonpayablefunction setJobsByAddr(address _addr)
setMaxClaimAmount
nonpayablefunction setMaxClaimAmount(uint256 _amount)
setMaxClaimTime
nonpayablefunction setMaxClaimTime(uint256 _maxClaimTime)
setPayDuration
nonpayablefunction setPayDuration(uint256 _payDuration)
setRegularsTokenAddr
nonpayablefunction setRegularsTokenAddr(address _addr)
setSalariesByAddr
nonpayablefunction setSalariesByAddr(address _addr)
unpause
nonpayablefunction unpause()
events
Claimed
event Claimed(address wallet, uint256 amount)
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)
Unpaused
event Unpaused(address account)
errors
No errors.
creation bytecode
0x608060405262093a8060025562dd7c0060035569054b40b1f852bda000006004553480156200002d57600080fd5b506001805460ff1916905562000045600033620000f0565b6200006060008051602062002f0583398151915233620000f0565b600580546001600160a01b0319167378b5c6149c87c82edcffc73c230395abbc56ddd5179055620000a573878adc4ef1948180434005d6f2eb91f0af3e0d1562000191565b620000c473f77b7020cfbe496be6e3662a0e81c0c50c2651ac620001d0565b600880546001600160a01b03191673d305a6383af354577f044578c73cf89fed87e0b5179055620005ed565b6000828152602081815260408083206001600160a01b038516845290915290205460ff166200018d576000828152602081815260408083206001600160a01b03851684529091529020805460ff191660011790556200014c3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b60008051602062002f05833981519152620001ad81336200020f565b50600680546001600160a01b0319166001600160a01b0392909216919091179055565b60008051602062002f05833981519152620001ec81336200020f565b50600780546001600160a01b0319166001600160a01b0392909216919091179055565b6000828152602081815260408083206001600160a01b038516845290915290205460ff166200018d5762000259816001600160a01b03166014620002b360201b62001e071760201c565b6200026f83602062001e07620002b3821b17811c565b60405160200162000282929190620004a6565b60408051601f198184030181529082905262461bcd60e51b8252620002aa916004016200051f565b60405180910390fd5b60606000620002c48360026200056a565b620002d19060026200058c565b6001600160401b03811115620002eb57620002eb620005a7565b6040519080825280601f01601f19166020018201604052801562000316576020820181803683370190505b509050600360fc1b81600081518110620003345762000334620005bd565b60200101906001600160f81b031916908160001a905350600f60fb1b81600181518110620003665762000366620005bd565b60200101906001600160f81b031916908160001a90535060006200038c8460026200056a565b620003999060016200058c565b90505b60018111156200041b576f181899199a1a9b1b9c1cb0b131b232b360811b85600f1660108110620003d157620003d1620005bd565b1a60f81b828281518110620003ea57620003ea620005bd565b60200101906001600160f81b031916908160001a90535060049490941c936200041381620005d3565b90506200039c565b5083156200046c5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401620002aa565b9392505050565b60005b838110156200049057818101518382015260200162000476565b83811115620004a0576000848401525b50505050565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351620004e081601785016020880162000473565b7001034b99036b4b9b9b4b733903937b6329607d1b60179184019182015283516200051381602884016020880162000473565b01602801949350505050565b60208152600082518060208401526200054081604085016020870162000473565b601f01601f19169190910160400192915050565b634e487b7160e01b600052601160045260246000fd5b600081600019048311821515161562000587576200058762000554565b500290565b60008219821115620005a257620005a262000554565b500190565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b600081620005e557620005e562000554565b506000190190565b61290880620005fd6000396000f3fe608060405234801561001057600080fd5b50600436106101cf5760003560e01c80637728f66f11610104578063aeef6439116100a2578063d547741f11610071578063d547741f146103fa578063d7fa8afe1461040d578063df0661fe1461041e578063fb1186111461043157600080fd5b8063aeef6439146103ae578063b7db6382146103b7578063c618a877146103c0578063d5391393146103d357600080fd5b80638456cb59116100de5780638456cb591461035657806391d148541461035e578063a217fddf14610395578063a3a096ad1461039d57600080fd5b80637728f66f1461031d5780637b352f8e1461033057806382b30c7e1461034357600080fd5b806336568abe116101715780634779fd7b1161014b5780634779fd7b146102c457806352966014146102d75780635c975abb146102ea5780636079401c146102f557600080fd5b806336568abe146102a05780633f4ba83a146102b3578063452fd160146102bb57600080fd5b80631ebe7a99116101ad5780631ebe7a9914610224578063248a9ca314610237578063254bc006146102685780632f2ff15d1461028d57600080fd5b806301ffc9a7146101d45780630c387b64146101fc5780631931f16114610211575b600080fd5b6101e76101e2366004612412565b610444565b60405190151581526020015b60405180910390f35b61020f61020a366004612451565b6104ad565b005b61020f61021f366004612451565b610508565b61020f61023236600461246e565b610563565b61025a61024536600461249e565b60009081526020819052604090206001015490565b6040519081526020016101f3565b6007546001600160a01b03165b6040516001600160a01b0390911681526020016101f3565b61020f61029b36600461246e565b610910565b61020f6102ae36600461246e565b610936565b61020f6109c2565b61025a60025481565b61020f6102d236600461249e565b6109f8565b61020f6102e536600461249e565b610a29565b60015460ff166101e7565b610308610303366004612608565b610a5a565b604080519283526020830191909152016101f3565b61020f61032b36600461263d565b610fee565b61020f61033e36600461249e565b6116ec565b610308610351366004612608565b61171d565b61020f611b87565b6101e761036c36600461246e565b6000918252602082815260408084206001600160a01b0393909316845291905290205460ff1690565b61025a600081565b6006546001600160a01b0316610275565b61025a60045481565b61025a60035481565b61020f6103ce366004612451565b611bba565b61025a7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a681565b61020f61040836600461246e565b611c15565b6005546001600160a01b0316610275565b61025a61042c36600461249e565b611c3b565b61025a61043f36600461249e565b611cca565b60006001600160e01b031982167f7965db0b0000000000000000000000000000000000000000000000000000000014806104a757507f01ffc9a7000000000000000000000000000000000000000000000000000000006001600160e01b03198316145b92915050565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a66104d88133611fef565b506007805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a66105338133611fef565b506005805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b60015460ff16156105ae5760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b60448201526064015b60405180910390fd5b6006546040516331a9108f60e11b8152600481018490526001600160a01b03838116921690636352211e90602401602060405180830381865afa1580156105f9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061061d9190612684565b6001600160a01b0316146106735760405162461bcd60e51b815260206004820152601960248201527f4e6f7420746865206f776e6572206f662074686973206a6f620000000000000060448201526064016105a5565b6006546040516336ed442960e01b8152600481018490526001600160a01b03909116906336ed442990602401602060405180830381865afa1580156106bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106e091906126a1565b1561072d5760405162461bcd60e51b815260206004820152601660248201527f4e6f2072656720776f726b696e6720746865206a6f620000000000000000000060448201526064016105a5565b6006546040517f978163e0000000000000000000000000000000000000000000000000000000008152600481018490526001600160a01b0383811692169063f07d1f0090829063978163e090602401602060405180830381865afa158015610799573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107bd91906126c3565b6040518263ffffffff1660e01b81526004016107db91815260200190565b602060405180830381865afa1580156107f8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061081c9190612684565b6001600160a01b0316146108725760405162461bcd60e51b815260206004820152601a60248201527f596f7520646f6e2774206f776e2061737369676e65642072656700000000000060448201526064016105a5565b600061087d83611c3b565b6008546040517fd923c3c40000000000000000000000000000000000000000000000000000000081526004810186905263ffffffff421660248201529192506001600160a01b03169063d923c3c490604401600060405180830381600087803b1580156108e957600080fd5b505af11580156108fd573d6000803e3d6000fd5b5050505061090b828261206d565b505050565b60008281526020819052604090206001015461092c8133611fef565b61090b83836121ca565b6001600160a01b03811633146109b45760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084016105a5565b6109be8282612268565b5050565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a66109ed8133611fef565b6109f56122e7565b50565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6610a238133611fef565b50600255565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6610a548133611fef565b50600355565b805160009081908180805b83811015610fe2576000878281518110610a8157610a816126dc565b6020026020010151600081518110610a9b57610a9b6126dc565b6020026020010151905060008260001480610b275750888381518110610ac357610ac36126dc565b6020026020010151600081518110610add57610add6126dc565b602002602001015189600185610af39190612708565b81518110610b0357610b036126dc565b6020026020010151600081518110610b1d57610b1d6126dc565b6020026020010151105b610b735760405162461bcd60e51b815260206004820152601e60248201527f436f6d70616e7920494473206d7573742062652073657175656e7469616c000060448201526064016105a5565b60015b898481518110610b8857610b886126dc565b602002602001015151811015610e9a5760008a8581518110610bac57610bac6126dc565b60200260200101518281518110610bc557610bc56126dc565b602002602001015190508160011480610c4d57508a8581518110610beb57610beb6126dc565b60200260200101518281518110610c0457610c046126dc565b60200260200101518b8681518110610c1e57610c1e6126dc565b6020026020010151600184610c339190612708565b81518110610c4357610c436126dc565b6020026020010151105b610c995760405162461bcd60e51b815260206004820152601660248201527f496473206d7573742062652073657175656e7469616c0000000000000000000060448201526064016105a5565b60065460405163a708900760e01b81526004810183905285916001600160a01b03169063a708900790602401602060405180830381865afa158015610ce2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d0691906126c3565b14610d535760405162461bcd60e51b815260206004820152601760248201527f4e6f7420616c6c2073616d6520636f6d70616e7920696400000000000000000060448201526064016105a5565b6006546040516336ed442960e01b8152600481018390526001600160a01b03909116906336ed442990602401602060405180830381865afa158015610d9c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dc091906126a1565b15610e0d5760405162461bcd60e51b815260206004820152601660248201527f4e6f2072656720776f726b696e6720746865206a6f620000000000000000000060448201526064016105a5565b60075460405163a9b6c43560e01b8152600481018390526001600160a01b039091169063a9b6c43590602401602060405180830381865afa158015610e56573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e7a91906126c3565b610e84908461271f565b9250508080610e9290612737565b915050610b76565b50610ea5818661271f565b6007548a519196506001600160a01b03169063592799029083906001908d9088908110610ed457610ed46126dc565b602002602001015151610ee79190612708565b60065460405163bcd5349f60e01b8152600481018890526001600160a01b039091169063bcd5349f90602401602060405180830381865afa158015610f30573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f5491906126c3565b6040516001600160e01b031960e086901b168152600481019390935260248301919091526044820152606401602060405180830381865afa158015610f9d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fc191906126c3565b610fcb908561271f565b935050508080610fda90612737565b915050610a65565b50909590945092505050565b60015460ff16156110345760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b60448201526064016105a5565b8151806110835760405162461bcd60e51b815260206004820152600c60248201527f6e6f7468696e672073656e74000000000000000000000000000000000000000060448201526064016105a5565b6000805b828110156116db5760008582815181106110a3576110a36126dc565b60200260200101516000815181106110bd576110bd6126dc565b602002602001015190506000826000148061114957508683815181106110e5576110e56126dc565b60200260200101516000815181106110ff576110ff6126dc565b6020026020010151876001856111159190612708565b81518110611125576111256126dc565b602002602001015160008151811061113f5761113f6126dc565b6020026020010151105b6111955760405162461bcd60e51b815260206004820152601e60248201527f436f6d70616e7920494473206d7573742062652073657175656e7469616c000060448201526064016105a5565b60015b8784815181106111aa576111aa6126dc565b60200260200101515181101561151d5760008885815181106111ce576111ce6126dc565b602002602001015182815181106111e7576111e76126dc565b60200260200101519050816001148061126f575088858151811061120d5761120d6126dc565b60200260200101518281518110611226576112266126dc565b6020026020010151898681518110611240576112406126dc565b60200260200101516001846112559190612708565b81518110611265576112656126dc565b6020026020010151105b6112bb5760405162461bcd60e51b815260206004820152601a60248201527f4a6f6220496473206d7573742062652073657175656e7469616c00000000000060448201526064016105a5565b60065460405163a708900760e01b81526004810183905285916001600160a01b03169063a708900790602401602060405180830381865afa158015611304573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061132891906126c3565b146113755760405162461bcd60e51b815260206004820152601760248201527f4e6f7420616c6c2073616d6520636f6d70616e7920696400000000000000000060448201526064016105a5565b6006546040516331a9108f60e11b8152600481018390526001600160a01b038a8116921690636352211e90602401602060405180830381865afa1580156113c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113e49190612684565b6001600160a01b03161461143a5760405162461bcd60e51b815260206004820152601960248201527f4e6f7420746865206f776e6572206f662074686973206a6f620000000000000060448201526064016105a5565b6006546040516336ed442960e01b8152600481018390526001600160a01b03909116906336ed442990602401602060405180830381865afa158015611483573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114a791906126a1565b156114f45760405162461bcd60e51b815260206004820152601660248201527f4e6f2072656720776f726b696e6720746865206a6f620000000000000000000060448201526064016105a5565b6114fd81611c3b565b611507908461271f565b925050808061151590612737565b915050611198565b5060075487516001600160a01b039091169063592799029083906001908b908890811061154c5761154c6126dc565b60200260200101515161155f9190612708565b60065460405163bcd5349f60e01b8152600481018890526001600160a01b039091169063bcd5349f90602401602060405180830381865afa1580156115a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115cc91906126c3565b6040516001600160e01b031960e086901b168152600481019390935260248301919091526044820152606401602060405180830381865afa158015611615573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061163991906126c3565b611643908561271f565b60085488519195506001600160a01b031690630acb777c9089908690811061166d5761166d6126dc565b602002602001015160016040518363ffffffff1660e01b8152600401611694929190612752565b600060405180830381600087803b1580156116ae57600080fd5b505af11580156116c2573d6000803e3d6000fd5b50505050505080806116d390612737565b915050611087565b506116e6838261206d565b50505050565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a66117178133611fef565b50600455565b805160009081908180805b83811015610fe2576000878281518110611744576117446126dc565b602002602001015160008151811061175e5761175e6126dc565b60200260200101519050600082600014806117ea5750888381518110611786576117866126dc565b60200260200101516000815181106117a0576117a06126dc565b6020026020010151896001856117b69190612708565b815181106117c6576117c66126dc565b60200260200101516000815181106117e0576117e06126dc565b6020026020010151105b6118365760405162461bcd60e51b815260206004820152601e60248201527f436f6d70616e7920494473206d7573742062652073657175656e7469616c000060448201526064016105a5565b60015b89848151811061184b5761184b6126dc565b602002602001015151811015611a3f5760008a858151811061186f5761186f6126dc565b60200260200101518281518110611888576118886126dc565b60200260200101519050816001148061191057508a85815181106118ae576118ae6126dc565b602002602001015182815181106118c7576118c76126dc565b60200260200101518b86815181106118e1576118e16126dc565b60200260200101516001846118f69190612708565b81518110611906576119066126dc565b6020026020010151105b61195c5760405162461bcd60e51b815260206004820152601660248201527f496473206d7573742062652073657175656e7469616c0000000000000000000060448201526064016105a5565b60065460405163a708900760e01b81526004810183905285916001600160a01b03169063a708900790602401602060405180830381865afa1580156119a5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119c991906126c3565b14611a165760405162461bcd60e51b815260206004820152601760248201527f4e6f7420616c6c2073616d6520636f6d70616e7920696400000000000000000060448201526064016105a5565b611a1f81611c3b565b611a29908461271f565b9250508080611a3790612737565b915050611839565b50611a4a818661271f565b6007548a519196506001600160a01b03169063592799029083906001908d9088908110611a7957611a796126dc565b602002602001015151611a8c9190612708565b60065460405163bcd5349f60e01b8152600481018890526001600160a01b039091169063bcd5349f90602401602060405180830381865afa158015611ad5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611af991906126c3565b6040516001600160e01b031960e086901b168152600481019390935260248301919091526044820152606401602060405180830381865afa158015611b42573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b6691906126c3565b611b70908561271f565b935050508080611b7f90612737565b915050611728565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6611bb28133611fef565b6109f5612383565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6611be58133611fef565b506006805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b600082815260208190526040902060010154611c318133611fef565b61090b8383612268565b6000600254611c4983611cca565b60075460405163a9b6c43560e01b8152600481018690526001600160a01b039091169063a9b6c43590602401602060405180830381865afa158015611c92573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cb691906126c3565b611cc0919061279a565b6104a791906127b9565b6008546040517f9507d39a0000000000000000000000000000000000000000000000000000000081526004810183905260009182916001600160a01b0390911690639507d39a90602401602060405180830381865afa158015611d31573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d5591906126c3565b905080611de5576006546040517fb633620c000000000000000000000000000000000000000000000000000000008152600481018590526001600160a01b039091169063b633620c90602401602060405180830381865afa158015611dbe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611de291906126c3565b90505b6000611df18242612708565b9050611dff816003546123fc565b949350505050565b60606000611e1683600261279a565b611e2190600261271f565b67ffffffffffffffff811115611e3957611e396124b7565b6040519080825280601f01601f191660200182016040528015611e63576020820181803683370190505b5090507f300000000000000000000000000000000000000000000000000000000000000081600081518110611e9a57611e9a6126dc565b60200101906001600160f81b031916908160001a9053507f780000000000000000000000000000000000000000000000000000000000000081600181518110611ee557611ee56126dc565b60200101906001600160f81b031916908160001a9053506000611f0984600261279a565b611f1490600161271f565b90505b6001811115611f99577f303132333435363738396162636465660000000000000000000000000000000085600f1660108110611f5557611f556126dc565b1a60f81b828281518110611f6b57611f6b6126dc565b60200101906001600160f81b031916908160001a90535060049490941c93611f92816127db565b9050611f17565b508315611fe85760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016105a5565b9392505050565b6000828152602081815260408083206001600160a01b038516845290915290205460ff166109be5761202b816001600160a01b03166014611e07565b612036836020611e07565b60405160200161204792919061281e565b60408051601f198184030181529082905262461bcd60e51b82526105a59160040161289f565b60015460ff16156120b35760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b60448201526064016105a5565b60045481106121045760405162461bcd60e51b815260206004820152601260248201527f45786365656473206d617820616d6f756e74000000000000000000000000000060448201526064016105a5565b6005546040517f40c10f190000000000000000000000000000000000000000000000000000000081526001600160a01b03848116600483015260248201849052909116906340c10f1990604401600060405180830381600087803b15801561216b57600080fd5b505af115801561217f573d6000803e3d6000fd5b5050604080516001600160a01b0386168152602081018590527fd8138f8a3f377c5259ca548e70e4c2de94f129f5a11036a15b69513cba2b426a935001905060405180910390a15050565b6000828152602081815260408083206001600160a01b038516845290915290205460ff166109be576000828152602081815260408083206001600160a01b03851684529091529020805460ff191660011790556122243390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6000828152602081815260408083206001600160a01b038516845290915290205460ff16156109be576000828152602081815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b60015460ff166123395760405162461bcd60e51b815260206004820152601460248201527f5061757361626c653a206e6f742070617573656400000000000000000000000060448201526064016105a5565b6001805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b60015460ff16156123c95760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b60448201526064016105a5565b6001805460ff1916811790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25833612366565b600081831061240b5781611fe8565b5090919050565b60006020828403121561242457600080fd5b81356001600160e01b031981168114611fe857600080fd5b6001600160a01b03811681146109f557600080fd5b60006020828403121561246357600080fd5b8135611fe88161243c565b6000806040838503121561248157600080fd5b8235915060208301356124938161243c565b809150509250929050565b6000602082840312156124b057600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff811182821017156124f6576124f66124b7565b604052919050565b600067ffffffffffffffff821115612518576125186124b7565b5060051b60200190565b600082601f83011261253357600080fd5b81356020612548612543836124fe565b6124cd565b828152600592831b850182019282820191908785111561256757600080fd5b8387015b858110156125fb57803567ffffffffffffffff81111561258b5760008081fd5b8801603f81018a1361259d5760008081fd5b8581013560406125af612543836124fe565b82815291851b8301810191888101908d8411156125cc5760008081fd5b938201935b838510156125ea578435825293890193908901906125d1565b88525050509385019350840161256b565b5090979650505050505050565b60006020828403121561261a57600080fd5b813567ffffffffffffffff81111561263157600080fd5b611dff84828501612522565b6000806040838503121561265057600080fd5b823567ffffffffffffffff81111561266757600080fd5b61267385828601612522565b92505060208301356124938161243c565b60006020828403121561269657600080fd5b8151611fe88161243c565b6000602082840312156126b357600080fd5b81518015158114611fe857600080fd5b6000602082840312156126d557600080fd5b5051919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60008282101561271a5761271a6126f2565b500390565b60008219821115612732576127326126f2565b500190565b600060001982141561274b5761274b6126f2565b5060010190565b604080825283519082018190526000906020906060840190828701845b8281101561278b5781518452928401929084019060010161276f565b50505092019290925292915050565b60008160001904831182151516156127b4576127b46126f2565b500290565b6000826127d657634e487b7160e01b600052601260045260246000fd5b500490565b6000816127ea576127ea6126f2565b506000190190565b60005b8381101561280d5781810151838201526020016127f5565b838111156116e65750506000910152565b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008152600083516128568160178501602088016127f2565b7f206973206d697373696e6720726f6c652000000000000000000000000000000060179184019182015283516128938160288401602088016127f2565b01602801949350505050565b60208152600082518060208401526128be8160408501602087016127f2565b601f01601f1916919091016040019291505056fea264697066735822122066845adda29390dd70f2035d83f1a6d5346609ee65f07551b004c6094359a14964736f6c634300080c00339f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6