0 txs
0 calls
constructor
constructor()
functions
DEFAULT_ADMIN_ROLE
viewfunction DEFAULT_ADMIN_ROLE() view returns (bytes32)
disabled
viewfunction disabled() view returns (bool)
EXCHANGER
viewfunction EXCHANGER() view returns (bytes32)
findItemsByPool
viewfunction findItemsByPool(address pool) view returns (tuple[])
getItems
viewfunction getItems() view returns (tuple[])
getItemsLength
viewfunction getItemsLength() view returns (uint256)
getRoleAdmin
viewfunction getRoleAdmin(bytes32 role) view returns (bytes32)
hasRole
viewfunction hasRole(bytes32 role, address account) view returns (bool)
items
viewfunction items(uint256) view returns (address pool, address token, string poolName, address bribe, uint8 operation, address to, string dexName, uint24 feePercent, address feeReceiver)
proxiableUUID
viewfunction proxiableUUID() view returns (bytes32)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
undoneDisabled
viewfunction undoneDisabled() view returns (bool)
addItem
nonpayablefunction addItem(tuple item)
addItems
nonpayablefunction addItems(tuple[] items)
bsc
nonpayablefunction bsc()
grantRole
nonpayablefunction grantRole(bytes32 role, address account)
initialize
nonpayablefunction initialize()
payoutDone
nonpayablefunction payoutDone(address token)
payoutUndone
nonpayablefunction payoutUndone(address token)
removeItem
nonpayablefunction removeItem(address token, address pool)
removeItems
nonpayablefunction removeItems()
renounceRole
nonpayablefunction renounceRole(bytes32 role, address account)
revokeRole
nonpayablefunction revokeRole(bytes32 role, address account)
setDisabled
nonpayablefunction setDisabled(bool _disabled, bool _undoneDisabled)
upgradeTo
nonpayablefunction upgradeTo(address newImplementation)
upgradeToAndCall
payablefunction upgradeToAndCall(address newImplementation, bytes data) payable
events
AddItem
event AddItem(address token, address pool)
AdminChanged
event AdminChanged(address previousAdmin, address newAdmin)
BeaconUpgraded
event BeaconUpgraded(address indexed beacon)
DisabledUpdated
event DisabledUpdated(bool disabled, bool undoneDisabled)
Initialized
event Initialized(uint8 version)
PayoutDoneDisabled
event PayoutDoneDisabled()
PayoutUndoneDisabled
event PayoutUndoneDisabled()
PoolOperation
event PoolOperation(string dexName, string operation, string poolName, address pool, address token, uint256 amount, address to)
RemoveItem
event RemoveItem(address token, address pool)
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)
Upgraded
event Upgraded(address indexed implementation)
errors
No errors.
creation bytecode
0x60a0604052306080523480156200001557600080fd5b50600054610100900460ff1615808015620000375750600054600160ff909116105b8062000067575062000054306200014160201b620029591760201c565b15801562000067575060005460ff166001145b620000cf5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840160405180910390fd5b6000805460ff191660011790558015620000f3576000805461ff0019166101001790555b80156200013a576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5062000150565b6001600160a01b03163b151590565b608051614da262000188600039600081816106490152818161068901528181610d2101528181610d610152610df00152614da26000f3fe6080604052600436106101815760003560e01c80636e28e3d5116100d1578063bd0f10531161008a578063c6ff1fc011610064578063c6ff1fc01461044a578063d0b11c1e14610469578063d547741f14610489578063ee070805146104a957600080fd5b8063bd0f1053146103c1578063bfb231d2146103f5578063c53963e61461042a57600080fd5b80636e28e3d5146103175780638129fc1c1461033757806391d148541461034c5780639d3f19c61461036c5780639d433fb51461038c578063a217fddf146103ac57600080fd5b80633659cfe61161013e5780634f1ef286116101185780634f1ef286146102ce57806352d1902d146102e15780636408af7a146102f65780636bc828391461030257600080fd5b80633659cfe61461026c5780633ca34eae1461028c578063410d59cc146102b957600080fd5b806301ffc9a714610186578063194f4795146101bb5780631c462e97146101da578063248a9ca3146101fc5780632f2ff15d1461022c57806336568abe1461024c575b600080fd5b34801561019257600080fd5b506101a66101a1366004613f81565b6104c3565b60405190151581526020015b60405180910390f35b3480156101c757600080fd5b5060fb545b6040519081526020016101b2565b3480156101e657600080fd5b506101fa6101f5366004613fb9565b6104fa565b005b34801561020857600080fd5b506101cc610217366004613ff2565b60009081526065602052604090206001015490565b34801561023857600080fd5b506101fa610247366004614027565b610597565b34801561025857600080fd5b506101fa610267366004614027565b6105c1565b34801561027857600080fd5b506101fa610287366004614053565b61063f565b34801561029857600080fd5b506102ac6102a7366004614053565b61071e565b6040516101b29190614119565b3480156102c557600080fd5b506102ac610ab0565b6101fa6102dc366004614314565b610d17565b3480156102ed57600080fd5b506101cc610de3565b3480156101fa57600080fd5b34801561030e57600080fd5b506101fa610e98565b34801561032357600080fd5b506101fa610332366004614053565b610f84565b34801561034357600080fd5b506101fa611330565b34801561035857600080fd5b506101a6610367366004614027565b6113fa565b34801561037857600080fd5b506101fa610387366004614053565b611425565b34801561039857600080fd5b506101fa6103a7366004614541565b611770565b3480156103b857600080fd5b506101cc600081565b3480156103cd57600080fd5b506101cc7f3eb675f159e6ca6cf5de6bfbbc8c4521cfd428f5e9166e51094d5898504caf2d81565b34801561040157600080fd5b50610415610410366004613ff2565b6117dd565b6040516101b2999897969594939291906145f6565b34801561043657600080fd5b506101fa61044536600461467b565b61197c565b34801561045657600080fd5b5060fc546101a690610100900460ff1681565b34801561047557600080fd5b506101fa6104843660046146a5565b6121bb565b34801561049557600080fd5b506101fa6104a4366004614027565b612934565b3480156104b557600080fd5b5060fc546101a69060ff1681565b60006001600160e01b03198216637965db0b60e01b14806104f457506301ffc9a760e01b6001600160e01b03198316145b92915050565b6105056000336113fa565b61052a5760405162461bcd60e51b8152600401610521906146e1565b60405180910390fd5b60fc805461ffff191683151561ff00191617610100831515810291909117918290556040805160ff8085161515825292909304909116151560208301527f9b6a664688f9a7f55cccf4a1ab507cd483c9e3547c13d1e48f247c749ab27feb91015b60405180910390a15050565b6000828152606560205260409020600101546105b281612968565b6105bc8383612972565b505050565b6001600160a01b03811633146106315760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608401610521565b61063b82826129f8565b5050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036106875760405162461bcd60e51b81526004016105219061470f565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166106d0600080516020614d06833981519152546001600160a01b031690565b6001600160a01b0316146106f65760405162461bcd60e51b81526004016105219061475b565b6106ff81612a5f565b6040805160008082526020820190925261071b91839190612a6a565b50565b60606000805b60fb5481101561078a57836001600160a01b031660fb828154811061074b5761074b6147a7565b60009182526020909120601190910201546001600160a01b0316036107785781610774816147d3565b9250505b80610782816147d3565b915050610724565b506000816001600160401b038111156107a5576107a561424e565b6040519080825280602002602001820160405280156107de57816020015b6107cb613e6d565b8152602001906001900390816107c35790505b5090506000805b60fb54811015610aa657856001600160a01b031660fb828154811061080c5761080c6147a7565b60009182526020909120601190910201546001600160a01b031603610a9457600060fb8281548110610840576108406147a7565b60009182526020918290206040805161014081018252601190930290910180546001600160a01b0390811684526001820154169383019390935260028301805492939291840191610890906147ec565b80601f01602080910402602001604051908101604052809291908181526020018280546108bc906147ec565b80156109095780601f106108de57610100808354040283529160200191610909565b820191906000526020600020905b8154815290600101906020018083116108ec57829003601f168201915b50505091835250506003828101546001600160a01b0381166020840152604090920191600160a01b900460ff1690811115610946576109466140be565b6003811115610957576109576140be565b815260048201546001600160a01b03166020820152600582018054604090920191610981906147ec565b80601f01602080910402602001604051908101604052809291908181526020018280546109ad906147ec565b80156109fa5780601f106109cf576101008083540402835291602001916109fa565b820191906000526020600020905b8154815290600101906020018083116109dd57829003601f168201915b5050509183525050600682015462ffffff81166020830152630100000090046001600160a01b03166040808301919091528051610140810191829052606090920191906007840190600a9082845b815481526020019060010190808311610a4857505050505081525050905080848481518110610a7957610a796147a7565b60200260200101819052508280610a8f906147d3565b935050505b80610a9e816147d3565b9150506107e5565b5090949350505050565b606060fb805480602002602001604051908101604052809291908181526020016000905b82821015610d0e57600084815260209081902060408051610140810182526011860290920180546001600160a01b0390811684526001820154169383019390935260028301805492939291840191610b2b906147ec565b80601f0160208091040260200160405190810160405280929190818152602001828054610b57906147ec565b8015610ba45780601f10610b7957610100808354040283529160200191610ba4565b820191906000526020600020905b815481529060010190602001808311610b8757829003601f168201915b50505091835250506003828101546001600160a01b0381166020840152604090920191600160a01b900460ff1690811115610be157610be16140be565b6003811115610bf257610bf26140be565b815260048201546001600160a01b03166020820152600582018054604090920191610c1c906147ec565b80601f0160208091040260200160405190810160405280929190818152602001828054610c48906147ec565b8015610c955780601f10610c6a57610100808354040283529160200191610c95565b820191906000526020600020905b815481529060010190602001808311610c7857829003601f168201915b5050509183525050600682015462ffffff81166020830152630100000090046001600160a01b03166040808301919091528051610140810191829052606090920191906007840190600a9082845b815481526020019060010190808311610ce35750505050508152505081526020019060010190610ad4565b50505050905090565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003610d5f5760405162461bcd60e51b81526004016105219061470f565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610da8600080516020614d06833981519152546001600160a01b031690565b6001600160a01b031614610dce5760405162461bcd60e51b81526004016105219061475b565b610dd782612a5f565b61063b82826001612a6a565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610e835760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401610521565b50600080516020614d0683398151915290565b565b610ea36000336113fa565b610ebf5760405162461bcd60e51b8152600401610521906146e1565b60fb5460005b8181101561063b5760fb805480610ede57610ede614826565b60008281526020812060116000199093019283020180546001600160a01b03199081168255600182018054909116905590610f1c6002830182613ec6565b6003820180546001600160a81b03191690556004820180546001600160a01b0319169055610f4e600583016000613ec6565b6006820180546001600160b81b0319169055610f6e600783016000613f00565b5050905580610f7c816147d3565b915050610ec5565b610fae7f3eb675f159e6ca6cf5de6bfbbc8c4521cfd428f5e9166e51094d5898504caf2d336113fa565b610ffa5760405162461bcd60e51b815260206004820152601b60248201527f43616c6c6572206973206e6f74207468652045584348414e47455200000000006044820152606401610521565b60fc5460ff1615611031576040517f2db5145a2d675741edae5a00c79aee42925aec079cd653aaa2745197e860b98e90600090a150565b60005b60fb5481101561063b57600060fb8281548110611053576110536147a7565b60009182526020918290206040805161014081018252601190930290910180546001600160a01b03908116845260018201541693830193909352600283018054929392918401916110a3906147ec565b80601f01602080910402602001604051908101604052809291908181526020018280546110cf906147ec565b801561111c5780601f106110f15761010080835404028352916020019161111c565b820191906000526020600020905b8154815290600101906020018083116110ff57829003601f168201915b50505091835250506003828101546001600160a01b0381166020840152604090920191600160a01b900460ff1690811115611159576111596140be565b600381111561116a5761116a6140be565b815260048201546001600160a01b03166020820152600582018054604090920191611194906147ec565b80601f01602080910402602001604051908101604052809291908181526020018280546111c0906147ec565b801561120d5780601f106111e25761010080835404028352916020019161120d565b820191906000526020600020905b8154815290600101906020018083116111f057829003601f168201915b5050509183525050600682015462ffffff81166020830152630100000090046001600160a01b03166040808301919091528051610140810191829052606090920191906007840190600a9082845b81548152602001906001019080831161125b575050505050815250509050826001600160a01b031681602001516001600160a01b03161461129c575061131e565b6001816080015160038111156112b4576112b46140be565b036112c7576112c281612bd5565b61131c565b6000816080015160038111156112df576112df6140be565b036112ed576112c281612c60565b600281608001516003811115611305576113056140be565b03611313576112c281612f75565b61131c816132ea565b505b80611328816147d3565b915050611034565b600054610100900460ff16158080156113505750600054600160ff909116105b8061136a5750303b15801561136a575060005460ff166001145b6113865760405162461bcd60e51b81526004016105219061483c565b6000805460ff1916600117905580156113a9576000805461ff0019166101001790555b6113b1613340565b801561071b576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a150565b60009182526065602090815260408084206001600160a01b0393909316845291905290205460ff1690565b61144f7f3eb675f159e6ca6cf5de6bfbbc8c4521cfd428f5e9166e51094d5898504caf2d336113fa565b61149b5760405162461bcd60e51b815260206004820152601b60248201527f43616c6c6572206973206e6f74207468652045584348414e47455200000000006044820152606401610521565b60fc54610100900460ff16156114d7576040517f7cb60b97faae660ff5fd1cb0c9f3593e5bc26ba788495af03a4a708284aa3d4d90600090a150565b60005b60fb5481101561063b57600060fb82815481106114f9576114f96147a7565b60009182526020918290206040805161014081018252601190930290910180546001600160a01b0390811684526001820154169383019390935260028301805492939291840191611549906147ec565b80601f0160208091040260200160405190810160405280929190818152602001828054611575906147ec565b80156115c25780601f10611597576101008083540402835291602001916115c2565b820191906000526020600020905b8154815290600101906020018083116115a557829003601f168201915b50505091835250506003828101546001600160a01b0381166020840152604090920191600160a01b900460ff16908111156115ff576115ff6140be565b6003811115611610576116106140be565b815260048201546001600160a01b0316602082015260058201805460409092019161163a906147ec565b80601f0160208091040260200160405190810160405280929190818152602001828054611666906147ec565b80156116b35780601f10611688576101008083540402835291602001916116b3565b820191906000526020600020905b81548152906001019060200180831161169657829003601f168201915b5050509183525050600682015462ffffff81166020830152630100000090046001600160a01b03166040808301919091528051610140810191829052606090920191906007840190600a9082845b815481526020019060010190808311611701575050505050815250509050826001600160a01b031681602001516001600160a01b031614611742575061175e565b60038160800151600381111561175a5761175a6140be565b5050505b80611768816147d3565b9150506114da565b61177b6000336113fa565b6117975760405162461bcd60e51b8152600401610521906146e1565b60005b815181101561063b5760008282815181106117b7576117b76147a7565b602002602001015190506117ca816121bb565b50806117d5816147d3565b91505061179a565b60fb81815481106117ed57600080fd5b60009182526020909120601190910201805460018201546002830180546001600160a01b039384169550929091169291611826906147ec565b80601f0160208091040260200160405190810160405280929190818152602001828054611852906147ec565b801561189f5780601f106118745761010080835404028352916020019161189f565b820191906000526020600020905b81548152906001019060200180831161188257829003601f168201915b505050506003830154600484015460058501805494956001600160a01b0380851696600160a01b90950460ff169550909216926118db906147ec565b80601f0160208091040260200160405190810160405280929190818152602001828054611907906147ec565b80156119545780601f1061192957610100808354040283529160200191611954565b820191906000526020600020905b81548152906001019060200180831161193757829003601f168201915b5050506006909301549192505062ffffff8116906001600160a01b0363010000009091041689565b6119876000336113fa565b6119a35760405162461bcd60e51b8152600401610521906146e1565b6001600160a01b0382166119e95760405162461bcd60e51b815260206004820152600d60248201526c746f6b656e206973207a65726f60981b6044820152606401610521565b6001600160a01b038116611a2e5760405162461bcd60e51b815260206004820152600c60248201526b706f6f6c206973207a65726f60a01b6044820152606401610521565b60005b60fb5481101561218157600060fb8281548110611a5057611a506147a7565b60009182526020918290206040805161014081018252601190930290910180546001600160a01b0390811684526001820154169383019390935260028301805492939291840191611aa0906147ec565b80601f0160208091040260200160405190810160405280929190818152602001828054611acc906147ec565b8015611b195780601f10611aee57610100808354040283529160200191611b19565b820191906000526020600020905b815481529060010190602001808311611afc57829003601f168201915b50505091835250506003828101546001600160a01b0381166020840152604090920191600160a01b900460ff1690811115611b5657611b566140be565b6003811115611b6757611b676140be565b815260048201546001600160a01b03166020820152600582018054604090920191611b91906147ec565b80601f0160208091040260200160405190810160405280929190818152602001828054611bbd906147ec565b8015611c0a5780601f10611bdf57610100808354040283529160200191611c0a565b820191906000526020600020905b815481529060010190602001808311611bed57829003601f168201915b5050509183525050600682015462ffffff81166020830152630100000090046001600160a01b03166040808301919091528051610140810191829052606090920191906007840190600a9082845b815481526020019060010190808311611c58575050505050815250509050836001600160a01b031681602001516001600160a01b0316148015611cb05750826001600160a01b031681600001516001600160a01b0316145b1561216e57815b60fb54611cc69060019061488a565b81101561207e57600060fb611cdc83600161489d565b81548110611cec57611cec6147a7565b60009182526020918290206040805161014081018252601190930290910180546001600160a01b0390811684526001820154169383019390935260028301805492939291840191611d3c906147ec565b80601f0160208091040260200160405190810160405280929190818152602001828054611d68906147ec565b8015611db55780601f10611d8a57610100808354040283529160200191611db5565b820191906000526020600020905b815481529060010190602001808311611d9857829003601f168201915b50505091835250506003828101546001600160a01b0381166020840152604090920191600160a01b900460ff1690811115611df257611df26140be565b6003811115611e0357611e036140be565b815260048201546001600160a01b03166020820152600582018054604090920191611e2d906147ec565b80601f0160208091040260200160405190810160405280929190818152602001828054611e59906147ec565b8015611ea65780601f10611e7b57610100808354040283529160200191611ea6565b820191906000526020600020905b815481529060010190602001808311611e8957829003601f168201915b5050509183525050600682015462ffffff81166020830152630100000090046001600160a01b03166040808301919091528051610140810191829052606090920191906007840190600a9082845b815481526020019060010190808311611ef45750505050508152505090508060fb8381548110611f2657611f266147a7565b6000918252602091829020835160119092020180546001600160a01b039283166001600160a01b03199182161782559284015160018201805491909316931692909217905560408201516002820190611f7f90826148f6565b506060820151600380830180546001600160a01b039093166001600160a01b031984168117825560808601519391926001600160a81b03199092161790600160a01b908490811115611fd357611fd36140be565b021790555060a08201516004820180546001600160a01b0319166001600160a01b0390921691909117905560c0820151600582019061201290826148f6565b5060e08201516006820180546101008501516001600160a01b03166301000000026001600160b81b031990911662ffffff90931692909217919091179055610120820151612066906007830190600a613f0f565b50905050508080612076906147d3565b915050611cb7565b5060fb80548061209057612090614826565b60008281526020812060116000199093019283020180546001600160a01b031990811682556001820180549091169055906120ce6002830182613ec6565b6003820180546001600160a81b03191690556004820180546001600160a01b0319169055612100600583016000613ec6565b6006820180546001600160b81b0319169055612120600783016000613f00565b50509055604080516001600160a01b038087168252851660208201527f68e2e4dc27ec3ffea1ce098b4fe6d29f6a1e663455d9a77a3bc859cc67027a2191015b60405180910390a150505050565b5080612179816147d3565b915050611a31565b5060405162461bcd60e51b815260206004820152600e60248201526d1a5d195b481b9bdd08199bdd5b9960921b6044820152606401610521565b6121c66000336113fa565b6121e25760405162461bcd60e51b8152600401610521906146e1565b60208101516001600160a01b031661222c5760405162461bcd60e51b815260206004820152600d60248201526c746f6b656e206973207a65726f60981b6044820152606401610521565b80516001600160a01b03166122725760405162461bcd60e51b815260206004820152600c60248201526b706f6f6c206973207a65726f60a01b6044820152606401610521565b60008160800151600381111561228a5761228a6140be565b036122db5760a08101516001600160a01b03166122d65760405162461bcd60e51b815260206004820152600a602482015269746f206973207a65726f60b01b6044820152606401610521565b612342565b6002816080015160038111156122f3576122f36140be565b036123425760608101516001600160a01b03166123425760405162461bcd60e51b815260206004820152600d60248201526c6272696265206973207a65726f60981b6044820152606401610521565b600160005b60fb5481101561273757600060fb8281548110612366576123666147a7565b60009182526020918290206040805161014081018252601190930290910180546001600160a01b03908116845260018201541693830193909352600283018054929392918401916123b6906147ec565b80601f01602080910402602001604051908101604052809291908181526020018280546123e2906147ec565b801561242f5780601f106124045761010080835404028352916020019161242f565b820191906000526020600020905b81548152906001019060200180831161241257829003601f168201915b50505091835250506003828101546001600160a01b0381166020840152604090920191600160a01b900460ff169081111561246c5761246c6140be565b600381111561247d5761247d6140be565b815260048201546001600160a01b031660208201526005820180546040909201916124a7906147ec565b80601f01602080910402602001604051908101604052809291908181526020018280546124d3906147ec565b80156125205780601f106124f557610100808354040283529160200191612520565b820191906000526020600020905b81548152906001019060200180831161250357829003601f168201915b5050509183525050600682015462ffffff81166020830152630100000090046001600160a01b03166040808301919091528051610140810191829052606090920191906007840190600a9082845b81548152602001906001019080831161256e57505050505081525050905083602001516001600160a01b031681602001516001600160a01b03161480156125c35750835181516001600160a01b039081169116145b15612724578360fb83815481106125dc576125dc6147a7565b6000918252602091829020835160119092020180546001600160a01b039283166001600160a01b0319918216178255928401516001820180549190931693169290921790556040820151600282019061263590826148f6565b506060820151600380830180546001600160a01b039093166001600160a01b031984168117825560808601519391926001600160a81b03199092161790600160a01b908490811115612689576126896140be565b021790555060a08201516004820180546001600160a01b0319166001600160a01b0390921691909117905560c082015160058201906126c890826148f6565b5060e08201516006820180546101008501516001600160a01b03166301000000026001600160b81b031990911662ffffff9093169290921791909117905561012082015161271c906007830190600a613f0f565b506000945050505b508061272f816147d3565b915050612347565b5080156128e85760fb8054600181018255600091909152825160119091027f3e7257b7272bb46d49cd6019b04ddee20da7c0cb13f7c1ec3391291b2ccebabc810180546001600160a01b039384166001600160a01b031991821617825560208601517f3e7257b7272bb46d49cd6019b04ddee20da7c0cb13f7c1ec3391291b2ccebabd840180549190951691161790925560408401518492917f3e7257b7272bb46d49cd6019b04ddee20da7c0cb13f7c1ec3391291b2ccebabe01906127fd90826148f6565b506060820151600380830180546001600160a01b039093166001600160a01b031984168117825560808601519391926001600160a81b03199092161790600160a01b908490811115612851576128516140be565b021790555060a08201516004820180546001600160a01b0319166001600160a01b0390921691909117905560c0820151600582019061289090826148f6565b5060e08201516006820180546101008501516001600160a01b03166301000000026001600160b81b031990911662ffffff909316929092179190911790556101208201516128e4906007830190600a613f0f565b5050505b602082015182516040517f2ab4ebfadf1dbb6985345a1d09dabe17cafc9f765b05fc738368c0ab2886ab039261058b9290916001600160a01b0392831681529116602082015260400190565b60008281526065602052604090206001015461294f81612968565b6105bc83836129f8565b6001600160a01b03163b151590565b61071b81336133d4565b61297c82826113fa565b61063b5760008281526065602090815260408083206001600160a01b03851684529091529020805460ff191660011790556129b43390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b612a0282826113fa565b1561063b5760008281526065602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b600061063b81612968565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615612a9d576105bc8361342d565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015612af7575060408051601f3d908101601f19168201909252612af4918101906149b5565b60015b612b5a5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608401610521565b600080516020614d068339815191528114612bc95760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608401610521565b506105bc8383836134c9565b80600001516001600160a01b031663fff6cae96040518163ffffffff1660e01b8152600401600060405180830381600087803b158015612c1457600080fd5b505af1158015612c28573d6000803e3d6000fd5b50505060c0820151604080840151845160208601519251600080516020614d2683398151915295506113ef94939060009081906149ce565b60208101516040516370a0823160e01b81523060048201526000906001600160a01b038316906370a0823190602401602060405180830381865afa158015612cac573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612cd091906149b5565b835160405163bc25cf7760e01b81523060048201529192506001600160a01b03169063bc25cf7790602401600060405180830381600087803b158015612d1557600080fd5b505af1158015612d29573d6000803e3d6000fd5b50506040516370a0823160e01b8152306004820152600092508391506001600160a01b038516906370a0823190602401602060405180830381865afa158015612d76573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d9a91906149b5565b612da4919061488a565b90508015612f6f5760e084015162ffffff1615612eb457600060648560e0015162ffffff1683612dd49190614a46565b612dde9190614a5d565b9050612dea818361488a565b91508015612eb25761010085015160405163a9059cbb60e01b81526001600160a01b039182166004820152602481018390529085169063a9059cbb906044016020604051808303816000875af1158015612e48573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e6c9190614a7f565b50600080516020614d268339815191528560c00151866040015187600001518860200151858a6101000151604051612ea996959493929190614a9c565b60405180910390a15b505b8015612f6f5760a084015160405163a9059cbb60e01b81526001600160a01b039182166004820152602481018390529084169063a9059cbb906044016020604051808303816000875af1158015612f0f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f339190614a7f565b50600080516020614d268339815191528460c00151856040015186600001518760200151858960a0015160405161216096959493929190614a9c565b50505050565b60208101516040516370a0823160e01b81523060048201526000906001600160a01b038316906370a0823190602401602060405180830381865afa158015612fc1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612fe591906149b5565b835160405163bc25cf7760e01b81523060048201529192506001600160a01b03169063bc25cf7790602401600060405180830381600087803b15801561302a57600080fd5b505af115801561303e573d6000803e3d6000fd5b50506040516370a0823160e01b8152306004820152600092508391506001600160a01b038516906370a0823190602401602060405180830381865afa15801561308b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130af91906149b5565b6130b9919061488a565b90508015612f6f5760e084015162ffffff16156131c957600060648560e0015162ffffff16836130e99190614a46565b6130f39190614a5d565b90506130ff818361488a565b915080156131c75761010085015160405163a9059cbb60e01b81526001600160a01b039182166004820152602481018390529085169063a9059cbb906044016020604051808303816000875af115801561315d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131819190614a7f565b50600080516020614d268339815191528560c00151866040015187600001518860200151858a61010001516040516131be96959493929190614ae0565b60405180910390a15b505b8015612f6f57606084015160405163095ea7b360e01b81526001600160a01b039182166004820152602481018390529084169063095ea7b3906044016020604051808303816000875af1158015613224573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906132489190614a7f565b506060840151602085015160405163b66503cf60e01b81526001600160a01b0391821660048201526024810184905291169063b66503cf90604401600060405180830381600087803b15801561329d57600080fd5b505af11580156132b1573d6000803e3d6000fd5b50505060c08501516040808701518751602089015160608a01519351600080516020614d26833981519152965061216095948891614ae0565b6040805180820190915260058152645468656e6160d81b60209182015260c082015180519101207fdff7b7faead6baea492905311414a39ddf9904ce2e1237af589bcbace4fc6f460161071b5761071b816134ee565b600054610100900460ff16158080156133605750600054600160ff909116105b8061337a5750303b15801561337a575060005460ff166001145b6133965760405162461bcd60e51b81526004016105219061483c565b6000805460ff1916600117905580156133b9576000805461ff0019166101001790555b6133c16138e5565b6133c96138e5565b6113b1600033612972565b6133de82826113fa565b61063b576133eb81613950565b6133f6836020613962565b604051602001613407929190614b25565b60408051601f198184030181529082905262461bcd60e51b825261052191600401614b9a565b6001600160a01b0381163b61349a5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610521565b600080516020614d0683398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6134d283613b04565b6000825111806134df5750805b156105bc57612f6f8383613b44565b60208101516040516370a0823160e01b81523060048201526000906001600160a01b038316906370a0823190602401602060405180830381865afa15801561353a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061355e91906149b5565b835160405163bc25cf7760e01b81523060048201529192506001600160a01b03169063bc25cf7790602401600060405180830381600087803b1580156135a357600080fd5b505af11580156135b7573d6000803e3d6000fd5b50506040516370a0823160e01b8152306004820152600092508391506001600160a01b038516906370a0823190602401602060405180830381865afa158015613604573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061362891906149b5565b613632919061488a565b90508015612f6f5760e084015162ffffff161561374257600060648560e0015162ffffff16836136629190614a46565b61366c9190614a5d565b9050613678818361488a565b915080156137405761010085015160405163a9059cbb60e01b81526001600160a01b039182166004820152602481018390529085169063a9059cbb906044016020604051808303816000875af11580156136d6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906136fa9190614a7f565b50600080516020614d268339815191528560c00151866040015187600001518860200151858a610100015160405161373796959493929190614ae0565b60405180910390a15b505b8015612f6f57600080735335e87930b410b8c5bb4d43c3360aca15ec0c8c9050806001600160a01b031686602001516001600160a01b031603613787578291506137b9565b600073d4ae6eca985340dd434d38f470accce4dc78d10990506137b581886020015184600188600030613c38565b9250505b81156138dd57606086015160405163095ea7b360e01b81526001600160a01b039182166004820152602481018490529082169063095ea7b3906044016020604051808303816000875af1158015613814573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138389190614a7f565b50606086015160405163b66503cf60e01b81526001600160a01b038381166004830152602482018590529091169063b66503cf90604401600060405180830381600087803b15801561388957600080fd5b505af115801561389d573d6000803e3d6000fd5b50505060c0870151604080890151895160608b01519251600080516020614d2683398151915295506138d494938791899190614ae0565b60405180910390a15b505050505050565b600054610100900460ff16610e965760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610521565b60606104f46001600160a01b03831660145b60606000613971836002614a46565b61397c90600261489d565b6001600160401b038111156139935761399361424e565b6040519080825280601f01601f1916602001820160405280156139bd576020820181803683370190505b509050600360fc1b816000815181106139d8576139d86147a7565b60200101906001600160f81b031916908160001a905350600f60fb1b81600181518110613a0757613a076147a7565b60200101906001600160f81b031916908160001a9053506000613a2b846002614a46565b613a3690600161489d565b90505b6001811115613aae576f181899199a1a9b1b9c1cb0b131b232b360811b85600f1660108110613a6a57613a6a6147a7565b1a60f81b828281518110613a8057613a806147a7565b60200101906001600160f81b031916908160001a90535060049490941c93613aa781614bad565b9050613a39565b508315613afd5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610521565b9392505050565b613b0d8161342d565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606001600160a01b0383163b613bac5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b6064820152608401610521565b600080846001600160a01b031684604051613bc79190614bc4565b600060405180830381855af49150503d8060008114613c02576040519150601f19603f3d011682016040523d82523d6000602084013e613c07565b606091505b5091509150613c2f8282604051806060016040528060278152602001614d4660279139613e2f565b95945050505050565b60405163095ea7b360e01b81526001600160a01b038881166004830152602482018590526000919088169063095ea7b3906044016020604051808303816000875af1158015613c8b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613caf9190614a7f565b50604080516001808252818301909252600091816020015b6040805160608101825260008082526020808301829052928201528252600019909201910181613cc75790505090508781600081518110613d0a57613d0a6147a7565b6020026020010151600001906001600160a01b031690816001600160a01b0316815250508681600081518110613d4257613d426147a7565b6020026020010151602001906001600160a01b031690816001600160a01b0316815250508581600081518110613d7a57613d7a6147a7565b602090810291909101015190151560409182015251631e82ecdb60e31b81526001600160a01b038a169063f41766d890613dc09088908890869089904290600401614be0565b6000604051808303816000875af1158015613ddf573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052613e079190810190614c75565b600181518110613e1957613e196147a7565b6020026020010151915050979650505050505050565b60608315613e3e575081613afd565b613afd8383815115613e535781518083602001fd5b8060405162461bcd60e51b81526004016105219190614b9a565b6040805161014081018252600080825260208201819052606092820183905291810182905290608082019081526000602082018190526060604083018190528201819052608082015260a001613ec1613f4d565b905290565b508054613ed2906147ec565b6000825580601f10613ee2575050565b601f01602090049060005260206000209081019061071b9190613f6c565b5061071b90600a810190613f6c565b82600a8101928215613f3d579160200282015b82811115613f3d578251825591602001919060010190613f22565b50613f49929150613f6c565b5090565b604051806101400160405280600a906020820280368337509192915050565b5b80821115613f495760008155600101613f6d565b600060208284031215613f9357600080fd5b81356001600160e01b031981168114613afd57600080fd5b801515811461071b57600080fd5b60008060408385031215613fcc57600080fd5b8235613fd781613fab565b91506020830135613fe781613fab565b809150509250929050565b60006020828403121561400457600080fd5b5035919050565b80356001600160a01b038116811461402257600080fd5b919050565b6000806040838503121561403a57600080fd5b8235915061404a6020840161400b565b90509250929050565b60006020828403121561406557600080fd5b613afd8261400b565b60005b83811015614089578181015183820152602001614071565b50506000910152565b600081518084526140aa81602086016020860161406e565b601f01601f19169290920160200192915050565b634e487b7160e01b600052602160045260246000fd5b600481106140f257634e487b7160e01b600052602160045260246000fd5b9052565b8060005b600a811015612f6f5781518452602093840193909101906001016140fa565b60006020808301818452808551808352604092508286019150828160051b87010184880160005b8381101561424057888303603f19018552815180516001600160a01b03168452610260818901516001600160a01b038116868b01525087820151818987015261418b82870182614092565b9150506060808301516141a8828801826001600160a01b03169052565b50506080808301516141bc828801826140d4565b505060a0828101516001600160a01b03169086015260c080830151868303828801526141e88382614092565b9250505060e0808301516142028288018262ffffff169052565b5050610100828101516001600160a01b031690860152610120918201519161422c818701846140f6565b509588019593505090860190600101614140565b509098975050505050505050565b634e487b7160e01b600052604160045260246000fd5b60405161014081016001600160401b03811182821017156142875761428761424e565b60405290565b604051601f8201601f191681016001600160401b03811182821017156142b5576142b561424e565b604052919050565b60006001600160401b038311156142d6576142d661424e565b6142e9601f8401601f191660200161428d565b90508281528383830111156142fd57600080fd5b828260208301376000602084830101529392505050565b6000806040838503121561432757600080fd5b6143308361400b565b915060208301356001600160401b0381111561434b57600080fd5b8301601f8101851361435c57600080fd5b61436b858235602084016142bd565b9150509250929050565b60006001600160401b0382111561438e5761438e61424e565b5060051b60200190565b600082601f8301126143a957600080fd5b613afd838335602085016142bd565b80356004811061402257600080fd5b803562ffffff8116811461402257600080fd5b600082601f8301126143eb57600080fd5b6040516101408082018281106001600160401b038211171561440f5761440f61424e565b6040528301818582111561442257600080fd5b845b8281101561443c578035825260209182019101614424565b509195945050505050565b6000610260828403121561445a57600080fd5b614462614264565b905061446d8261400b565b815261447b6020830161400b565b602082015260408201356001600160401b038082111561449a57600080fd5b6144a685838601614398565b60408401526144b76060850161400b565b60608401526144c8608085016143b8565b60808401526144d960a0850161400b565b60a084015260c08401359150808211156144f257600080fd5b506144ff84828501614398565b60c08301525061451160e083016143c7565b60e082015261010061452481840161400b565b90820152610120614537848483016143da565b9082015292915050565b6000602080838503121561455457600080fd5b82356001600160401b038082111561456b57600080fd5b818501915085601f83011261457f57600080fd5b813561459261458d82614375565b61428d565b81815260059190911b830184019084810190888311156145b157600080fd5b8585015b838110156145e9578035858111156145cd5760008081fd5b6145db8b89838a0101614447565b8452509186019186016145b5565b5098975050505050505050565b6001600160a01b038a811682528981166020830152610120604083018190526000916146248483018c614092565b9150808a16606085015261463b608085018a6140d4565b80881660a085015283820360c08501526146558288614092565b925062ffffff861660e085015280851661010085015250509a9950505050505050505050565b6000806040838503121561468e57600080fd5b6146978361400b565b915061404a6020840161400b565b6000602082840312156146b757600080fd5b81356001600160401b038111156146cd57600080fd5b6146d984828501614447565b949350505050565b6020808252601490820152735265737472696374656420746f2061646d696e7360601b604082015260600190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600182016147e5576147e56147bd565b5060010190565b600181811c9082168061480057607f821691505b60208210810361482057634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052603160045260246000fd5b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b818103818111156104f4576104f46147bd565b808201808211156104f4576104f46147bd565b601f8211156105bc57600081815260208120601f850160051c810160208610156148d75750805b601f850160051c820191505b818110156138dd578281556001016148e3565b81516001600160401b0381111561490f5761490f61424e565b6149238161491d84546147ec565b846148b0565b602080601f83116001811461495857600084156149405750858301515b600019600386901b1c1916600185901b1785556138dd565b600085815260208120601f198616915b8281101561498757888601518255948401946001909101908401614968565b50858210156149a55787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000602082840312156149c757600080fd5b5051919050565b60e0815260006149e160e0830189614092565b828103806020850152600482526353796e6360e01b602083015260408101604085015250614a126040820189614092565b6001600160a01b0397881660608501529587166080840152505060a081019290925290921660c09092019190915292915050565b80820281158282048414176104f4576104f46147bd565b600082614a7a57634e487b7160e01b600052601260045260246000fd5b500490565b600060208284031215614a9157600080fd5b8151613afd81613fab565b60e081526000614aaf60e0830189614092565b8281038060208501526004825263536b696d60e01b602083015260408101604085015250614a126040820189614092565b60e081526000614af360e0830189614092565b8281038060208501526005825264427269626560d81b602083015260408101604085015250614a126040820189614092565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351614b5d81601785016020880161406e565b7001034b99036b4b9b9b4b733903937b6329607d1b6017918401918201528351614b8e81602884016020880161406e565b01602801949350505050565b602081526000613afd6020830184614092565b600081614bbc57614bbc6147bd565b506000190190565b60008251614bd681846020870161406e565b9190910192915050565b600060a0820187835260208781850152604060a08186015282885180855260c087019150838a01945060005b81811015614c4957855180516001600160a01b03908116855286820151168685015284015115158484015294840194606090920191600101614c0c565b50506001600160a01b03881660608701529350614c6592505050565b8260808301529695505050505050565b60006020808385031215614c8857600080fd5b82516001600160401b03811115614c9e57600080fd5b8301601f81018513614caf57600080fd5b8051614cbd61458d82614375565b81815260059190911b82018301908381019087831115614cdc57600080fd5b928401925b82841015614cfa57835182529284019290840190614ce1565b97965050505050505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbccb414e813f34d59db194a1937a70c199f2a691ccd6ee32704df2b38170acb6ed416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212205f8f4a5f26f3c8485a5c787b4a65cfbb90ecf0d0e819cadb3cea0a1c8294987064736f6c63430008110033