0 txs
2 calls
constructor
No constructor.
functions
admin
viewfunction admin() view returns (address)
counterPartMap
viewfunction counterPartMap(uint32) view returns (address)
networkID
viewfunction networkID() view returns (uint32)
polygonZkEVMBridge
viewfunction polygonZkEVMBridge() view returns (address)
tokenInfoMap
viewfunction tokenInfoMap(uint32) view returns (uint32 flags, address tokenAddress)
addExistToken
nonpayablefunction addExistToken(uint32 _tokenId, address _token)
addWrappedToken
nonpayablefunction addWrappedToken(uint32 _tokenId, string _name, string _symbol)
bridgeToken
nonpayablefunction bridgeToken(uint32 destinationNetwork, uint32 tokenId, address destinationAddress, uint256 amount, bool forceUpdateGlobalExitRoot)
initialize
nonpayablefunction initialize(address _admin, address _polygonZkEVMBridge)
onMessageReceived
payablefunction onMessageReceived(address originAddress, uint32 originNetwork, bytes data) payable
setCounterPart
nonpayablefunction setCounterPart(uint32 _networkId, address _counterPartAddress)
events
AddToken
event AddToken(uint32 tokenId, uint32 flags, string name, string symbol)
BridgeTokens
event BridgeTokens(uint32 destinationNetwork, uint32 tokenId, address destinationAddress, uint256 receivedAmount)
ClaimTokens
event ClaimTokens(uint32 tokenId, address destinationAddress, uint256 amount)
Initialized
event Initialized(uint8 version)
errors
OnlyAdmin
error OnlyAdmin()
creation bytecode
0x608060405234801561001057600080fd5b506136f5806100206000396000f3fe608060405260043610620000cb5760003560e01c80636aa0c25e116200007d578063bab161bf1162000054578063bab161bf146200026b578063c80bd5fc1462000299578063f851a44014620002be57600080fd5b80636aa0c25e14620001fc578063738c5aa41462000221578063a240799a146200024657600080fd5b8063485cc95511620000b2578063485cc95514620001405780635d43792c1462000165578063644f83ab146200018d57600080fd5b80631806b5f214620000d057806338d4de2a14620000e9575b600080fd5b620000e7620000e1366004620018b1565b620002e0565b005b348015620000f657600080fd5b50620001236200010836600462001930565b6003602052600090815260409020546001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156200014d57600080fd5b50620000e76200015f36600462001950565b6200040f565b3480156200017257600080fd5b5060005462000123906201000090046001600160a01b031681565b3480156200019a57600080fd5b50620001d7620001ac36600462001930565b60026020526000908152604090205463ffffffff81169064010000000090046001600160a01b031682565b6040805163ffffffff90931683526001600160a01b0390911660208301520162000137565b3480156200020957600080fd5b50620000e76200021b366004620019b1565b62000593565b3480156200022e57600080fd5b50620000e76200024036600462001a26565b62000734565b3480156200025357600080fd5b50620000e76200026536600462001a26565b62000907565b3480156200027857600080fd5b5062000283620009dc565b60405163ffffffff909116815260200162000137565b348015620002a657600080fd5b50620000e7620002b836600462001a56565b62000a5c565b348015620002cb57600080fd5b5060015462000123906001600160a01b031681565b6000546201000090046001600160a01b031633146200036c5760405162461bcd60e51b815260206004820152602360248201527f45524332304272696467653a204e6f7420506f6c79676f6e5a6b45564d42726960448201527f646765000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b826001600160a01b0316620003818362000b79565b6001600160a01b031614620003ff5760405162461bcd60e51b815260206004820152602560248201527f45524332304272696467653a204e6f7420636f756e7465727061727420636f6e60448201527f7472616374000000000000000000000000000000000000000000000000000000606482015260840162000363565b6200040a8162000baf565b505050565b600054610100900460ff1615808015620004305750600054600160ff909116105b806200044c5750303b1580156200044c575060005460ff166001145b620004c05760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a6564000000000000000000000000000000000000606482015260840162000363565b6000805460ff191660011790558015620004e4576000805461ff0019166101001790555b6001805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0385811691909117909155600080547fffffffffffffffffffff0000000000000000000000000000000000000000ffff16620100009285169290920291909117905580156200040a576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a1505050565b6001546001600160a01b03163314620005bf57604051634755657960e01b815260040160405180910390fd5b63ffffffff831660009081526002602052604090205460011615620006275760405162461bcd60e51b815260206004820152601360248201527f746f6b656e20616c726561647920657869737400000000000000000000000000604482015260640162000363565b60008363ffffffff1660001b838360126040516200064590620017bf565b620006539392919062001b1b565b8190604051809103906000f590508015801562000674573d6000803e3d6000fd5b5060408051808201825260038082526001600160a01b03808516602080850191825263ffffffff8b81166000908152600290925290869020945185549251909316640100000000027fffffffffffffffff000000000000000000000000000000000000000000000000909216921691909117179091559051919250907f727af2031042ff45c71ae33721da45d63f18812e75db0690a9057d674a43feff906200072590879084908890889062001b58565b60405180910390a15050505050565b6001546001600160a01b031633146200076057604051634755657960e01b815260040160405180910390fd5b63ffffffff821660009081526002602052604090205460011615620007c85760405162461bcd60e51b815260206004820152601360248201527f746f6b656e20616c726561647920657869737400000000000000000000000000604482015260640162000363565b6000620007d58262000c2a565b905060128160ff1611156200082d5760405162461bcd60e51b815260206004820152601060248201527f696e76616c696420646563696d616c7300000000000000000000000000000000604482015260640162000363565b604080518082018252600163ff000000601885901b16178082526001600160a01b03808616602080850191825263ffffffff89811660009081526002909252959020935184549151909216640100000000027fffffffffffffffff00000000000000000000000000000000000000000000000090911691909416179290921790557f727af2031042ff45c71ae33721da45d63f18812e75db0690a9057d674a43feff8482620008dc8662000d0c565b620008e78762000e02565b604051620008f9949392919062001b58565b60405180910390a150505050565b6001546001600160a01b031633146200093357604051634755657960e01b815260040160405180910390fd5b6200093d620009dc565b63ffffffff168263ffffffff1603620009995760405162461bcd60e51b815260206004820152601160248201527f696e76616c6964206e6574776f726b4964000000000000000000000000000000604482015260640162000363565b63ffffffff919091166000908152600360205260409020805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03909216919091179055565b60008060029054906101000a90046001600160a01b03166001600160a01b031663bab161bf6040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000a31573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000a57919062001b97565b905090565b600062000a6a858462000eed565b6040805163ffffffff881660208201526001600160a01b03878116828401526060808301859052835180840390910181526080909201909252600054929350916201000090041663240ff3788862000ac28162000b79565b86856040518563ffffffff1660e01b815260040162000ae5949392919062001bb7565b600060405180830381600087803b15801562000b0057600080fd5b505af115801562000b15573d6000803e3d6000fd5b50506040805163ffffffff8b811682528a1660208201526001600160a01b038916818301526060810186905290517fe9d4680bad044b0807c66034c3a15b46a7cf576c21190350575f8492e8b204bf9350908190036080019150a150505050505050565b63ffffffff81166000908152600360205260408120546001600160a01b0316801562000ba6578062000ba8565b305b9392505050565b60008060008380602001905181019062000bca919062001bf9565b92509250925062000bdd83838362001152565b6040805163ffffffff851681526001600160a01b03841660208201529081018290527f226d549a45b65d7b53163c600ae5cd65b956d44cb36006796bc02ed0d30f59af90606001620008f9565b60408051600481526024810182526020810180516001600160e01b03167f313ce567000000000000000000000000000000000000000000000000000000001790529051600091829182916001600160a01b0386169162000c8b919062001c41565b600060405180830381855afa9150503d806000811462000cc8576040519150601f19603f3d011682016040523d82523d6000602084013e62000ccd565b606091505b509150915081801562000ce1575080516020145b62000cee57601262000d04565b8080602001905181019062000d04919062001c5f565b949350505050565b60408051600481526024810182526020810180516001600160e01b03167f06fdde0300000000000000000000000000000000000000000000000000000000179052905160609160009182916001600160a01b0386169162000d6e919062001c41565b600060405180830381855afa9150503d806000811462000dab576040519150601f19603f3d011682016040523d82523d6000602084013e62000db0565b606091505b50915091508162000df7576040518060400160405280600781526020017f4e4f5f4e414d450000000000000000000000000000000000000000000000000081525062000d04565b62000d0481620012c0565b60408051600481526024810182526020810180516001600160e01b03167f95d89b4100000000000000000000000000000000000000000000000000000000179052905160609160009182916001600160a01b0386169162000e64919062001c41565b600060405180830381855afa9150503d806000811462000ea1576040519150601f19603f3d011682016040523d82523d6000602084013e62000ea6565b606091505b50915091508162000df7576040518060400160405280600981526020017f4e4f5f53594d424f4c000000000000000000000000000000000000000000000081525062000d04565b63ffffffff808316600090815260026020908152604080832081518083019092525493841681526001600160a01b0364010000000085041691810191909152909160019081161462000f725760405162461bcd60e51b815260206004820152600d60248201526c34b73b30b634b2103a37b5b2b760991b604482015260640162000363565b602081015181516002161562001006576040517f9dc29fac000000000000000000000000000000000000000000000000000000008152336004820152602481018590526001600160a01b03821690639dc29fac90604401600060405180830381600087803b15801562000fe457600080fd5b505af115801562000ff9573d6000803e3d6000fd5b505050508392506200114a565b6040516370a0823160e01b81523060048201526000906001600160a01b038316906370a0823190602401602060405180830381865afa1580156200104e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001074919062001c84565b90506200108d6001600160a01b038316333088620014b1565b6040516370a0823160e01b81523060048201526000906001600160a01b038416906370a0823190602401602060405180830381865afa158015620010d5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620010fb919062001c84565b905062001109828262001cb4565b845190955060181c60ff166012811462001146576200112a81601262001cca565b6200113790600a62001de3565b62001143908762001df4565b95505b5050505b505092915050565b63ffffffff80841660009081526002602090815260409182902082518084019093525492831682526001600160a01b036401000000008404169082015290600190811614620011d45760405162461bcd60e51b815260206004820152600d60248201526c34b73b30b634b2103a37b5b2b760991b604482015260640162000363565b602081015181516002161562001267576040517f40c10f190000000000000000000000000000000000000000000000000000000081526001600160a01b038581166004830152602482018590528216906340c10f1990604401600060405180830381600087803b1580156200124857600080fd5b505af11580156200125d573d6000803e3d6000fd5b50505050620012b9565b815160181c60ff1660128114620012a1576200128581601262001cca565b6200129290600a62001de3565b6200129e908562001e0e565b93505b620012b76001600160a01b038316868662001555565b505b5050505050565b60606040825110620012e85781806020019051810190620012e2919062001e31565b92915050565b8151602003620014785760005b60208110801562001340575082818151811062001316576200131662001eb1565b01602001517fff000000000000000000000000000000000000000000000000000000000000001615155b156200135b5780620013528162001ec7565b915050620012f5565b806000036200139f57505060408051808201909152601281527f4e4f545f56414c49445f454e434f44494e4700000000000000000000000000006020820152919050565b60008167ffffffffffffffff811115620013bd57620013bd620017f9565b6040519080825280601f01601f191660200182016040528015620013e8576020820181803683370190505b50905060005b8281101562001470578481815181106200140c576200140c62001eb1565b602001015160f81c60f81b8282815181106200142c576200142c62001eb1565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535080620014678162001ec7565b915050620013ee565b509392505050565b505060408051808201909152601281527f4e4f545f56414c49445f454e434f44494e470000000000000000000000000000602082015290565b6040516001600160a01b03808516602483015283166044820152606481018290526200154f9085907f23b872dd00000000000000000000000000000000000000000000000000000000906084015b60408051601f198184030181529190526020810180516001600160e01b03167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152620015a0565b50505050565b6040516001600160a01b0383166024820152604481018290526200040a9084907fa9059cbb0000000000000000000000000000000000000000000000000000000090606401620014ff565b6000620015f7826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166200168c9092919063ffffffff16565b8051909150156200040a578080602001905181019062001618919062001ee3565b6200040a5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f74207375636365656400000000000000000000000000000000000000000000606482015260840162000363565b606062000d04848460008585600080866001600160a01b03168587604051620016b6919062001c41565b60006040518083038185875af1925050503d8060008114620016f5576040519150601f19603f3d011682016040523d82523d6000602084013e620016fa565b606091505b50915091506200170d8783838762001718565b979650505050505050565b606083156200178c57825160000362001784576001600160a01b0385163b620017845760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640162000363565b508162000d04565b62000d048383815115620017a35781518083602001fd5b8060405162461bcd60e51b815260040162000363919062001f03565b6117a78062001f1983390190565b6001600160a01b0381168114620017e357600080fd5b50565b63ffffffff81168114620017e357600080fd5b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff811182821017156200183b576200183b620017f9565b604052919050565b600067ffffffffffffffff821115620018605762001860620017f9565b50601f01601f191660200190565b6000620018856200187f8462001843565b6200180f565b90508281528383830111156200189a57600080fd5b828260208301376000602084830101529392505050565b600080600060608486031215620018c757600080fd5b8335620018d481620017cd565b92506020840135620018e681620017e6565b9150604084013567ffffffffffffffff8111156200190357600080fd5b8401601f810186136200191557600080fd5b62001926868235602084016200186e565b9150509250925092565b6000602082840312156200194357600080fd5b813562000ba881620017e6565b600080604083850312156200196457600080fd5b82356200197181620017cd565b915060208301356200198381620017cd565b809150509250929050565b600082601f830112620019a057600080fd5b62000ba8838335602085016200186e565b600080600060608486031215620019c757600080fd5b8335620019d481620017e6565b9250602084013567ffffffffffffffff80821115620019f257600080fd5b62001a00878388016200198e565b9350604086013591508082111562001a1757600080fd5b5062001926868287016200198e565b6000806040838503121562001a3a57600080fd5b82356200197181620017e6565b8015158114620017e357600080fd5b600080600080600060a0868803121562001a6f57600080fd5b853562001a7c81620017e6565b9450602086013562001a8e81620017e6565b9350604086013562001aa081620017cd565b925060608601359150608086013562001ab98162001a47565b809150509295509295909350565b60005b8381101562001ae457818101518382015260200162001aca565b50506000910152565b6000815180845262001b0781602086016020860162001ac7565b601f01601f19169290920160200192915050565b60608152600062001b30606083018662001aed565b828103602084015262001b44818662001aed565b91505060ff83166040830152949350505050565b600063ffffffff80871683528086166020840152506080604083015262001b83608083018562001aed565b82810360608401526200170d818562001aed565b60006020828403121562001baa57600080fd5b815162000ba881620017e6565b63ffffffff851681526001600160a01b0384166020820152821515604082015260806060820152600062001bef608083018462001aed565b9695505050505050565b60008060006060848603121562001c0f57600080fd5b835162001c1c81620017e6565b602085015190935062001c2f81620017cd565b80925050604084015190509250925092565b6000825162001c5581846020870162001ac7565b9190910192915050565b60006020828403121562001c7257600080fd5b815160ff8116811462000ba857600080fd5b60006020828403121562001c9757600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b81810381811115620012e257620012e262001c9e565b60ff8281168282160390811115620012e257620012e262001c9e565b600181815b8085111562001d2757816000190482111562001d0b5762001d0b62001c9e565b8085161562001d1957918102915b93841c939080029062001ceb565b509250929050565b60008262001d4057506001620012e2565b8162001d4f57506000620012e2565b816001811462001d68576002811462001d735762001d93565b6001915050620012e2565b60ff84111562001d875762001d8762001c9e565b50506001821b620012e2565b5060208310610133831016604e8410600b841016171562001db8575081810a620012e2565b62001dc4838362001ce6565b806000190482111562001ddb5762001ddb62001c9e565b029392505050565b600062000ba860ff84168362001d2f565b8082028115828204841417620012e257620012e262001c9e565b60008262001e2c57634e487b7160e01b600052601260045260246000fd5b500490565b60006020828403121562001e4457600080fd5b815167ffffffffffffffff81111562001e5c57600080fd5b8201601f8101841362001e6e57600080fd5b805162001e7f6200187f8262001843565b81815285602083850101111562001e9557600080fd5b62001ea882602083016020860162001ac7565b95945050505050565b634e487b7160e01b600052603260045260246000fd5b60006001820162001edc5762001edc62001c9e565b5060010190565b60006020828403121562001ef657600080fd5b815162000ba88162001a47565b60208152600062000ba8602083018462001aed56fe6101006040523480156200001257600080fd5b50604051620017a7380380620017a783398101604081905262000035916200028d565b82826003620000458382620003a1565b506004620000548282620003a1565b50503360c0525060ff811660e052466080819052620000739062000080565b60a052506200046d915050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f620000ad6200012e565b805160209182012060408051808201825260018152603160f81b90840152805192830193909352918101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc66060820152608081018390523060a082015260c001604051602081830303815290604052805190602001209050919050565b6060600380546200013f9062000312565b80601f01602080910402602001604051908101604052809291908181526020018280546200016d9062000312565b8015620001be5780601f106200019257610100808354040283529160200191620001be565b820191906000526020600020905b815481529060010190602001808311620001a057829003601f168201915b5050505050905090565b634e487b7160e01b600052604160045260246000fd5b600082601f830112620001f057600080fd5b81516001600160401b03808211156200020d576200020d620001c8565b604051601f8301601f19908116603f01168101908282118183101715620002385762000238620001c8565b816040528381526020925086838588010111156200025557600080fd5b600091505b838210156200027957858201830151818301840152908201906200025a565b600093810190920192909252949350505050565b600080600060608486031215620002a357600080fd5b83516001600160401b0380821115620002bb57600080fd5b620002c987838801620001de565b94506020860151915080821115620002e057600080fd5b50620002ef86828701620001de565b925050604084015160ff811681146200030757600080fd5b809150509250925092565b600181811c908216806200032757607f821691505b6020821081036200034857634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200039c57600081815260208120601f850160051c81016020861015620003775750805b601f850160051c820191505b81811015620003985782815560010162000383565b5050505b505050565b81516001600160401b03811115620003bd57620003bd620001c8565b620003d581620003ce845462000312565b846200034e565b602080601f8311600181146200040d5760008415620003f45750858301515b600019600386901b1c1916600185901b17855562000398565b600085815260208120601f198616915b828110156200043e578886015182559484019460019091019084016200041d565b50858210156200045d5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60805160a05160c05160e0516112eb620004bc60003960006102370152600081816102fa015281816105630152610623015260006104f701526000818161035f01526104c101526112eb6000f3fe608060405234801561001057600080fd5b50600436106101775760003560e01c806370a08231116100d8578063a457c2d71161008c578063d505accf11610066578063d505accf14610381578063dd62ed3e14610394578063ffa1ad74146103cd57600080fd5b8063a457c2d714610334578063a9059cbb14610347578063cd0d00961461035a57600080fd5b806395d89b41116100bd57806395d89b41146102da5780639dc29fac146102e2578063a3c573eb146102f557600080fd5b806370a08231146102915780637ecebe00146102ba57600080fd5b806330adf81f1161012f5780633644e515116101145780633644e51514610261578063395093511461026957806340c10f191461027c57600080fd5b806330adf81f14610209578063313ce5671461023057600080fd5b806318160ddd1161016057806318160ddd146101bd57806320606b70146101cf57806323b872dd146101f657600080fd5b806306fdde031461017c578063095ea7b31461019a575b600080fd5b6101846103ed565b60405161019191906110a1565b60405180910390f35b6101ad6101a836600461110b565b61047f565b6040519015158152602001610191565b6002545b604051908152602001610191565b6101c17f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81565b6101ad610204366004611135565b610499565b6101c17f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b60405160ff7f0000000000000000000000000000000000000000000000000000000000000000168152602001610191565b6101c16104bd565b6101ad61027736600461110b565b610519565b61028f61028a36600461110b565b610558565b005b6101c161029f366004611171565b6001600160a01b031660009081526020819052604090205490565b6101c16102c8366004611171565b60056020526000908152604090205481565b610184610609565b61028f6102f036600461110b565b610618565b61031c7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610191565b6101ad61034236600461110b565b6106c0565b6101ad61035536600461110b565b61076a565b6101c17f000000000000000000000000000000000000000000000000000000000000000081565b61028f61038f366004611193565b610778565b6101c16103a2366004611206565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b610184604051806040016040528060018152602001603160f81b81525081565b6060600380546103fc90611239565b80601f016020809104026020016040519081016040528092919081815260200182805461042890611239565b80156104755780601f1061044a57610100808354040283529160200191610475565b820191906000526020600020905b81548152906001019060200180831161045857829003601f168201915b5050505050905090565b60003361048d8185856109fd565b60019150505b92915050565b6000336104a7858285610b56565b6104b2858585610be8565b506001949350505050565b60007f000000000000000000000000000000000000000000000000000000000000000046146104f4576104ef46610dd5565b905090565b507f000000000000000000000000000000000000000000000000000000000000000090565b3360008181526001602090815260408083206001600160a01b038716845290915281205490919061048d9082908690610553908790611289565b6109fd565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146105fb5760405162461bcd60e51b815260206004820152603060248201527f546f6b656e577261707065643a3a6f6e6c794272696467653a204e6f7420506f60448201527f6c79676f6e5a6b45564d4272696467650000000000000000000000000000000060648201526084015b60405180910390fd5b6106058282610e81565b5050565b6060600480546103fc90611239565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146106b65760405162461bcd60e51b815260206004820152603060248201527f546f6b656e577261707065643a3a6f6e6c794272696467653a204e6f7420506f60448201527f6c79676f6e5a6b45564d4272696467650000000000000000000000000000000060648201526084016105f2565b6106058282610f40565b3360008181526001602090815260408083206001600160a01b03871684529091528120549091908381101561075d5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f00000000000000000000000000000000000000000000000000000060648201526084016105f2565b6104b282868684036109fd565b60003361048d818585610be8565b834211156107ed5760405162461bcd60e51b8152602060048201526024808201527f546f6b656e577261707065643a3a7065726d69743a204578706972656420706560448201527f726d69740000000000000000000000000000000000000000000000000000000060648201526084016105f2565b6001600160a01b038716600090815260056020526040812080547f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9918a918a918a91908661083a8361129c565b909155506040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e00160405160208183030381529060405280519060200120905060006108986104bd565b6040517f1901000000000000000000000000000000000000000000000000000000000000602082015260228101919091526042810183905260620160408051601f198184030181528282528051602091820120600080855291840180845281905260ff89169284019290925260608301879052608083018690529092509060019060a0016020604051602081039080840390855afa15801561093e573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116158015906109745750896001600160a01b0316816001600160a01b0316145b6109e65760405162461bcd60e51b815260206004820152602760248201527f546f6b656e577261707065643a3a7065726d69743a20496e76616c696420736960448201527f676e61747572650000000000000000000000000000000000000000000000000060648201526084016105f2565b6109f18a8a8a6109fd565b50505050505050505050565b6001600160a01b038316610a785760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f726573730000000000000000000000000000000000000000000000000000000060648201526084016105f2565b6001600160a01b038216610af45760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f737300000000000000000000000000000000000000000000000000000000000060648201526084016105f2565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b038381166000908152600160209081526040808320938616835292905220546000198114610be25781811015610bd55760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016105f2565b610be284848484036109fd565b50505050565b6001600160a01b038316610c645760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f647265737300000000000000000000000000000000000000000000000000000060648201526084016105f2565b6001600160a01b038216610ce05760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f657373000000000000000000000000000000000000000000000000000000000060648201526084016105f2565b6001600160a01b03831660009081526020819052604090205481811015610d6f5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e6365000000000000000000000000000000000000000000000000000060648201526084016105f2565b6001600160a01b03848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3610be2565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f610e006103ed565b805160209182012060408051808201825260018152603160f81b90840152805192830193909352918101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc66060820152608081018390523060a082015260c001604051602081830303815290604052805190602001209050919050565b6001600160a01b038216610ed75760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064016105f2565b8060026000828254610ee99190611289565b90915550506001600160a01b038216600081815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b6001600160a01b038216610fbc5760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f730000000000000000000000000000000000000000000000000000000000000060648201526084016105f2565b6001600160a01b0382166000908152602081905260409020548181101561104b5760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f636500000000000000000000000000000000000000000000000000000000000060648201526084016105f2565b6001600160a01b0383166000818152602081815260408083208686039055600280548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9101610b49565b600060208083528351808285015260005b818110156110ce578581018301518582016040015282016110b2565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b038116811461110657600080fd5b919050565b6000806040838503121561111e57600080fd5b611127836110ef565b946020939093013593505050565b60008060006060848603121561114a57600080fd5b611153846110ef565b9250611161602085016110ef565b9150604084013590509250925092565b60006020828403121561118357600080fd5b61118c826110ef565b9392505050565b600080600080600080600060e0888a0312156111ae57600080fd5b6111b7886110ef565b96506111c5602089016110ef565b95506040880135945060608801359350608088013560ff811681146111e957600080fd5b9699959850939692959460a0840135945060c09093013592915050565b6000806040838503121561121957600080fd5b611222836110ef565b9150611230602084016110ef565b90509250929050565b600181811c9082168061124d57607f821691505b60208210810361126d57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b8082018082111561049357610493611273565b6000600182016112ae576112ae611273565b506001019056fea264697066735822122036e09f52c4a6a623d313be4a58351e54c579f79cb55a6f232eb11e7112469d5664736f6c63430008140033a26469706673582212208fb04d20017c42eba9be2b67d1caa9eef0b6569df6bdd4f98aae88b898e7155464736f6c63430008140033