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)
arbitrum
nonpayablefunction arbitrum()
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
0x60a0604052306080523480156200001557600080fd5b50600054610100900460ff1615808015620000375750600054600160ff909116105b8062000067575062000054306200014160201b620029651760201c565b15801562000067575060005460ff166001145b620000cf5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840160405180910390fd5b6000805460ff191660011790558015620000f3576000805461ff0019166101001790555b80156200013a576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5062000150565b6001600160a01b03163b151590565b6080516158d462000188600039600081816106490152818161068901528181610d2101528181610d610152610df001526158d46000f3fe6080604052600436106101815760003560e01c80638129fc1c116100d1578063bfb231d21161008a578063d0b11c1e11610064578063d0b11c1e1461045d578063d547741f1461047d578063ee0708051461049d578063f7b04c67146104b757600080fd5b8063bfb231d2146103e9578063c53963e61461041e578063c6ff1fc01461043e57600080fd5b80638129fc1c1461032b57806391d14854146103405780639d3f19c6146103605780639d433fb514610380578063a217fddf146103a0578063bd0f1053146103b557600080fd5b80633659cfe61161013e5780634f1ef286116101185780634f1ef286146102ce57806352d1902d146102e15780636bc82839146102f65780636e28e3d51461030b57600080fd5b80633659cfe61461026c5780633ca34eae1461028c578063410d59cc146102b957600080fd5b806301ffc9a714610186578063194f4795146101bb5780631c462e97146101da578063248a9ca3146101fc5780632f2ff15d1461022c57806336568abe1461024c575b600080fd5b34801561019257600080fd5b506101a66101a136600461478a565b6104c3565b60405190151581526020015b60405180910390f35b3480156101c757600080fd5b5060fb545b6040519081526020016101b2565b3480156101e657600080fd5b506101fa6101f53660046147c2565b6104fa565b005b34801561020857600080fd5b506101cc6102173660046147fb565b60009081526065602052604090206001015490565b34801561023857600080fd5b506101fa610247366004614839565b610597565b34801561025857600080fd5b506101fa610267366004614839565b6105c1565b34801561027857600080fd5b506101fa61028736600461485e565b61063f565b34801561029857600080fd5b506102ac6102a736600461485e565b61071e565b6040516101b29190614926565b3480156102c557600080fd5b506102ac610ab0565b6101fa6102dc366004614b43565b610d17565b3480156102ed57600080fd5b506101cc610de3565b34801561030257600080fd5b506101fa610e96565b34801561031757600080fd5b506101fa61032636600461485e565b610f82565b34801561033757600080fd5b506101fa61132e565b34801561034c57600080fd5b506101a661035b366004614839565b6113f8565b34801561036c57600080fd5b506101fa61037b36600461485e565b611423565b34801561038c57600080fd5b506101fa61039b366004614d72565b61177a565b3480156103ac57600080fd5b506101cc600081565b3480156103c157600080fd5b506101cc7f3eb675f159e6ca6cf5de6bfbbc8c4521cfd428f5e9166e51094d5898504caf2d81565b3480156103f557600080fd5b506104096104043660046147fb565b6117e7565b6040516101b299989796959493929190614e27565b34801561042a57600080fd5b506101fa610439366004614eac565b611986565b34801561044a57600080fd5b5060fc546101a690610100900460ff1681565b34801561046957600080fd5b506101fa610478366004614eda565b6121c5565b34801561048957600080fd5b506101fa610498366004614839565b61293e565b3480156104a957600080fd5b5060fc546101a69060ff1681565b3480156101fa57600080fd5b60006001600160e01b03198216637965db0b60e01b14806104f457506301ffc9a760e01b6001600160e01b03198316145b92915050565b6105056000336113f8565b61052a5760405162461bcd60e51b815260040161052190614f0e565b60405180910390fd5b60fc805461ffff191683151561ff00191617610100831515810291909117918290556040805160ff8085161515825292909304909116151560208301527f9b6a664688f9a7f55cccf4a1ab507cd483c9e3547c13d1e48f247c749ab27feb91015b60405180910390a15050565b6000828152606560205260409020600101546105b281612974565b6105bc838361297e565b505050565b6001600160a01b03811633146106315760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608401610521565b61063b8282612a04565b5050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036106875760405162461bcd60e51b815260040161052190614f3c565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166106d0600080516020615838833981519152546001600160a01b031690565b6001600160a01b0316146106f65760405162461bcd60e51b815260040161052190614f88565b6106ff81612a6b565b6040805160008082526020820190925261071b91839190612a76565b50565b60606000805b60fb5481101561078a57836001600160a01b031660fb828154811061074b5761074b614fd4565b60009182526020909120601190910201546001600160a01b031603610778578161077481615000565b9250505b8061078281615000565b915050610724565b506000816001600160401b038111156107a5576107a5614a5b565b6040519080825280602002602001820160405280156107de57816020015b6107cb614629565b8152602001906001900390816107c35790505b5090506000805b60fb54811015610aa657856001600160a01b031660fb828154811061080c5761080c614fd4565b60009182526020909120601190910201546001600160a01b031603610a9457600060fb828154811061084057610840614fd4565b60009182526020918290206040805161014081018252601190930290910180546001600160a01b039081168452600182015416938301939093526002830180549293929184019161089090615019565b80601f01602080910402602001604051908101604052809291908181526020018280546108bc90615019565b80156109095780601f106108de57610100808354040283529160200191610909565b820191906000526020600020905b8154815290600101906020018083116108ec57829003601f168201915b50505091835250506003828101546001600160a01b0381166020840152604090920191600160a01b900460ff1690811115610946576109466148cb565b6003811115610957576109576148cb565b815260048201546001600160a01b0316602082015260058201805460409092019161098190615019565b80601f01602080910402602001604051908101604052809291908181526020018280546109ad90615019565b80156109fa5780601f106109cf576101008083540402835291602001916109fa565b820191906000526020600020905b8154815290600101906020018083116109dd57829003601f168201915b5050509183525050600682015462ffffff81166020830152630100000090046001600160a01b03166040808301919091528051610140810191829052606090920191906007840190600a9082845b815481526020019060010190808311610a4857505050505081525050905080848481518110610a7957610a79614fd4565b60200260200101819052508280610a8f90615000565b935050505b80610a9e81615000565b9150506107e5565b5090949350505050565b606060fb805480602002602001604051908101604052809291908181526020016000905b82821015610d0e57600084815260209081902060408051610140810182526011860290920180546001600160a01b0390811684526001820154169383019390935260028301805492939291840191610b2b90615019565b80601f0160208091040260200160405190810160405280929190818152602001828054610b5790615019565b8015610ba45780601f10610b7957610100808354040283529160200191610ba4565b820191906000526020600020905b815481529060010190602001808311610b8757829003601f168201915b50505091835250506003828101546001600160a01b0381166020840152604090920191600160a01b900460ff1690811115610be157610be16148cb565b6003811115610bf257610bf26148cb565b815260048201546001600160a01b03166020820152600582018054604090920191610c1c90615019565b80601f0160208091040260200160405190810160405280929190818152602001828054610c4890615019565b8015610c955780601f10610c6a57610100808354040283529160200191610c95565b820191906000526020600020905b815481529060010190602001808311610c7857829003601f168201915b5050509183525050600682015462ffffff81166020830152630100000090046001600160a01b03166040808301919091528051610140810191829052606090920191906007840190600a9082845b815481526020019060010190808311610ce35750505050508152505081526020019060010190610ad4565b50505050905090565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003610d5f5760405162461bcd60e51b815260040161052190614f3c565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610da8600080516020615838833981519152546001600160a01b031690565b6001600160a01b031614610dce5760405162461bcd60e51b815260040161052190614f88565b610dd782612a6b565b61063b82826001612a76565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610e835760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401610521565b5060008051602061583883398151915290565b610ea16000336113f8565b610ebd5760405162461bcd60e51b815260040161052190614f0e565b60fb5460005b8181101561063b5760fb805480610edc57610edc615053565b60008281526020812060116000199093019283020180546001600160a01b03199081168255600182018054909116905590610f1a6002830182614682565b6003820180546001600160a81b03191690556004820180546001600160a01b0319169055610f4c600583016000614682565b6006820180546001600160b81b0319169055610f6c6007830160006146bc565b5050905580610f7a81615000565b915050610ec3565b610fac7f3eb675f159e6ca6cf5de6bfbbc8c4521cfd428f5e9166e51094d5898504caf2d336113f8565b610ff85760405162461bcd60e51b815260206004820152601b60248201527f43616c6c6572206973206e6f74207468652045584348414e47455200000000006044820152606401610521565b60fc5460ff161561102f576040517f2db5145a2d675741edae5a00c79aee42925aec079cd653aaa2745197e860b98e90600090a150565b60005b60fb5481101561063b57600060fb828154811061105157611051614fd4565b60009182526020918290206040805161014081018252601190930290910180546001600160a01b03908116845260018201541693830193909352600283018054929392918401916110a190615019565b80601f01602080910402602001604051908101604052809291908181526020018280546110cd90615019565b801561111a5780601f106110ef5761010080835404028352916020019161111a565b820191906000526020600020905b8154815290600101906020018083116110fd57829003601f168201915b50505091835250506003828101546001600160a01b0381166020840152604090920191600160a01b900460ff1690811115611157576111576148cb565b6003811115611168576111686148cb565b815260048201546001600160a01b0316602082015260058201805460409092019161119290615019565b80601f01602080910402602001604051908101604052809291908181526020018280546111be90615019565b801561120b5780601f106111e05761010080835404028352916020019161120b565b820191906000526020600020905b8154815290600101906020018083116111ee57829003601f168201915b5050509183525050600682015462ffffff81166020830152630100000090046001600160a01b03166040808301919091528051610140810191829052606090920191906007840190600a9082845b815481526020019060010190808311611259575050505050815250509050826001600160a01b031681602001516001600160a01b03161461129a575061131c565b6001816080015160038111156112b2576112b26148cb565b036112c5576112c081612be1565b61131a565b6000816080015160038111156112dd576112dd6148cb565b036112eb576112c081612c6c565b600281608001516003811115611303576113036148cb565b03611311576112c081612f81565b61131a816132f6565b505b8061132681615000565b915050611032565b600054610100900460ff161580801561134e5750600054600160ff909116105b806113685750303b158015611368575060005460ff166001145b6113845760405162461bcd60e51b815260040161052190615069565b6000805460ff1916600117905580156113a7576000805461ff0019166101001790555b6113af61334f565b801561071b576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a150565b60009182526065602090815260408084206001600160a01b0393909316845291905290205460ff1690565b61144d7f3eb675f159e6ca6cf5de6bfbbc8c4521cfd428f5e9166e51094d5898504caf2d336113f8565b6114995760405162461bcd60e51b815260206004820152601b60248201527f43616c6c6572206973206e6f74207468652045584348414e47455200000000006044820152606401610521565b60fc54610100900460ff16156114d5576040517f7cb60b97faae660ff5fd1cb0c9f3593e5bc26ba788495af03a4a708284aa3d4d90600090a150565b60005b60fb5481101561063b57600060fb82815481106114f7576114f7614fd4565b60009182526020918290206040805161014081018252601190930290910180546001600160a01b039081168452600182015416938301939093526002830180549293929184019161154790615019565b80601f016020809104026020016040519081016040528092919081815260200182805461157390615019565b80156115c05780601f10611595576101008083540402835291602001916115c0565b820191906000526020600020905b8154815290600101906020018083116115a357829003601f168201915b50505091835250506003828101546001600160a01b0381166020840152604090920191600160a01b900460ff16908111156115fd576115fd6148cb565b600381111561160e5761160e6148cb565b815260048201546001600160a01b0316602082015260058201805460409092019161163890615019565b80601f016020809104026020016040519081016040528092919081815260200182805461166490615019565b80156116b15780601f10611686576101008083540402835291602001916116b1565b820191906000526020600020905b81548152906001019060200180831161169457829003601f168201915b5050509183525050600682015462ffffff81166020830152630100000090046001600160a01b03166040808301919091528051610140810191829052606090920191906007840190600a9082845b8154815260200190600101908083116116ff575050505050815250509050826001600160a01b031681602001516001600160a01b0316146117405750611768565b600381608001516003811115611758576117586148cb565b0361176657611766816133e3565b505b8061177281615000565b9150506114d8565b6117856000336113f8565b6117a15760405162461bcd60e51b815260040161052190614f0e565b60005b815181101561063b5760008282815181106117c1576117c1614fd4565b602002602001015190506117d4816121c5565b50806117df81615000565b9150506117a4565b60fb81815481106117f757600080fd5b60009182526020909120601190910201805460018201546002830180546001600160a01b03938416955092909116929161183090615019565b80601f016020809104026020016040519081016040528092919081815260200182805461185c90615019565b80156118a95780601f1061187e576101008083540402835291602001916118a9565b820191906000526020600020905b81548152906001019060200180831161188c57829003601f168201915b505050506003830154600484015460058501805494956001600160a01b0380851696600160a01b90950460ff169550909216926118e590615019565b80601f016020809104026020016040519081016040528092919081815260200182805461191190615019565b801561195e5780601f106119335761010080835404028352916020019161195e565b820191906000526020600020905b81548152906001019060200180831161194157829003601f168201915b5050506006909301549192505062ffffff8116906001600160a01b0363010000009091041689565b6119916000336113f8565b6119ad5760405162461bcd60e51b815260040161052190614f0e565b6001600160a01b0382166119f35760405162461bcd60e51b815260206004820152600d60248201526c746f6b656e206973207a65726f60981b6044820152606401610521565b6001600160a01b038116611a385760405162461bcd60e51b815260206004820152600c60248201526b706f6f6c206973207a65726f60a01b6044820152606401610521565b60005b60fb5481101561218b57600060fb8281548110611a5a57611a5a614fd4565b60009182526020918290206040805161014081018252601190930290910180546001600160a01b0390811684526001820154169383019390935260028301805492939291840191611aaa90615019565b80601f0160208091040260200160405190810160405280929190818152602001828054611ad690615019565b8015611b235780601f10611af857610100808354040283529160200191611b23565b820191906000526020600020905b815481529060010190602001808311611b0657829003601f168201915b50505091835250506003828101546001600160a01b0381166020840152604090920191600160a01b900460ff1690811115611b6057611b606148cb565b6003811115611b7157611b716148cb565b815260048201546001600160a01b03166020820152600582018054604090920191611b9b90615019565b80601f0160208091040260200160405190810160405280929190818152602001828054611bc790615019565b8015611c145780601f10611be957610100808354040283529160200191611c14565b820191906000526020600020905b815481529060010190602001808311611bf757829003601f168201915b5050509183525050600682015462ffffff81166020830152630100000090046001600160a01b03166040808301919091528051610140810191829052606090920191906007840190600a9082845b815481526020019060010190808311611c62575050505050815250509050836001600160a01b031681602001516001600160a01b0316148015611cba5750826001600160a01b031681600001516001600160a01b0316145b1561217857815b60fb54611cd0906001906150b7565b81101561208857600060fb611ce68360016150ca565b81548110611cf657611cf6614fd4565b60009182526020918290206040805161014081018252601190930290910180546001600160a01b0390811684526001820154169383019390935260028301805492939291840191611d4690615019565b80601f0160208091040260200160405190810160405280929190818152602001828054611d7290615019565b8015611dbf5780601f10611d9457610100808354040283529160200191611dbf565b820191906000526020600020905b815481529060010190602001808311611da257829003601f168201915b50505091835250506003828101546001600160a01b0381166020840152604090920191600160a01b900460ff1690811115611dfc57611dfc6148cb565b6003811115611e0d57611e0d6148cb565b815260048201546001600160a01b03166020820152600582018054604090920191611e3790615019565b80601f0160208091040260200160405190810160405280929190818152602001828054611e6390615019565b8015611eb05780601f10611e8557610100808354040283529160200191611eb0565b820191906000526020600020905b815481529060010190602001808311611e9357829003601f168201915b5050509183525050600682015462ffffff81166020830152630100000090046001600160a01b03166040808301919091528051610140810191829052606090920191906007840190600a9082845b815481526020019060010190808311611efe5750505050508152505090508060fb8381548110611f3057611f30614fd4565b6000918252602091829020835160119092020180546001600160a01b039283166001600160a01b03199182161782559284015160018201805491909316931692909217905560408201516002820190611f89908261512b565b506060820151600380830180546001600160a01b039093166001600160a01b031984168117825560808601519391926001600160a81b03199092161790600160a01b908490811115611fdd57611fdd6148cb565b021790555060a08201516004820180546001600160a01b0319166001600160a01b0390921691909117905560c0820151600582019061201c908261512b565b5060e08201516006820180546101008501516001600160a01b03166301000000026001600160b81b031990911662ffffff90931692909217919091179055610120820151612070906007830190600a6146cb565b5090505050808061208090615000565b915050611cc1565b5060fb80548061209a5761209a615053565b60008281526020812060116000199093019283020180546001600160a01b031990811682556001820180549091169055906120d86002830182614682565b6003820180546001600160a81b03191690556004820180546001600160a01b031916905561210a600583016000614682565b6006820180546001600160b81b031916905561212a6007830160006146bc565b50509055604080516001600160a01b038087168252851660208201527f68e2e4dc27ec3ffea1ce098b4fe6d29f6a1e663455d9a77a3bc859cc67027a2191015b60405180910390a150505050565b508061218381615000565b915050611a3b565b5060405162461bcd60e51b815260206004820152600e60248201526d1a5d195b481b9bdd08199bdd5b9960921b6044820152606401610521565b6121d06000336113f8565b6121ec5760405162461bcd60e51b815260040161052190614f0e565b60208101516001600160a01b03166122365760405162461bcd60e51b815260206004820152600d60248201526c746f6b656e206973207a65726f60981b6044820152606401610521565b80516001600160a01b031661227c5760405162461bcd60e51b815260206004820152600c60248201526b706f6f6c206973207a65726f60a01b6044820152606401610521565b600081608001516003811115612294576122946148cb565b036122e55760a08101516001600160a01b03166122e05760405162461bcd60e51b815260206004820152600a602482015269746f206973207a65726f60b01b6044820152606401610521565b61234c565b6002816080015160038111156122fd576122fd6148cb565b0361234c5760608101516001600160a01b031661234c5760405162461bcd60e51b815260206004820152600d60248201526c6272696265206973207a65726f60981b6044820152606401610521565b600160005b60fb5481101561274157600060fb828154811061237057612370614fd4565b60009182526020918290206040805161014081018252601190930290910180546001600160a01b03908116845260018201541693830193909352600283018054929392918401916123c090615019565b80601f01602080910402602001604051908101604052809291908181526020018280546123ec90615019565b80156124395780601f1061240e57610100808354040283529160200191612439565b820191906000526020600020905b81548152906001019060200180831161241c57829003601f168201915b50505091835250506003828101546001600160a01b0381166020840152604090920191600160a01b900460ff1690811115612476576124766148cb565b6003811115612487576124876148cb565b815260048201546001600160a01b031660208201526005820180546040909201916124b190615019565b80601f01602080910402602001604051908101604052809291908181526020018280546124dd90615019565b801561252a5780601f106124ff5761010080835404028352916020019161252a565b820191906000526020600020905b81548152906001019060200180831161250d57829003601f168201915b5050509183525050600682015462ffffff81166020830152630100000090046001600160a01b03166040808301919091528051610140810191829052606090920191906007840190600a9082845b81548152602001906001019080831161257857505050505081525050905083602001516001600160a01b031681602001516001600160a01b03161480156125cd5750835181516001600160a01b039081169116145b1561272e578360fb83815481106125e6576125e6614fd4565b6000918252602091829020835160119092020180546001600160a01b039283166001600160a01b0319918216178255928401516001820180549190931693169290921790556040820151600282019061263f908261512b565b506060820151600380830180546001600160a01b039093166001600160a01b031984168117825560808601519391926001600160a81b03199092161790600160a01b908490811115612693576126936148cb565b021790555060a08201516004820180546001600160a01b0319166001600160a01b0390921691909117905560c082015160058201906126d2908261512b565b5060e08201516006820180546101008501516001600160a01b03166301000000026001600160b81b031990911662ffffff90931692909217919091179055610120820151612726906007830190600a6146cb565b506000945050505b508061273981615000565b915050612351565b5080156128f25760fb8054600181018255600091909152825160119091027f3e7257b7272bb46d49cd6019b04ddee20da7c0cb13f7c1ec3391291b2ccebabc810180546001600160a01b039384166001600160a01b031991821617825560208601517f3e7257b7272bb46d49cd6019b04ddee20da7c0cb13f7c1ec3391291b2ccebabd840180549190951691161790925560408401518492917f3e7257b7272bb46d49cd6019b04ddee20da7c0cb13f7c1ec3391291b2ccebabe0190612807908261512b565b506060820151600380830180546001600160a01b039093166001600160a01b031984168117825560808601519391926001600160a81b03199092161790600160a01b90849081111561285b5761285b6148cb565b021790555060a08201516004820180546001600160a01b0319166001600160a01b0390921691909117905560c0820151600582019061289a908261512b565b5060e08201516006820180546101008501516001600160a01b03166301000000026001600160b81b031990911662ffffff909316929092179190911790556101208201516128ee906007830190600a6146cb565b5050505b602082015182516040517f2ab4ebfadf1dbb6985345a1d09dabe17cafc9f765b05fc738368c0ab2886ab039261058b9290916001600160a01b0392831681529116602082015260400190565b60008281526065602052604090206001015461295981612974565b6105bc8383612a04565b565b6001600160a01b03163b151590565b61071b813361343c565b61298882826113f8565b61063b5760008281526065602090815260408083206001600160a01b03851684529091529020805460ff191660011790556129c03390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b612a0e82826113f8565b1561063b5760008281526065602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b600061063b81612974565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615612aa9576105bc83613495565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015612b03575060408051601f3d908101601f19168201909252612b00918101906151ea565b60015b612b665760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608401610521565b6000805160206158388339815191528114612bd55760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608401610521565b506105bc838383613531565b80600001516001600160a01b031663fff6cae96040518163ffffffff1660e01b8152600401600060405180830381600087803b158015612c2057600080fd5b505af1158015612c34573d6000803e3d6000fd5b50505060c082015160408084015184516020860151925160008051602061585883398151915295506113ed9493906000908190615203565b60208101516040516370a0823160e01b81523060048201526000906001600160a01b038316906370a0823190602401602060405180830381865afa158015612cb8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612cdc91906151ea565b835160405163bc25cf7760e01b81523060048201529192506001600160a01b03169063bc25cf7790602401600060405180830381600087803b158015612d2157600080fd5b505af1158015612d35573d6000803e3d6000fd5b50506040516370a0823160e01b8152306004820152600092508391506001600160a01b038516906370a0823190602401602060405180830381865afa158015612d82573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612da691906151ea565b612db091906150b7565b90508015612f7b5760e084015162ffffff1615612ec057600060648560e0015162ffffff1683612de0919061527b565b612dea91906152a8565b9050612df681836150b7565b91508015612ebe5761010085015160405163a9059cbb60e01b81526001600160a01b039182166004820152602481018390529085169063a9059cbb906044016020604051808303816000875af1158015612e54573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e7891906152bc565b506000805160206158588339815191528560c00151866040015187600001518860200151858a6101000151604051612eb5969594939291906152d9565b60405180910390a15b505b8015612f7b5760a084015160405163a9059cbb60e01b81526001600160a01b039182166004820152602481018390529084169063a9059cbb906044016020604051808303816000875af1158015612f1b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f3f91906152bc565b506000805160206158588339815191528460c00151856040015186600001518760200151858960a0015160405161216a969594939291906152d9565b50505050565b60208101516040516370a0823160e01b81523060048201526000906001600160a01b038316906370a0823190602401602060405180830381865afa158015612fcd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ff191906151ea565b835160405163bc25cf7760e01b81523060048201529192506001600160a01b03169063bc25cf7790602401600060405180830381600087803b15801561303657600080fd5b505af115801561304a573d6000803e3d6000fd5b50506040516370a0823160e01b8152306004820152600092508391506001600160a01b038516906370a0823190602401602060405180830381865afa158015613097573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130bb91906151ea565b6130c591906150b7565b90508015612f7b5760e084015162ffffff16156131d557600060648560e0015162ffffff16836130f5919061527b565b6130ff91906152a8565b905061310b81836150b7565b915080156131d35761010085015160405163a9059cbb60e01b81526001600160a01b039182166004820152602481018390529085169063a9059cbb906044016020604051808303816000875af1158015613169573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061318d91906152bc565b506000805160206158588339815191528560c00151866040015187600001518860200151858a61010001516040516131ca9695949392919061531d565b60405180910390a15b505b8015612f7b57606084015160405163095ea7b360e01b81526001600160a01b039182166004820152602481018390529084169063095ea7b3906044016020604051808303816000875af1158015613230573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061325491906152bc565b506060840151602085015160405163b66503cf60e01b81526001600160a01b0391821660048201526024810184905291169063b66503cf90604401600060405180830381600087803b1580156132a957600080fd5b505af11580156132bd573d6000803e3d6000fd5b50505060c08501516040808701518751602089015160608a01519351600080516020615858833981519152965061216a9594889161531d565b604080518082019091526008815267446566694564676560c01b60209182015260c082015180519101207fb3fb2321df1205ae6abc8ebc933166a3eeee7b7b7305df34b49eea9e3d3b19f90161071b5761071b81613556565b600054610100900460ff161580801561336f5750600054600160ff909116105b806133895750303b158015613389575060005460ff166001145b6133a55760405162461bcd60e51b815260040161052190615069565b6000805460ff1916600117905580156133c8576000805461ff0019166101001790555b6133d06138e6565b6133d86138e6565b6113af60003361297e565b604080518082019091526008815267446566694564676560c01b60209182015260c082015180519101207fb3fb2321df1205ae6abc8ebc933166a3eeee7b7b7305df34b49eea9e3d3b19f90161071b5761071b81613951565b61344682826113f8565b61063b5761345381613d1a565b61345e836020613d2c565b60405160200161346f929190615362565b60408051601f198184030181529082905262461bcd60e51b8252610521916004016153d7565b6001600160a01b0381163b6135025760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610521565b60008051602061583883398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b61353a83613ece565b6000825111806135475750805b156105bc57612f7b8383613f0e565b60208101516040516370a0823160e01b81523060048201526000906001600160a01b038316906370a0823190602401602060405180830381865afa1580156135a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906135c691906151ea565b835160405163bc25cf7760e01b81523060048201529192506001600160a01b03169063bc25cf7790602401600060405180830381600087803b15801561360b57600080fd5b505af115801561361f573d6000803e3d6000fd5b50506040516370a0823160e01b8152306004820152600092508391506001600160a01b038516906370a0823190602401602060405180830381865afa15801561366c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061369091906151ea565b61369a91906150b7565b9050801561386e5760e084015162ffffff16156137aa57600060648560e0015162ffffff16836136ca919061527b565b6136d491906152a8565b90506136e081836150b7565b915080156137a85761010085015160405163a9059cbb60e01b81526001600160a01b039182166004820152602481018390529085169063a9059cbb906044016020604051808303816000875af115801561373e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061376291906152bc565b506000805160206158588339815191528560c00151866040015187600001518860200151858a610100015160405161379f969594939291906152d9565b60405180910390a15b505b801561386e5760a084015160405163a9059cbb60e01b81526001600160a01b039182166004820152602481018390529084169063a9059cbb906044016020604051808303816000875af1158015613805573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061382991906152bc565b506000805160206158588339815191528460c00151856040015186600001518760200151858960a00151604051613865969594939291906152d9565b60405180910390a15b8351604051639f9275ef60e01b81526060906001600160a01b03831690639f9275ef906138ac9060009081908190879061012e908390600401615447565b600060405180830381600087803b1580156138c657600080fd5b505af11580156138da573d6000803e3d6000fd5b50505050505050505050565b600054610100900460ff166129635760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610521565b6000816000015190506000816001600160a01b03166316f0115b6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561399a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906139be9190615500565b90506139cd61012e6000614709565b6000826001600160a01b0316633d1c387b6040518163ffffffff1660e01b8152600401600060405180830381865afa158015613a0d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052613a35919081019061552f565b905060005b81518160ff161015613cdd576000828260ff1681518110613a5d57613a5d614fd4565b60200260200101516000015190506000838360ff1681518110613a8257613a82614fd4565b60200260200101516020015190506000856001600160a01b031663514ea4bf613afa8986866040516bffffffffffffffffffffffff19606085901b16602082015260e883811b603483015282901b6037820152600090603a016040516020818303038152906040528051906020012090509392505050565b6040518263ffffffff1660e01b8152600401613b1891815260200190565b60a060405180830381865afa158015613b35573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613b5991906155ff565b5050505090506000866001600160a01b0316633850c7bd6040518163ffffffff1660e01b815260040160e060405180830381865afa158015613b9f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613bc39190615668565b5050505050509050600080613bea83613bdb88614002565b613be488614002565b876143df565b604080516080810182526002998a0b81529790980b602088019081529787019182526060870190815261012e8054600181018255600091909152965160039097027fbdaadd9f750d0166045bf387a364eadd28ba243e04512a47282aa5147a68e37f81018054995162ffffff90811663010000000265ffffffffffff19909b1699169890981798909817909655517fbdaadd9f750d0166045bf387a364eadd28ba243e04512a47282aa5147a68e380870155505091517fbdaadd9f750d0166045bf387a364eadd28ba243e04512a47282aa5147a68e3819093019290925550819050613cd5816156fd565b915050613a3a565b50606080846001600160a01b0316639f9275ef6000806000868660016040518763ffffffff1660e01b81526004016138ac9695949392919061571c565b60606104f46001600160a01b03831660145b60606000613d3b83600261527b565b613d469060026150ca565b6001600160401b03811115613d5d57613d5d614a5b565b6040519080825280601f01601f191660200182016040528015613d87576020820181803683370190505b509050600360fc1b81600081518110613da257613da2614fd4565b60200101906001600160f81b031916908160001a905350600f60fb1b81600181518110613dd157613dd1614fd4565b60200101906001600160f81b031916908160001a9053506000613df584600261527b565b613e009060016150ca565b90505b6001811115613e78576f181899199a1a9b1b9c1cb0b131b232b360811b85600f1660108110613e3457613e34614fd4565b1a60f81b828281518110613e4a57613e4a614fd4565b60200101906001600160f81b031916908160001a90535060049490941c93613e71816157ad565b9050613e03565b508315613ec75760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610521565b9392505050565b613ed781613495565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606001600160a01b0383163b613f765760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b6064820152608401610521565b600080846001600160a01b031684604051613f9191906157c4565b600060405180830381855af49150503d8060008114613fcc576040519150601f19603f3d011682016040523d82523d6000602084013e613fd1565b606091505b5091509150613ff982826040518060600160405280602781526020016158786027913961447b565b95945050505050565b60008060008360020b12614019578260020b614026565b8260020b614026906157e0565b905060008160011660000361403f57600160801b614051565b6ffffcb933bd6fad37aa2d162d1a5940015b70ffffffffffffffffffffffffffffffffff169050600282161561409057608061408b826ffff97272373d413259a46990580e213a61527b565b901c90505b60048216156140ba5760806140b5826ffff2e50f5f656932ef12357cf3c7fdcc61527b565b901c90505b60088216156140e45760806140df826fffe5caca7e10e4e61c3624eaa0941cd061527b565b901c90505b601082161561410e576080614109826fffcb9843d60f6159c9db58835c92664461527b565b901c90505b6020821615614138576080614133826fff973b41fa98c081472e6896dfb254c061527b565b901c90505b604082161561416257608061415d826fff2ea16466c96a3843ec78b326b5286161527b565b901c90505b608082161561418c576080614187826ffe5dee046a99a2a811c461f1969c305361527b565b901c90505b6101008216156141b75760806141b2826ffcbe86c7900a88aedcffc83b479aa3a461527b565b901c90505b6102008216156141e25760806141dd826ff987a7253ac413176f2b074cf7815e5461527b565b901c90505b61040082161561420d576080614208826ff3392b0822b70005940c7a398e4b70f361527b565b901c90505b610800821615614238576080614233826fe7159475a2c29b7443b29c7fa6e889d961527b565b901c90505b61100082161561426357608061425e826fd097f3bdfd2022b8845ad8f792aa582561527b565b901c90505b61200082161561428e576080614289826fa9f746462d870fdf8a65dc1f90e061e561527b565b901c90505b6140008216156142b95760806142b4826f70d869a156d2a1b890bb3df62baf32f761527b565b901c90505b6180008216156142e45760806142df826f31be135f97d08fd981231505542fcfa661527b565b901c90505b6201000082161561431057608061430b826f09aa508b5b7a84e1c677de54f3e99bc961527b565b901c90505b6202000082161561433b576080614336826e5d6af8dedb81196699c329225ee60461527b565b901c90505b62040000821615614365576080614360826d2216e584f5fa1ea926041bedfe9861527b565b901c90505b6208000082161561438d576080614388826b048a170391f7dc42444e8fa261527b565b901c90505b60008460020b13156143a8576143a5816000196152a8565b90505b6143b7640100000000826157fc565b156143c35760016143c6565b60005b6143d79060ff16602083901c6150ca565b949350505050565b600080836001600160a01b0316856001600160a01b03161115614400579293925b846001600160a01b0316866001600160a01b03161161442b57614424858585614494565b9150614472565b836001600160a01b0316866001600160a01b0316101561446457614450868585614494565b915061445d858785614507565b9050614472565b61446f858585614507565b90505b94509492505050565b6060831561448a575081613ec7565b613ec78383614551565b6000826001600160a01b0316846001600160a01b031611156144b4579192915b6001600160a01b0384166144fd6fffffffffffffffffffffffffffffffff60601b606085901b166144e58787615810565b6001600160a01b0316866001600160a01b031661457b565b6143d791906152a8565b6000826001600160a01b0316846001600160a01b03161115614527579192915b6143d76001600160801b03831661453e8686615810565b6001600160a01b0316600160601b61457b565b8151156145615781518083602001fd5b8060405162461bcd60e51b815260040161052191906153d7565b60008080600019858709858702925082811083820303915050806000036145b457600084116145a957600080fd5b508290049050613ec7565b8084116145c057600080fd5b60008486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091026000889003889004909101858311909403939093029303949094049190911702949350505050565b6040805161014081018252600080825260208201819052606092820183905291810182905290608082019081526000602082018190526060604083018190528201819052608082015260a00161467d61472a565b905290565b50805461468e90615019565b6000825580601f1061469e575050565b601f01602090049060005260206000209081019061071b9190614749565b5061071b90600a810190614749565b82600a81019282156146f9579160200282015b828111156146f95782518255916020019190600101906146de565b50614705929150614749565b5090565b508054600082556003029060005260206000209081019061071b919061475e565b604051806101400160405280600a906020820280368337509192915050565b5b80821115614705576000815560010161474a565b5b8082111561470557805465ffffffffffff19168155600060018201819055600282015560030161475f565b60006020828403121561479c57600080fd5b81356001600160e01b031981168114613ec757600080fd5b801515811461071b57600080fd5b600080604083850312156147d557600080fd5b82356147e0816147b4565b915060208301356147f0816147b4565b809150509250929050565b60006020828403121561480d57600080fd5b5035919050565b6001600160a01b038116811461071b57600080fd5b803561483481614814565b919050565b6000806040838503121561484c57600080fd5b8235915060208301356147f081614814565b60006020828403121561487057600080fd5b8135613ec781614814565b60005b8381101561489657818101518382015260200161487e565b50506000910152565b600081518084526148b781602086016020860161487b565b601f01601f19169290920160200192915050565b634e487b7160e01b600052602160045260246000fd5b600481106148ff57634e487b7160e01b600052602160045260246000fd5b9052565b8060005b600a811015612f7b578151845260209384019390910190600101614907565b60006020808301818452808551808352604092508286019150828160051b87010184880160005b83811015614a4d57888303603f19018552815180516001600160a01b03168452610260818901516001600160a01b038116868b0152508782015181898701526149988287018261489f565b9150506060808301516149b5828801826001600160a01b03169052565b50506080808301516149c9828801826148e1565b505060a0828101516001600160a01b03169086015260c080830151868303828801526149f5838261489f565b9250505060e080830151614a0f8288018262ffffff169052565b5050610100828101516001600160a01b0316908601526101209182015191614a3981870184614903565b50958801959350509086019060010161494d565b509098975050505050505050565b634e487b7160e01b600052604160045260246000fd5b60405161014081016001600160401b0381118282101715614a9457614a94614a5b565b60405290565b604080519081016001600160401b0381118282101715614a9457614a94614a5b565b604051601f8201601f191681016001600160401b0381118282101715614ae457614ae4614a5b565b604052919050565b60006001600160401b03831115614b0557614b05614a5b565b614b18601f8401601f1916602001614abc565b9050828152838383011115614b2c57600080fd5b828260208301376000602084830101529392505050565b60008060408385031215614b5657600080fd5b8235614b6181614814565b915060208301356001600160401b03811115614b7c57600080fd5b8301601f81018513614b8d57600080fd5b614b9c85823560208401614aec565b9150509250929050565b60006001600160401b03821115614bbf57614bbf614a5b565b5060051b60200190565b600082601f830112614bda57600080fd5b613ec783833560208501614aec565b80356004811061483457600080fd5b803562ffffff8116811461483457600080fd5b600082601f830112614c1c57600080fd5b6040516101408082018281106001600160401b0382111715614c4057614c40614a5b565b60405283018185821115614c5357600080fd5b845b82811015614c6d578035825260209182019101614c55565b509195945050505050565b60006102608284031215614c8b57600080fd5b614c93614a71565b9050614c9e82614829565b8152614cac60208301614829565b602082015260408201356001600160401b0380821115614ccb57600080fd5b614cd785838601614bc9565b6040840152614ce860608501614829565b6060840152614cf960808501614be9565b6080840152614d0a60a08501614829565b60a084015260c0840135915080821115614d2357600080fd5b50614d3084828501614bc9565b60c083015250614d4260e08301614bf8565b60e0820152610100614d55818401614829565b90820152610120614d6884848301614c0b565b9082015292915050565b60006020808385031215614d8557600080fd5b82356001600160401b0380821115614d9c57600080fd5b818501915085601f830112614db057600080fd5b8135614dc3614dbe82614ba6565b614abc565b81815260059190911b83018401908481019088831115614de257600080fd5b8585015b83811015614e1a57803585811115614dfe5760008081fd5b614e0c8b89838a0101614c78565b845250918601918601614de6565b5098975050505050505050565b6001600160a01b038a81168252898116602083015261012060408301819052600091614e558483018c61489f565b9150808a166060850152614e6c608085018a6148e1565b80881660a085015283820360c0850152614e86828861489f565b925062ffffff861660e085015280851661010085015250509a9950505050505050505050565b60008060408385031215614ebf57600080fd5b8235614eca81614814565b915060208301356147f081614814565b600060208284031215614eec57600080fd5b81356001600160401b03811115614f0257600080fd5b6143d784828501614c78565b6020808252601490820152735265737472696374656420746f2061646d696e7360601b604082015260600190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006001820161501257615012614fea565b5060010190565b600181811c9082168061502d57607f821691505b60208210810361504d57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052603160045260246000fd5b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b818103818111156104f4576104f4614fea565b808201808211156104f4576104f4614fea565b601f8211156105bc57600081815260208120601f850160051c810160208610156151045750805b601f850160051c820191505b8181101561512357828155600101615110565b505050505050565b81516001600160401b0381111561514457615144614a5b565b615158816151528454615019565b846150dd565b602080601f83116001811461518d57600084156151755750858301515b600019600386901b1c1916600185901b178555615123565b600085815260208120601f198616915b828110156151bc5788860151825594840194600190910190840161519d565b50858210156151da5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000602082840312156151fc57600080fd5b5051919050565b60e08152600061521660e083018961489f565b828103806020850152600482526353796e6360e01b602083015260408101604085015250615247604082018961489f565b6001600160a01b0397881660608501529587166080840152505060a081019290925290921660c09092019190915292915050565b80820281158282048414176104f4576104f4614fea565b634e487b7160e01b600052601260045260246000fd5b6000826152b7576152b7615292565b500490565b6000602082840312156152ce57600080fd5b8151613ec7816147b4565b60e0815260006152ec60e083018961489f565b8281038060208501526004825263536b696d60e01b602083015260408101604085015250615247604082018961489f565b60e08152600061533060e083018961489f565b8281038060208501526005825264427269626560d81b602083015260408101604085015250615247604082018961489f565b7f416363657373436f6e74726f6c3a206163636f756e742000000000000000000081526000835161539a81601785016020880161487b565b7001034b99036b4b9b9b4b733903937b6329607d1b60179184019182015283516153cb81602884016020880161487b565b01602801949350505050565b602081526000613ec7602083018461489f565b600081518084526020808501945080840160005b8381101561543c57815180518852838101511515848901526040808201519089015260609081015190880152608090960195908201906001016153fe565b509495945050505050565b8615158152600060208781840152604087151581850152606060e081860152600060e0860152610100608081818801526154838288018b6153ea565b87810360a0890152895480825260008b81528781209450918701915b818110156154de578454600281810b855260189190911c810b89850152600180870154898601529086015487850152600390950194928401920161549f565b505088151560c089015295506154f5945050505050565b979650505050505050565b60006020828403121561551257600080fd5b8151613ec781614814565b8051600281900b811461483457600080fd5b6000602080838503121561554257600080fd5b82516001600160401b0381111561555857600080fd5b8301601f8101851361556957600080fd5b8051615577614dbe82614ba6565b81815260069190911b8201830190838101908783111561559657600080fd5b928401925b828410156154f557604084890312156155b45760008081fd5b6155bc614a9a565b6155c58561551d565b81526155d286860161551d565b818701528252604093909301929084019061559b565b80516001600160801b038116811461483457600080fd5b600080600080600060a0868803121561561757600080fd5b615620866155e8565b9450602086015193506040860151925061563c606087016155e8565b915061564a608087016155e8565b90509295509295909350565b805161ffff8116811461483457600080fd5b600080600080600080600060e0888a03121561568357600080fd5b875161568e81614814565b965061569c6020890161551d565b95506156aa60408901615656565b94506156b860608901615656565b93506156c660808901615656565b925060a088015160ff811681146156dc57600080fd5b60c08901519092506156ed816147b4565b8091505092959891949750929550565b600060ff821660ff810361571357615713614fea565b60010192915050565b8615158152600060208781840152604087151581850152606060e081860152600060e0860152610100608081818801526157588288018b6153ea565b87810360a08901528951808252868b0193509086019060005b818110156154de5784518051600290810b855289820151900b898501528781015188850152860151868401529387019391830191600101615771565b6000816157bc576157bc614fea565b506000190190565b600082516157d681846020870161487b565b9190910192915050565b6000600160ff1b82016157f5576157f5614fea565b5060000390565b60008261580b5761580b615292565b500690565b6001600160a01b0382811682821603908082111561583057615830614fea565b509291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbccb414e813f34d59db194a1937a70c199f2a691ccd6ee32704df2b38170acb6ed416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220fbec76456da30c2a8b4e16d49b16b579a54167386a9bbc140d2596ba4c49c5e364736f6c63430008110033