0 txs
9 calls
constructor
No constructor.
functions
containsHash
viewfunction containsHash(bytes32 txHash_, uint256 txNonce_) view returns (bool)
getERC1155SignHash
purefunction getERC1155SignHash(address token_, uint256 tokenId_, uint256 amount_, address receiver_, bytes32 txHash_, uint256 txNonce_, uint256 chainId_, string tokenURI_, bool isWrapped_) pure returns (bytes32)
getERC20SignHash
purefunction getERC20SignHash(address token_, uint256 amount_, address receiver_, bytes32 txHash_, uint256 txNonce_, uint256 chainId_, bool isWrapped_) pure returns (bytes32)
getERC721SignHash
purefunction getERC721SignHash(address token_, uint256 tokenId_, address receiver_, bytes32 txHash_, uint256 txNonce_, uint256 chainId_, string tokenURI_, bool isWrapped_) pure returns (bytes32)
getNativeSignHash
purefunction getNativeSignHash(uint256 amount_, address receiver_, bytes32 txHash_, uint256 txNonce_, uint256 chainId_) pure returns (bytes32)
getSigners
viewfunction getSigners() view returns (address[])
owner
viewfunction owner() view returns (address)
proxiableUUID
viewfunction proxiableUUID() view returns (bytes32)
signaturesThreshold
viewfunction signaturesThreshold() view returns (uint256)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
usedHashes
viewfunction usedHashes(bytes32) view returns (bool)
__Bridge_init
nonpayablefunction __Bridge_init(address[] signers_, uint256 signaturesThreshold_)
__Signers_init
nonpayablefunction __Signers_init(address[] signers_, uint256 signaturesThreshold_)
addHash
nonpayablefunction addHash(bytes32 txHash_, uint256 txNonce_)
addSigners
nonpayablefunction addSigners(address[] signers_)
depositERC1155
nonpayablefunction depositERC1155(address token_, uint256 tokenId_, uint256 amount_, string receiver_, string network_, bool isWrapped_)
depositERC20
nonpayablefunction depositERC20(address token_, uint256 amount_, string receiver_, string network_, bool isWrapped_)
depositERC721
nonpayablefunction depositERC721(address token_, uint256 tokenId_, string receiver_, string network_, bool isWrapped_)
depositNative
payablefunction depositNative(string receiver_, string network_) payable
onERC1155BatchReceived
nonpayablefunction onERC1155BatchReceived(address, address, uint256[], uint256[], bytes) returns (bytes4)
onERC1155Received
nonpayablefunction onERC1155Received(address, address, uint256, uint256, bytes) returns (bytes4)
onERC721Received
nonpayablefunction onERC721Received(address, address, uint256, bytes) returns (bytes4)
removeSigners
nonpayablefunction removeSigners(address[] signers_)
renounceOwnership
nonpayablefunction renounceOwnership()
setSignaturesThreshold
nonpayablefunction setSignaturesThreshold(uint256 signaturesThreshold_)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
upgradeTo
nonpayablefunction upgradeTo(address newImplementation)
upgradeToAndCall
payablefunction upgradeToAndCall(address newImplementation, bytes data) payable
withdrawERC1155
nonpayablefunction withdrawERC1155(address token_, uint256 tokenId_, uint256 amount_, address receiver_, bytes32 txHash_, uint256 txNonce_, string tokenURI_, bool isWrapped_, bytes[] signatures_)
withdrawERC20
nonpayablefunction withdrawERC20(address token_, uint256 amount_, address receiver_, bytes32 txHash_, uint256 txNonce_, bool isWrapped_, bytes[] signatures_)
withdrawERC721
nonpayablefunction withdrawERC721(address token_, uint256 tokenId_, address receiver_, bytes32 txHash_, uint256 txNonce_, string tokenURI_, bool isWrapped_, bytes[] signatures_)
withdrawNative
nonpayablefunction withdrawNative(uint256 amount_, address receiver_, bytes32 txHash_, uint256 txNonce_, bytes[] signatures_)
events
AdminChanged
event AdminChanged(address previousAdmin, address newAdmin)
BeaconUpgraded
event BeaconUpgraded(address indexed beacon)
DepositedERC1155
event DepositedERC1155(address token, uint256 tokenId, uint256 amount, string receiver, string network, bool isWrapped)
DepositedERC20
event DepositedERC20(address token, uint256 amount, string receiver, string network, bool isWrapped)
DepositedERC721
event DepositedERC721(address token, uint256 tokenId, string receiver, string network, bool isWrapped)
DepositedNative
event DepositedNative(uint256 amount, string receiver, string network)
Initialized
event Initialized(uint8 version)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
Upgraded
event Upgraded(address indexed implementation)
errors
No errors.
creation bytecode
0x60a06040523060805234801561001457600080fd5b50608051613d3661004c60003960008181610974015281816109b401528181610a5401528181610a940152610b270152613d366000f3fe6080604052600436106101e75760003560e01c80638d361e4311610102578063b427d67c11610095578063f23a6e6111610064578063f23a6e61146105a8578063f2fde38b146105d4578063fc0a9870146105f4578063fe4309b11461061457600080fd5b8063b427d67c1461051c578063bc197c811461053c578063bf1fe08f14610568578063e8906a2d1461058857600080fd5b8063aaba091e116100d1578063aaba091e1461048c578063aef18bf7146104ac578063af94570d146104dc578063b3953d44146104fc57600080fd5b80638d361e43146104025780638da5cb5b1461042257806394995fc41461044a57806394cf795e1461046a57600080fd5b806339ce73c71161017a578063715018a611610149578063715018a61461039a5780637eb9d447146103af5780638338fcd8146103cf5780638609d28c146103ef57600080fd5b806339ce73c71461033c5780634f1ef2861461035257806352d1902d146103655780635bd5429d1461037a57600080fd5b8063150b7a02116101b6578063150b7a021461028a5780631c3d9c87146102ce578063337e03a9146102ee5780633659cfe61461031c57600080fd5b806301ffc9a7146101f35780630430285a1461022857806309a55841146102485780631270ce5a1461026a57600080fd5b366101ee57005b600080fd5b3480156101ff57600080fd5b5061021361020e366004612b41565b610634565b60405190151581526020015b60405180910390f35b34801561023457600080fd5b50610213610243366004612b6b565b61066b565b34801561025457600080fd5b50610268610263366004612bd1565b6106ba565b005b34801561027657600080fd5b50610268610285366004612c82565b61070a565b34801561029657600080fd5b506102b56102a5366004612ddd565b630a85bd0160e11b949350505050565b6040516001600160e01b0319909116815260200161021f565b3480156102da57600080fd5b506102686102e9366004612e44565b6108d8565b3480156102fa57600080fd5b5061030e610309366004612eb4565b610911565b60405190815260200161021f565b34801561032857600080fd5b50610268610337366004612efa565b610969565b34801561034857600080fd5b5061030e60655481565b610268610360366004612f15565b610a49565b34801561037157600080fd5b5061030e610b1a565b34801561038657600080fd5b50610268610395366004612b6b565b610bcd565b3480156103a657600080fd5b50610268610c01565b3480156103bb57600080fd5b506102686103ca366004612f62565b610c37565b3480156103db57600080fd5b506102686103ea366004612bd1565b610c7c565b6102686103fd366004613027565b610cf8565b34801561040e57600080fd5b5061026861041d366004613092565b610d7f565b34801561042e57600080fd5b506033546040516001600160a01b03909116815260200161021f565b34801561045657600080fd5b506102686104653660046130d3565b610df9565b34801561047657600080fd5b5061047f610e38565b60405161021f9190613166565b34801561049857600080fd5b5061030e6104a73660046131b3565b610e49565b3480156104b857600080fd5b506102136104c7366004613221565b60686020526000908152604090205460ff1681565b3480156104e857600080fd5b5061030e6104f736600461323a565b610eb7565b34801561050857600080fd5b506102686105173660046132d8565b610eff565b34801561052857600080fd5b5061030e6105373660046133ad565b610f47565b34801561054857600080fd5b506102b56105573660046134ca565b63bc197c8160e01b95945050505050565b34801561057457600080fd5b50610268610583366004613221565b610f92565b34801561059457600080fd5b506102686105a3366004613092565b611011565b3480156105b457600080fd5b506102b56105c3366004613573565b63f23a6e6160e01b95945050505050565b3480156105e057600080fd5b506102686105ef366004612efa565b611102565b34801561060057600080fd5b5061026861060f3660046135d7565b61119a565b34801561062057600080fd5b5061026861062f3660046135d7565b611309565b60006001600160e01b03198216630271189760e51b148061066557506301ffc9a760e01b6001600160e01b03198316145b92915050565b600080838360405160200161068a929190918252602082015260400190565b60408051808303601f1901815291815281516020928301206000908152606890925290205460ff16949350505050565b600054610100900460ff166106ea5760405162461bcd60e51b81526004016106e190613664565b60405180910390fd5b6106f2611469565b6106fc8383611011565b61070581610f92565b505050565b6001600160a01b0388166107605760405162461bcd60e51b815260206004820152601a60248201527f4552433131353548616e646c65723a207a65726f20746f6b656e00000000000060448201526064016106e1565b600086116107b05760405162461bcd60e51b815260206004820152601e60248201527f4552433131353548616e646c65723a20616d6f756e74206973207a65726f000060448201526064016106e1565b8781156108235760405163124d91e560e01b815233600482015260248101899052604481018890526001600160a01b0382169063124d91e590606401600060405180830381600087803b15801561080657600080fd5b505af115801561081a573d6000803e3d6000fd5b50505050610888565b604051637921219560e11b81526001600160a01b0382169063f242432a9061085590339030908d908d906004016136af565b600060405180830381600087803b15801561086f57600080fd5b505af1158015610883573d6000803e3d6000fd5b505050505b7fc4bbd2c4c89eca35a4569ba4be47a2ecd453b39abc66de1c93920b8977224c8789898989898989896040516108c5989796959493929190613710565b60405180910390a1505050505050505050565b60006108e78787878746610911565b90506108f38585611498565b6108fe81848461153e565b6109088787611642565b50505050505050565b6040805160208082019790975260609590951b6bffffffffffffffffffffffff191685820152605485019390935260748401919091526094808401919091528151808403909101815260b49092019052805191012090565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156109b25760405162461bcd60e51b81526004016106e190613769565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166109fb600080516020613cba833981519152546001600160a01b031690565b6001600160a01b031614610a215760405162461bcd60e51b81526004016106e1906137b5565b610a2a8161178b565b60408051600080825260208201909252610a46918391906117b5565b50565b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161415610a925760405162461bcd60e51b81526004016106e190613769565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610adb600080516020613cba833981519152546001600160a01b031690565b6001600160a01b031614610b015760405162461bcd60e51b81526004016106e1906137b5565b610b0a8261178b565b610b16828260016117b5565b5050565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610bba5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016106e1565b50600080516020613cba83398151915290565b6033546001600160a01b03163314610bf75760405162461bcd60e51b81526004016106e190613801565b610b168282611498565b6033546001600160a01b03163314610c2b5760405162461bcd60e51b81526004016106e190613801565b610c35600061192f565b565b6000610c4a8b8b8b8b8b468c8c8c610eb7565b9050610c568888611498565b610c6181848461153e565b610c6f8b8b8b898989611981565b5050505050505050505050565b6000610c886001611afd565b90508015610ca0576000805461ff0019166101001790555b610cab8484846106ba565b8015610cf2576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a15b50505050565b60003411610d485760405162461bcd60e51b815260206004820152601960248201527f4e617469766548616e646c65723a207a65726f2076616c75650000000000000060448201526064016106e1565b7fef357f56f24d80ad6375142b4c210b341c52054c0219b73521614ad08ad3ebc13485858585604051610ce9959493929190613836565b6033546001600160a01b03163314610da95760405162461bcd60e51b81526004016106e190613801565b60005b8181101561070557610de6838383818110610dc957610dc961386f565b9050602002016020810190610dde9190612efa565b606690611b8a565b5080610df18161389b565b915050610dac565b6000610e0a8989898989468a610e49565b9050610e168686611498565b610e2181848461153e565b610e2d89898987611ba6565b505050505050505050565b6060610e446066611d26565b905090565b604080516bffffffffffffffffffffffff196060998a1b811660208084019190915260348301999099529690981b90951660548801526068870193909352608886019190915260a8850152151560f81b60c8840152805180840360a901815260c99093019052815191012090565b6000898989898989898989604051602001610eda999897969594939291906138b6565b6040516020818303038152906040528051906020012090509998505050505050505050565b6000610f138c8c8c8c8c8c468d8d8d610f47565b9050610f1f8888611498565b610f2a81848461153e565b610f398c8c8c8c8a8a8a611d33565b505050505050505050505050565b60008a8a8a8a8a8a8a8a8a8a604051602001610f6c9a99989796959493929190613918565b6040516020818303038152906040528051906020012090509a9950505050505050505050565b6033546001600160a01b03163314610fbc5760405162461bcd60e51b81526004016106e190613801565b6000811161100c5760405162461bcd60e51b815260206004820152601a60248201527f5369676e6572733a20696e76616c6964207468726573686f6c6400000000000060448201526064016106e1565b606555565b6033546001600160a01b0316331461103b5760405162461bcd60e51b81526004016106e190613801565b60005b8181101561070557600083838381811061105a5761105a61386f565b905060200201602081019061106f9190612efa565b6001600160a01b031614156110bd5760405162461bcd60e51b815260206004820152601460248201527329b4b3b732b9399d103d32b9379039b4b3b732b960611b60448201526064016106e1565b6110ef8383838181106110d2576110d261386f565b90506020020160208101906110e79190612efa565b606690611f0b565b50806110fa8161389b565b91505061103e565b6033546001600160a01b0316331461112c5760405162461bcd60e51b81526004016106e190613801565b6001600160a01b0381166111915760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016106e1565b610a468161192f565b6001600160a01b0387166111eb5760405162461bcd60e51b815260206004820152601860248201527722a92199182430b7323632b91d103d32b937903a37b5b2b760411b60448201526064016106e1565b6000861161123b5760405162461bcd60e51b815260206004820152601c60248201527f455243323048616e646c65723a20616d6f756e74206973207a65726f0000000060448201526064016106e1565b8681156112a75760405163079cc67960e41b8152336004820152602481018890526001600160a01b038216906379cc679090604401600060405180830381600087803b15801561128a57600080fd5b505af115801561129e573d6000803e3d6000fd5b505050506112bc565b6112bc6001600160a01b03821633308a611f20565b7fe45ffec1054683dac57438f7878191986caad7d21a6090f93d132031dce00be0888888888888886040516112f79796959493929190613981565b60405180910390a15050505050505050565b6001600160a01b03871661135b5760405162461bcd60e51b815260206004820152601960248201527822a9219b9918a430b7323632b91d103d32b937903a37b5b2b760391b60448201526064016106e1565b8681156113c75760405163079cc67960e41b8152336004820152602481018890526001600160a01b038216906379cc679090604401600060405180830381600087803b1580156113aa57600080fd5b505af11580156113be573d6000803e3d6000fd5b5050505061142e565b604051632142170760e11b8152336004820152306024820152604481018890526001600160a01b038216906342842e0e90606401600060405180830381600087803b15801561141557600080fd5b505af1158015611429573d6000803e3d6000fd5b505050505b7f3fcf88504879fa04c44ae16bbdf401d1e426aa833ac79fd8d72d108d74a62bd2888888888888886040516112f79796959493929190613981565b600054610100900460ff166114905760405162461bcd60e51b81526004016106e190613664565b610c35611f8b565b60408051602080820185905281830184905282518083038401815260609092018352815191810191909120600081815260689092529190205460ff16156115215760405162461bcd60e51b815260206004820152601e60248201527f4861736865733a207468652068617368206e6f6e63652069732075736564000060448201526064016106e1565b6000908152606860205260409020805460ff191660011790555050565b6000816001600160401b0381111561155857611558612d28565b604051908082528060200260200182016040528015611581578160200160208202803683370190505b50905060005b82811015611638576115fc8484838181106115a4576115a461386f565b90506020028101906115b691906139d3565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506115f69250899150611fbb9050565b9061200e565b82828151811061160e5761160e61386f565b6001600160a01b0390921660209283029190910190910152806116308161389b565b915050611587565b50610cf281612032565b600082116116925760405162461bcd60e51b815260206004820152601d60248201527f4e617469766548616e646c65723a20616d6f756e74206973207a65726f00000060448201526064016106e1565b6001600160a01b0381166116e85760405162461bcd60e51b815260206004820152601f60248201527f4e617469766548616e646c65723a207265636569766572206973207a65726f0060448201526064016106e1565b6000816001600160a01b03168360405160006040518083038185875af1925050503d8060008114611735576040519150601f19603f3d011682016040523d82523d6000602084013e61173a565b606091505b50509050806107055760405162461bcd60e51b815260206004820152601d60248201527f4e617469766548616e646c65723a2063616e27742073656e642065746800000060448201526064016106e1565b6033546001600160a01b03163314610a465760405162461bcd60e51b81526004016106e190613801565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff16156117e857610705836121aa565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b815260040160206040518083038186803b15801561182157600080fd5b505afa925050508015611851575060408051601f3d908101601f1916820190925261184e91810190613a19565b60015b6118b45760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b60648201526084016106e1565b600080516020613cba83398151915281146119235760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b60648201526084016106e1565b50610705838383612246565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b0386166119d35760405162461bcd60e51b815260206004820152601960248201527822a9219b9918a430b7323632b91d103d32b937903a37b5b2b760391b60448201526064016106e1565b6001600160a01b038416611a295760405162461bcd60e51b815260206004820152601c60248201527f45524337323148616e646c65723a207a65726f2072656365697665720000000060448201526064016106e1565b858115611a9957604051639f6ed25f60e01b81526001600160a01b03821690639f6ed25f90611a629088908a9089908990600401613a32565b600060405180830381600087803b158015611a7c57600080fd5b505af1158015611a90573d6000803e3d6000fd5b50505050610908565b604051632142170760e11b81523060048201526001600160a01b038681166024830152604482018890528216906342842e0e90606401600060405180830381600087803b158015611ae957600080fd5b505af1158015610c6f573d6000803e3d6000fd5b60008054610100900460ff1615611b44578160ff166001148015611b205750303b155b611b3c5760405162461bcd60e51b81526004016106e190613a5a565b506000919050565b60005460ff808416911610611b6b5760405162461bcd60e51b81526004016106e190613a5a565b506000805460ff191660ff92909216919091179055600190565b919050565b6000611b9f836001600160a01b03841661226b565b9392505050565b6001600160a01b038416611bf75760405162461bcd60e51b815260206004820152601860248201527722a92199182430b7323632b91d103d32b937903a37b5b2b760411b60448201526064016106e1565b60008311611c475760405162461bcd60e51b815260206004820152601c60248201527f455243323048616e646c65723a20616d6f756e74206973207a65726f0000000060448201526064016106e1565b6001600160a01b038216611c9d5760405162461bcd60e51b815260206004820152601b60248201527f455243323048616e646c65723a207a65726f207265636569766572000000000060448201526064016106e1565b838115611d0b576040516308934a5f60e31b81526001600160a01b0384811660048301526024820186905282169063449a52f890604401600060405180830381600087803b158015611cee57600080fd5b505af1158015611d02573d6000803e3d6000fd5b50505050611d1f565b611d1f6001600160a01b038216848661235e565b5050505050565b60606000611b9f8361238e565b6001600160a01b038716611d895760405162461bcd60e51b815260206004820152601a60248201527f4552433131353548616e646c65723a207a65726f20746f6b656e00000000000060448201526064016106e1565b6001600160a01b038416611ddf5760405162461bcd60e51b815260206004820152601d60248201527f4552433131353548616e646c65723a207a65726f20726563656976657200000060448201526064016106e1565b60008511611e2f5760405162461bcd60e51b815260206004820152601e60248201527f4552433131353548616e646c65723a20616d6f756e74206973207a65726f000060448201526064016106e1565b868115611ea157604051633dbd5b2560e01b81526001600160a01b03821690633dbd5b2590611e6a9088908b908b908a908a90600401613aa8565b600060405180830381600087803b158015611e8457600080fd5b505af1158015611e98573d6000803e3d6000fd5b50505050611f01565b604051637921219560e11b81526001600160a01b0382169063f242432a90611ed390309089908c908c906004016136af565b600060405180830381600087803b158015611eed57600080fd5b505af1158015610f39573d6000803e3d6000fd5b5050505050505050565b6000611b9f836001600160a01b0384166123ea565b6040516001600160a01b0380851660248301528316604482015260648101829052610cf29085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152612439565b600054610100900460ff16611fb25760405162461bcd60e51b81526004016106e190613664565b610c353361192f565b6040517f19457468657265756d205369676e6564204d6573736167653a0a3332000000006020820152603c8101829052600090605c01604051602081830303815290604052805190602001209050919050565b600080600061201d858561250b565b9150915061202a8161257b565b509392505050565b6000805b82518110156121565761206c8382815181106120545761205461386f565b6020026020010151606661273690919063ffffffff16565b6120b85760405162461bcd60e51b815260206004820152601760248201527f5369676e6572733a20696e76616c6964207369676e657200000000000000000060448201526064016106e1565b600060988483815181106120ce576120ce61386f565b60200260200101516001600160a01b0316901c60026120ed9190613bba565b90508281161561213f5760405162461bcd60e51b815260206004820152601a60248201527f5369676e6572733a206475706c6963617465207369676e65727300000000000060448201526064016106e1565b91909117908061214e8161389b565b915050612036565b5060655482511015610b165760405162461bcd60e51b815260206004820152601d60248201527f5369676e6572733a207468726573686f6c64206973206e6f74206d657400000060448201526064016106e1565b6001600160a01b0381163b6122175760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016106e1565b600080516020613cba83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b61224f83612758565b60008251118061225c5750805b1561070557610cf28383612798565b6000818152600183016020526040812054801561235457600061228f600183613bc6565b85549091506000906122a390600190613bc6565b90508181146123085760008660000182815481106122c3576122c361386f565b90600052602060002001549050808760000184815481106122e6576122e661386f565b6000918252602080832090910192909255918252600188019052604090208390555b855486908061231957612319613bdd565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610665565b6000915050610665565b6040516001600160a01b03831660248201526044810182905261070590849063a9059cbb60e01b90606401611f54565b6060816000018054806020026020016040519081016040528092919081815260200182805480156123de57602002820191906000526020600020905b8154815260200190600101908083116123ca575b50505050509050919050565b600081815260018301602052604081205461243157508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610665565b506000610665565b600061248e826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166127bd9092919063ffffffff16565b80519091501561070557808060200190518101906124ac9190613bf3565b6107055760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016106e1565b6000808251604114156125425760208301516040840151606085015160001a612536878285856127d4565b94509450505050612574565b82516040141561256c57602083015160408401516125618683836128c1565b935093505050612574565b506000905060025b9250929050565b600081600481111561258f5761258f613c10565b14156125985750565b60018160048111156125ac576125ac613c10565b14156125fa5760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e6174757265000000000000000060448201526064016106e1565b600281600481111561260e5761260e613c10565b141561265c5760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e6774680060448201526064016106e1565b600381600481111561267057612670613c10565b14156126c95760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b60648201526084016106e1565b60048160048111156126dd576126dd613c10565b1415610a465760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202776272076616c604482015261756560f01b60648201526084016106e1565b6001600160a01b03811660009081526001830160205260408120541515611b9f565b612761816121aa565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060611b9f8383604051806060016040528060278152602001613cda602791396128fa565b60606127cc84846000856129d7565b949350505050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083111561280b57506000905060036128b8565b8460ff16601b1415801561282357508460ff16601c14155b1561283457506000905060046128b8565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015612888573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166128b1576000600192509250506128b8565b9150600090505b94509492505050565b6000806001600160ff1b038316816128de60ff86901c601b613c26565b90506128ec878288856127d4565b935093505050935093915050565b60606001600160a01b0384163b6129625760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b60648201526084016106e1565b600080856001600160a01b03168560405161297d9190613c6a565b600060405180830381855af49150503d80600081146129b8576040519150601f19603f3d011682016040523d82523d6000602084013e6129bd565b606091505b50915091506129cd828286612b08565b9695505050505050565b606082471015612a385760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016106e1565b6001600160a01b0385163b612a8f5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016106e1565b600080866001600160a01b03168587604051612aab9190613c6a565b60006040518083038185875af1925050503d8060008114612ae8576040519150601f19603f3d011682016040523d82523d6000602084013e612aed565b606091505b5091509150612afd828286612b08565b979650505050505050565b60608315612b17575081611b9f565b825115612b275782518084602001fd5b8160405162461bcd60e51b81526004016106e19190613c86565b600060208284031215612b5357600080fd5b81356001600160e01b031981168114611b9f57600080fd5b60008060408385031215612b7e57600080fd5b50508035926020909101359150565b60008083601f840112612b9f57600080fd5b5081356001600160401b03811115612bb657600080fd5b6020830191508360208260051b850101111561257457600080fd5b600080600060408486031215612be657600080fd5b83356001600160401b03811115612bfc57600080fd5b612c0886828701612b8d565b909790965060209590950135949350505050565b80356001600160a01b0381168114611b8557600080fd5b60008083601f840112612c4557600080fd5b5081356001600160401b03811115612c5c57600080fd5b60208301915083602082850101111561257457600080fd5b8015158114610a4657600080fd5b60008060008060008060008060c0898b031215612c9e57600080fd5b612ca789612c1c565b9750602089013596506040890135955060608901356001600160401b0380821115612cd157600080fd5b612cdd8c838d01612c33565b909750955060808b0135915080821115612cf657600080fd5b50612d038b828c01612c33565b90945092505060a0890135612d1781612c74565b809150509295985092959890939650565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b0381118282101715612d6657612d66612d28565b604052919050565b600082601f830112612d7f57600080fd5b81356001600160401b03811115612d9857612d98612d28565b612dab601f8201601f1916602001612d3e565b818152846020838601011115612dc057600080fd5b816020850160208301376000918101602001919091529392505050565b60008060008060808587031215612df357600080fd5b612dfc85612c1c565b9350612e0a60208601612c1c565b92506040850135915060608501356001600160401b03811115612e2c57600080fd5b612e3887828801612d6e565b91505092959194509250565b60008060008060008060a08789031215612e5d57600080fd5b86359550612e6d60208801612c1c565b9450604087013593506060870135925060808701356001600160401b03811115612e9657600080fd5b612ea289828a01612b8d565b979a9699509497509295939492505050565b600080600080600060a08688031215612ecc57600080fd5b85359450612edc60208701612c1c565b94979496505050506040830135926060810135926080909101359150565b600060208284031215612f0c57600080fd5b611b9f82612c1c565b60008060408385031215612f2857600080fd5b612f3183612c1c565b915060208301356001600160401b03811115612f4c57600080fd5b612f5885828601612d6e565b9150509250929050565b6000806000806000806000806000806101008b8d031215612f8257600080fd5b612f8b8b612c1c565b995060208b01359850612fa060408c01612c1c565b975060608b0135965060808b0135955060a08b01356001600160401b0380821115612fca57600080fd5b612fd68e838f01612c33565b909750955060c08d01359150612feb82612c74565b90935060e08c0135908082111561300157600080fd5b5061300e8d828e01612b8d565b915080935050809150509295989b9194979a5092959850565b6000806000806040858703121561303d57600080fd5b84356001600160401b038082111561305457600080fd5b61306088838901612c33565b9096509450602087013591508082111561307957600080fd5b5061308687828801612c33565b95989497509550505050565b600080602083850312156130a557600080fd5b82356001600160401b038111156130bb57600080fd5b6130c785828601612b8d565b90969095509350505050565b60008060008060008060008060e0898b0312156130ef57600080fd5b6130f889612c1c565b97506020890135965061310d60408a01612c1c565b9550606089013594506080890135935060a089013561312b81612c74565b925060c08901356001600160401b0381111561314657600080fd5b6131528b828c01612b8d565b999c989b5096995094979396929594505050565b6020808252825182820181905260009190848201906040850190845b818110156131a75783516001600160a01b031683529284019291840191600101613182565b50909695505050505050565b600080600080600080600060e0888a0312156131ce57600080fd5b6131d788612c1c565b9650602088013595506131ec60408901612c1c565b9450606088013593506080880135925060a0880135915060c088013561321181612c74565b8091505092959891949750929550565b60006020828403121561323357600080fd5b5035919050565b60008060008060008060008060006101008a8c03121561325957600080fd5b6132628a612c1c565b985060208a0135975061327760408b01612c1c565b965060608a0135955060808a0135945060a08a0135935060c08a01356001600160401b038111156132a757600080fd5b6132b38c828d01612c33565b90945092505060e08a01356132c781612c74565b809150509295985092959850929598565b60008060008060008060008060008060006101208c8e0312156132fa57600080fd5b6133038c612c1c565b9a5060208c0135995060408c0135985061331f60608d01612c1c565b975060808c0135965060a08c013595506001600160401b038060c08e0135111561334857600080fd5b6133588e60c08f01358f01612c33565b909650945061336a60e08e0135612c74565b60e08d01359350806101008e0135111561338357600080fd5b506133958d6101008e01358e01612b8d565b81935080925050509295989b509295989b9093969950565b6000806000806000806000806000806101208b8d0312156133cd57600080fd5b6133d68b612c1c565b995060208b0135985060408b013597506133f260608c01612c1c565b965060808b0135955060a08b0135945060c08b0135935060e08b01356001600160401b0381111561342257600080fd5b61342e8d828e01612c33565b9094509250506101008b013561344381612c74565b809150509295989b9194979a5092959850565b600082601f83011261346757600080fd5b813560206001600160401b0382111561348257613482612d28565b8160051b613491828201612d3e565b92835284810182019282810190878511156134ab57600080fd5b83870192505b84831015612afd578235825291830191908301906134b1565b600080600080600060a086880312156134e257600080fd5b6134eb86612c1c565b94506134f960208701612c1c565b935060408601356001600160401b038082111561351557600080fd5b61352189838a01613456565b9450606088013591508082111561353757600080fd5b61354389838a01613456565b9350608088013591508082111561355957600080fd5b5061356688828901612d6e565b9150509295509295909350565b600080600080600060a0868803121561358b57600080fd5b61359486612c1c565b94506135a260208701612c1c565b9350604086013592506060860135915060808601356001600160401b038111156135cb57600080fd5b61356688828901612d6e565b600080600080600080600060a0888a0312156135f257600080fd5b6135fb88612c1c565b96506020880135955060408801356001600160401b038082111561361e57600080fd5b61362a8b838c01612c33565b909750955060608a013591508082111561364357600080fd5b506136508a828b01612c33565b909450925050608088013561321181612c74565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b6001600160a01b0394851681529290931660208301526040820152606081019190915260a06080820181905260009082015260c00190565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b60018060a01b038916815287602082015286604082015260c06060820152600061373e60c0830187896136e7565b82810360808401526137518186886136e7565b91505082151560a08301529998505050505050505050565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b8581526060602082015260006138506060830186886136e7565b82810360408401526138638185876136e7565b98975050505050505050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006000198214156138af576138af613885565b5060010190565b60006bffffffffffffffffffffffff19808c60601b1683528a6014840152808a60601b16603484015250876048830152866068830152856088830152838560a88401375090151560f81b910160a881019190915260a901979650505050505050565b60006bffffffffffffffffffffffff19808d60601b1683528b60148401528a6034840152808a60601b166054840152508760688301528660888301528560a8830152838560c88401375090151560f81b910160c881019190915260c90198975050505050505050565b60018060a01b038816815286602082015260a0604082015260006139a960a0830187896136e7565b82810360608401526139bc8186886136e7565b915050821515608083015298975050505050505050565b6000808335601e198436030181126139ea57600080fd5b8301803591506001600160401b03821115613a0457600080fd5b60200191503681900382131561257457600080fd5b600060208284031215613a2b57600080fd5b5051919050565b60018060a01b03851681528360208201526060604082015260006129cd6060830184866136e7565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b60018060a01b0386168152846020820152836040820152608060608201526000612afd6080830184866136e7565b600181815b80851115613b11578160001904821115613af757613af7613885565b80851615613b0457918102915b93841c9390800290613adb565b509250929050565b600082613b2857506001610665565b81613b3557506000610665565b8160018114613b4b5760028114613b5557613b71565b6001915050610665565b60ff841115613b6657613b66613885565b50506001821b610665565b5060208310610133831016604e8410600b8410161715613b94575081810a610665565b613b9e8383613ad6565b8060001904821115613bb257613bb2613885565b029392505050565b6000611b9f8383613b19565b600082821015613bd857613bd8613885565b500390565b634e487b7160e01b600052603160045260246000fd5b600060208284031215613c0557600080fd5b8151611b9f81612c74565b634e487b7160e01b600052602160045260246000fd5b60008219821115613c3957613c39613885565b500190565b60005b83811015613c59578181015183820152602001613c41565b83811115610cf25750506000910152565b60008251613c7c818460208701613c3e565b9190910192915050565b6020815260008251806020840152613ca5816040850160208701613c3e565b601f01601f1916919091016040019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220d46e48ee22e78a9a57d65439692552afe721960e6ac0bdc1e666a1cfd102889064736f6c63430008090033