[ { "inputs": [ { "internalType": "string", "name": "baseURI_", "type": "string" }, { "internalType": "address", "name": "_layerZeroEndpoint", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "approved", "type": "address" }, { "indexed": true, "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "Approval", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "operator", "type": "address" }, { "indexed": false, "internalType": "bool", "name": "approved", "type": "bool" } ], "name": "ApprovalForAll", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint16", "name": "_srcChainId", "type": "uint16" }, { "indexed": false, "internalType": "bytes", "name": "_srcAddress", "type": "bytes" }, { "indexed": false, "internalType": "uint64", "name": "_nonce", "type": "uint64" }, { "indexed": false, "internalType": "bytes", "name": "_payload", "type": "bytes" } ], "name": "MessageFailed", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "previousOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": true, "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "inputs": [], "name": "_owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "approve", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "donate", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "uint16", "name": "", "type": "uint16" }, { "internalType": "bytes", "name": "", "type": "bytes" }, { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "failedMessages", "outputs": [ { "internalType": "uint256", "name": "payloadLength", "type": "uint256" }, { "internalType": "bytes32", "name": "payloadHash", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "getApproved", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "operator", "type": "address" } ], "name": "isApprovedForAll", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint16", "name": "_srcChainId", "type": "uint16" }, { "internalType": "bytes", "name": "_srcAddress", "type": "bytes" }, { "internalType": "uint64", "name": "_nonce", "type": "uint64" }, { "internalType": "bytes", "name": "_payload", "type": "bytes" } ], "name": "lzReceive", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint8", "name": "numTokens", "type": "uint8" } ], "name": "mint", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint16", "name": "_srcChainId", "type": "uint16" }, { "internalType": "bytes", "name": "_srcAddress", "type": "bytes" }, { "internalType": "uint64", "name": "_nonce", "type": "uint64" }, { "internalType": "bytes", "name": "_payload", "type": "bytes" } ], "name": "onLzReceive", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "ownerOf", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "_state", "type": "bool" } ], "name": "pause", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "paused", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint16", "name": "_srcChainId", "type": "uint16" }, { "internalType": "bytes", "name": "_srcAddress", "type": "bytes" }, { "internalType": "uint64", "name": "_nonce", "type": "uint64" }, { "internalType": "bytes", "name": "_payload", "type": "bytes" } ], "name": "retryMessage", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "safeTransferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" }, { "internalType": "bytes", "name": "_data", "type": "bytes" } ], "name": "safeTransferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "operator", "type": "address" }, { "internalType": "bool", "name": "approved", "type": "bool" } ], "name": "setApprovalForAll", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "URI", "type": "string" } ], "name": "setBaseURI", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "newVal", "type": "uint256" } ], "name": "setGasForDestinationLzReceive", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint16", "name": "_chainId", "type": "uint16" }, { "internalType": "bytes", "name": "_trustedRemote", "type": "bytes" } ], "name": "setTrustedRemote", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes4", "name": "interfaceId", "type": "bytes4" } ], "name": "supportsInterface", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "tokenURI", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "transferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint16", "name": "_chainId", "type": "uint16" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "traverseChains", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "uint16", "name": "", "type": "uint16" } ], "name": "trustedRemoteLookup", "outputs": [ { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "amt", "type": "uint256" } ], "name": "withdraw", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ]
608060405261115d600c556115b3600d5562055730600e55600f805460ff191660011790553480156200003157600080fd5b5060405162002f2d38038062002f2d83398101604081905262000054916200024c565b6040518060400160405280601481526020017f42696c6c696f6e61697265536b756c6c436c75620000000000000000000000008152506040518060400160405280600381526020016242534360e81b815250620000c0620000ba6200013560201b60201c565b62000139565b8151620000d590600190602085019062000189565b508051620000eb90600290602084019062000189565b5050600a8054336001600160a01b031991821617909155600780549091166001600160a01b0384161790555081516200012c90600b90602085019062000189565b50505062000390565b3390565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b82805462000197906200033d565b90600052602060002090601f016020900481019282620001bb576000855562000206565b82601f10620001d657805160ff191683800117855562000206565b8280016001018555821562000206579182015b8281111562000206578251825591602001919060010190620001e9565b506200021492915062000218565b5090565b5b8082111562000214576000815560010162000219565b80516001600160a01b03811681146200024757600080fd5b919050565b600080604083850312156200026057600080fd5b82516001600160401b03808211156200027857600080fd5b818501915085601f8301126200028d57600080fd5b815181811115620002a257620002a26200037a565b604051601f8201601f19908116603f01168101908382118183101715620002cd57620002cd6200037a565b81604052828152602093508884848701011115620002ea57600080fd5b600091505b828210156200030e5784820184015181830185015290830190620002ef565b82821115620003205760008484830101525b9550620003329150508582016200022f565b925050509250929050565b600181811c908216806200035257607f821691505b602082108114156200037457634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052604160045260246000fd5b612b8d80620003a06000396000f3fe6080604052600436106101d75760003560e01c8063715018a611610102578063b88d4fde11610095578063e985e9c511610064578063e985e9c514610581578063eb8d72b7146105ca578063ed88c68e146101fc578063f2fde38b146105ea57600080fd5b8063b88d4fde1461051b578063c87b56dd1461053b578063cf89fa031461055b578063d1deba1f1461056e57600080fd5b8063943fb872116100d1578063943fb872146104a657806395d89b41146104c6578063a22cb465146104db578063b2bdfa7b146104fb57600080fd5b8063715018a6146103e85780637533d788146103fd5780638da5cb5b1461041d5780638ee749121461043b57600080fd5b806323b872dd1161017a5780635c975abb116101495780635c975abb1461036d5780636352211e146103875780636ecd2306146103a757806370a08231146103ba57600080fd5b806323b872dd146102ed5780632e1a7d4d1461030d57806342842e0e1461032d57806355f804b31461034d57600080fd5b806306fdde03116101b657806306fdde0314610253578063081812fc14610275578063095ea7b3146102ad5780631c37a822146102cd57600080fd5b80621d3567146101dc57806301ffc9a7146101fe57806302329a2914610233575b600080fd5b3480156101e857600080fd5b506101fc6101f7366004612508565b61060a565b005b34801561020a57600080fd5b5061021e610219366004612338565b610804565b60405190151581526020015b60405180910390f35b34801561023f57600080fd5b506101fc61024e36600461231d565b610856565b34801561025f57600080fd5b50610268610893565b60405161022a9190612732565b34801561028157600080fd5b5061029561029036600461259c565b610925565b6040516001600160a01b03909116815260200161022a565b3480156102b957600080fd5b506101fc6102c83660046122f1565b6109ba565b3480156102d957600080fd5b506101fc6102e8366004612508565b610ad0565b3480156102f957600080fd5b506101fc610308366004612210565b610b3f565b34801561031957600080fd5b506101fc61032836600461259c565b610b70565b34801561033957600080fd5b506101fc610348366004612210565b610c54565b34801561035957600080fd5b506101fc610368366004612372565b610c6f565b34801561037957600080fd5b50600f5461021e9060ff1681565b34801561039357600080fd5b506102956103a236600461259c565b610cac565b6101fc6103b53660046125d9565b610d23565b3480156103c657600080fd5b506103da6103d536600461218c565b610ef1565b60405190815260200161022a565b3480156103f457600080fd5b506101fc610f78565b34801561040957600080fd5b506102686104183660046123ba565b610fae565b34801561042957600080fd5b506000546001600160a01b0316610295565b34801561044757600080fd5b50610491610456366004612427565b600860209081526000938452604080852084518086018401805192815290840195840195909520945292905282529020805460019091015482565b6040805192835260208301919091520161022a565b3480156104b257600080fd5b506101fc6104c136600461259c565b611048565b3480156104d257600080fd5b50610268611077565b3480156104e757600080fd5b506101fc6104f63660046122bc565b611086565b34801561050757600080fd5b50600a54610295906001600160a01b031681565b34801561052757600080fd5b506101fc610536366004612251565b611091565b34801561054757600080fd5b5061026861055636600461259c565b6110c3565b6101fc610569366004612580565b61119e565b6101fc61057c36600461247d565b611495565b34801561058d57600080fd5b5061021e61059c3660046121d7565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205460ff1690565b3480156105d657600080fd5b506101fc6105e53660046123d5565b611622565b3480156105f657600080fd5b506101fc61060536600461218c565b61166a565b6007546001600160a01b0316331461062157600080fd5b61ffff84166000908152600960205260409020805461063f90612a6a565b9050835114801561067e575061ffff841660009081526009602052604090819020905161066c9190612654565b60405180910390208380519060200120145b6106ec5760405162461bcd60e51b815260206004820152603460248201527f4e6f6e626c6f636b696e6752656365697665723a20696e76616c696420736f756044820152731c98d9481cd95b991a5b99c818dbdb9d1c9858dd60621b60648201526084015b60405180910390fd5b604051630e1bd41160e11b81523090631c37a822906107159087908790879087906004016128d2565b600060405180830381600087803b15801561072f57600080fd5b505af1925050508015610740575060015b6107fe576040518060400160405280825181526020018280519060200120815250600860008661ffff1661ffff1681526020019081526020016000208460405161078a9190612638565b9081526040805191829003602090810183206001600160401b038716600090815290825291909120835181559201516001909201919091557fe6f254030bcb01ffd20558175c13fcaed6d1520be7becee4c961b65f79243b0d906107f59086908690869086906128d2565b60405180910390a15b50505050565b60006001600160e01b031982166380ac58cd60e01b148061083557506001600160e01b03198216635b5e139f60e01b145b8061085057506301ffc9a760e01b6001600160e01b03198316145b92915050565b6000546001600160a01b031633146108805760405162461bcd60e51b81526004016106e390612797565b600f805460ff1916911515919091179055565b6060600180546108a290612a6a565b80601f01602080910402602001604051908101604052809291908181526020018280546108ce90612a6a565b801561091b5780601f106108f05761010080835404028352916020019161091b565b820191906000526020600020905b8154815290600101906020018083116108fe57829003601f168201915b5050505050905090565b6000818152600360205260408120546001600160a01b031661099e5760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b60648201526084016106e3565b506000908152600560205260409020546001600160a01b031690565b60006109c582610cac565b9050806001600160a01b0316836001600160a01b03161415610a335760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084016106e3565b336001600160a01b0382161480610a4f5750610a4f813361059c565b610ac15760405162461bcd60e51b815260206004820152603860248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760448201527f6e6572206e6f7220617070726f76656420666f7220616c6c000000000000000060648201526084016106e3565b610acb8383611702565b505050565b333014610b335760405162461bcd60e51b815260206004820152602b60248201527f4e6f6e626c6f636b696e6752656365697665723a2063616c6c6572206d75737460448201526a10313290213934b233b29760a91b60648201526084016106e3565b6107fe84848484611770565b610b49338261179d565b610b655760405162461bcd60e51b81526004016106e3906127cc565b610acb838383611894565b6000546001600160a01b03163314610b9a5760405162461bcd60e51b81526004016106e390612797565b600a546040516000916001600160a01b03169083908381818185875af1925050503d8060008114610be7576040519150601f19603f3d011682016040523d82523d6000602084013e610bec565b606091505b5050905080610c505760405162461bcd60e51b815260206004820152602a60248201527f42696c6c696f6e6169726520536b756c6c20436c75623a204661696c656420746044820152696f20776974686472617760b01b60648201526084016106e3565b5050565b610acb83838360405180602001604052806000815250611091565b6000546001600160a01b03163314610c995760405162461bcd60e51b81526004016106e390612797565b8051610c5090600b906020840190611f64565b6000818152600360205260408120546001600160a01b0316806108505760405162461bcd60e51b815260206004820152602960248201527f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460448201526832b73a103a37b5b2b760b91b60648201526084016106e3565b600f5460ff1615610d765760405162461bcd60e51b815260206004820152601b60248201527f53616c65206861736e2774206e6f74207374617274656420796574000000000060448201526064016106e3565b6002610d8133610ef1565b10610dce5760405162461bcd60e51b815260206004820181905260248201527f456163682061646472657373206d6179206f6e6c79206f776e2032204e46547360448201526064016106e3565b60038160ff1610610e3c5760405162461bcd60e51b815260206004820152603260248201527f42696c6c696f6e6169726520536b756c6c20436c75623a204d61782032204e466044820152712a39903832b9103a3930b739b0b1ba34b7b760711b60648201526084016106e3565b600d548160ff16600c54610e5091906129fb565b1115610eb25760405162461bcd60e51b815260206004820152602b60248201527f42696c6c696f6e6169726520536b756c6c20436c75623a204d696e742065786360448201526a6565647320737570706c7960a81b60648201526084016106e3565b610ecf33600c60008154610ec590612aa5565b9182905550611a34565b8060ff1660021415610eee57610eee33600c60008154610ec590612aa5565b50565b60006001600160a01b038216610f5c5760405162461bcd60e51b815260206004820152602a60248201527f4552433732313a2062616c616e636520717565727920666f7220746865207a65604482015269726f206164647265737360b01b60648201526084016106e3565b506001600160a01b031660009081526004602052604090205490565b6000546001600160a01b03163314610fa25760405162461bcd60e51b81526004016106e390612797565b610fac6000611a4e565b565b60096020526000908152604090208054610fc790612a6a565b80601f0160208091040260200160405190810160405280929190818152602001828054610ff390612a6a565b80156110405780601f1061101557610100808354040283529160200191611040565b820191906000526020600020905b81548152906001019060200180831161102357829003601f168201915b505050505081565b6000546001600160a01b031633146110725760405162461bcd60e51b81526004016106e390612797565b600e55565b6060600280546108a290612a6a565b610c50338383611a9e565b61109b338361179d565b6110b75760405162461bcd60e51b81526004016106e3906127cc565b6107fe84848484611b6d565b6000818152600360205260409020546060906001600160a01b03166111425760405162461bcd60e51b815260206004820152602f60248201527f4552433732314d657461646174613a2055524920717565727920666f72206e6f60448201526e3732bc34b9ba32b73a103a37b5b2b760891b60648201526084016106e3565b600061114c611ba0565b9050600081511161116c5760405180602001604052806000815250611197565b8061117684611baf565b6040516020016111879291906126c6565b6040516020818303038152906040525b9392505050565b6111a781610cac565b6001600160a01b0316336001600160a01b0316146112125760405162461bcd60e51b815260206004820152602260248201527f596f75206d757374206f776e2074686520746f6b656e20746f20747261766572604482015261736560f01b60648201526084016106e3565b61ffff82166000908152600960205260408120805461123090612a6a565b9050116112965760405162461bcd60e51b815260206004820152602e60248201527f5468697320636861696e2069732063757272656e746c7920756e617661696c6160448201526d189b1948199bdc881d1c985d995b60921b60648201526084016106e3565b61129f81611cac565b60408051336020820152808201839052815180820383018152606082018352600e54600160f01b60808401526082808401919091528351808403909101815260a283019384905260075463040a7bb160e41b90945290926001926000916001600160a01b0316906340a7bb1090611322908990309089908790899060a60161281d565b604080518083038186803b15801561133957600080fd5b505afa15801561134d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061137191906125b5565b509050803410156114105760405162461bcd60e51b815260206004820152605b60248201527f42696c6c696f6e6169726520536b756c6c20436c75623a206d73672e76616c7560448201527f65206e6f7420656e6f75676820746f20636f766572206d65737361676546656560648201527f2e2053656e642067617320666f72206d65737361676520666565730000000000608482015260a4016106e3565b60075461ffff8716600090815260096020526040808220905162c5803160e81b81526001600160a01b039093169263c580310092349261145b928c928b913391908b9060040161291b565b6000604051808303818588803b15801561147457600080fd5b505af1158015611488573d6000803e3d6000fd5b5050505050505050505050565b61ffff851660009081526008602052604080822090516114b6908790612638565b90815260408051602092819003830190206001600160401b038716600090815292529020600181015490915061153d5760405162461bcd60e51b815260206004820152602660248201527f4e6f6e626c6f636b696e6752656365697665723a206e6f2073746f726564206d60448201526565737361676560d01b60648201526084016106e3565b80548214801561156757508060010154838360405161155d929190612628565b6040518091039020145b6115b35760405162461bcd60e51b815260206004820152601a60248201527f4c617965725a65726f3a20696e76616c6964207061796c6f616400000000000060448201526064016106e3565b60008082556001820155604051630e1bd41160e11b81523090631c37a822906115e89089908990899089908990600401612871565b600060405180830381600087803b15801561160257600080fd5b505af1158015611616573d6000803e3d6000fd5b50505050505050505050565b6000546001600160a01b0316331461164c5760405162461bcd60e51b81526004016106e390612797565b61ffff831660009081526009602052604090206107fe908383611fe8565b6000546001600160a01b031633146116945760405162461bcd60e51b81526004016106e390612797565b6001600160a01b0381166116f95760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016106e3565b610eee81611a4e565b600081815260056020526040902080546001600160a01b0319166001600160a01b038416908117909155819061173782610cac565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000808280602001905181019061178791906121a9565b915091506117958282611a34565b505050505050565b6000818152600360205260408120546001600160a01b03166118165760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b60648201526084016106e3565b600061182183610cac565b9050806001600160a01b0316846001600160a01b0316148061185c5750836001600160a01b031661185184610925565b6001600160a01b0316145b8061188c57506001600160a01b0380821660009081526006602090815260408083209388168352929052205460ff165b949350505050565b826001600160a01b03166118a782610cac565b6001600160a01b03161461190f5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a207472616e73666572206f6620746f6b656e2074686174206960448201526839903737ba1037bbb760b91b60648201526084016106e3565b6001600160a01b0382166119715760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b60648201526084016106e3565b61197c600082611702565b6001600160a01b03831660009081526004602052604081208054600192906119a5908490612a27565b90915550506001600160a01b03821660009081526004602052604081208054600192906119d39084906129fb565b909155505060008181526003602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b610c50828260405180602001604052806000815250611d47565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b816001600160a01b0316836001600160a01b03161415611b005760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c65720000000000000060448201526064016106e3565b6001600160a01b03838116600081815260066020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b611b78848484611894565b611b8484848484611d7a565b6107fe5760405162461bcd60e51b81526004016106e390612745565b6060600b80546108a290612a6a565b606081611bd35750506040805180820190915260018152600360fc1b602082015290565b8160005b8115611bfd5780611be781612aa5565b9150611bf69050600a83612a13565b9150611bd7565b6000816001600160401b03811115611c1757611c17612b16565b6040519080825280601f01601f191660200182016040528015611c41576020820181803683370190505b5090505b841561188c57611c56600183612a27565b9150611c63600a86612ac0565b611c6e9060306129fb565b60f81b818381518110611c8357611c83612b00565b60200101906001600160f81b031916908160001a905350611ca5600a86612a13565b9450611c45565b6000611cb782610cac565b9050611cc4600083611702565b6001600160a01b0381166000908152600460205260408120805460019290611ced908490612a27565b909155505060008281526003602052604080822080546001600160a01b0319169055518391906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b611d518383611e87565b611d5e6000848484611d7a565b610acb5760405162461bcd60e51b81526004016106e390612745565b60006001600160a01b0384163b15611e7c57604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290611dbe9033908990889088906004016126f5565b602060405180830381600087803b158015611dd857600080fd5b505af1925050508015611e08575060408051601f3d908101601f19168201909252611e0591810190612355565b60015b611e62573d808015611e36576040519150601f19603f3d011682016040523d82523d6000602084013e611e3b565b606091505b508051611e5a5760405162461bcd60e51b81526004016106e390612745565b805181602001fd5b6001600160e01b031916630a85bd0160e11b14905061188c565b506001949350505050565b6001600160a01b038216611edd5760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f206164647265737360448201526064016106e3565b6001600160a01b0382166000908152600460205260408120805460019290611f069084906129fb565b909155505060008181526003602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b828054611f7090612a6a565b90600052602060002090601f016020900481019282611f925760008555611fd8565b82601f10611fab57805160ff1916838001178555611fd8565b82800160010185558215611fd8579182015b82811115611fd8578251825591602001919060010190611fbd565b50611fe492915061205c565b5090565b828054611ff490612a6a565b90600052602060002090601f0160209004810192826120165760008555611fd8565b82601f1061202f5782800160ff19823516178555611fd8565b82800160010185558215611fd8579182015b82811115611fd8578235825591602001919060010190612041565b5b80821115611fe4576000815560010161205d565b60006001600160401b038084111561208b5761208b612b16565b604051601f8501601f19908116603f011681019082821181831017156120b3576120b3612b16565b816040528093508581528686860111156120cc57600080fd5b858560208301376000602087830101525050509392505050565b803580151581146120f657600080fd5b919050565b60008083601f84011261210d57600080fd5b5081356001600160401b0381111561212457600080fd5b60208301915083602082850101111561213c57600080fd5b9250929050565b600082601f83011261215457600080fd5b61119783833560208501612071565b803561ffff811681146120f657600080fd5b80356001600160401b03811681146120f657600080fd5b60006020828403121561219e57600080fd5b813561119781612b2c565b600080604083850312156121bc57600080fd5b82516121c781612b2c565b6020939093015192949293505050565b600080604083850312156121ea57600080fd5b82356121f581612b2c565b9150602083013561220581612b2c565b809150509250929050565b60008060006060848603121561222557600080fd5b833561223081612b2c565b9250602084013561224081612b2c565b929592945050506040919091013590565b6000806000806080858703121561226757600080fd5b843561227281612b2c565b9350602085013561228281612b2c565b92506040850135915060608501356001600160401b038111156122a457600080fd5b6122b087828801612143565b91505092959194509250565b600080604083850312156122cf57600080fd5b82356122da81612b2c565b91506122e8602084016120e6565b90509250929050565b6000806040838503121561230457600080fd5b823561230f81612b2c565b946020939093013593505050565b60006020828403121561232f57600080fd5b611197826120e6565b60006020828403121561234a57600080fd5b813561119781612b41565b60006020828403121561236757600080fd5b815161119781612b41565b60006020828403121561238457600080fd5b81356001600160401b0381111561239a57600080fd5b8201601f810184136123ab57600080fd5b61188c84823560208401612071565b6000602082840312156123cc57600080fd5b61119782612163565b6000806000604084860312156123ea57600080fd5b6123f384612163565b925060208401356001600160401b0381111561240e57600080fd5b61241a868287016120fb565b9497909650939450505050565b60008060006060848603121561243c57600080fd5b61244584612163565b925060208401356001600160401b0381111561246057600080fd5b61246c86828701612143565b925050604084013590509250925092565b60008060008060006080868803121561249557600080fd5b61249e86612163565b945060208601356001600160401b03808211156124ba57600080fd5b6124c689838a01612143565b95506124d460408901612175565b945060608801359150808211156124ea57600080fd5b506124f7888289016120fb565b969995985093965092949392505050565b6000806000806080858703121561251e57600080fd5b61252785612163565b935060208501356001600160401b038082111561254357600080fd5b61254f88838901612143565b945061255d60408801612175565b9350606087013591508082111561257357600080fd5b506122b087828801612143565b6000806040838503121561259357600080fd5b61230f83612163565b6000602082840312156125ae57600080fd5b5035919050565b600080604083850312156125c857600080fd5b505080516020909101519092909150565b6000602082840312156125eb57600080fd5b813560ff8116811461119757600080fd5b60008151808452612614816020860160208601612a3e565b601f01601f19169290920160200192915050565b8183823760009101908152919050565b6000825161264a818460208701612a3e565b9190910192915050565b600080835461266281612a6a565b6001828116801561267a576001811461268b576126ba565b60ff198416875282870194506126ba565b8760005260208060002060005b858110156126b15781548a820152908401908201612698565b50505082870194505b50929695505050505050565b600083516126d8818460208801612a3e565b8351908301906126ec818360208801612a3e565b01949350505050565b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090612728908301846125fc565b9695505050505050565b60208152600061119760208301846125fc565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526031908201527f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f6040820152701ddb995c881b9bdc88185c1c1c9bdd9959607a1b606082015260800190565b61ffff861681526001600160a01b038516602082015260a06040820181905260009061284b908301866125fc565b8415156060840152828103608084015261286581856125fc565b98975050505050505050565b61ffff8616815260806020820152600061288e60808301876125fc565b6001600160401b03861660408401528281036060840152838152838560208301376000602085830101526020601f19601f8601168201019150509695505050505050565b61ffff851681526080602082015260006128ef60808301866125fc565b6001600160401b0385166040840152828103606084015261291081856125fc565b979650505050505050565b61ffff871681526000602060c0818401526000885461293981612a6a565b8060c087015260e060018084166000811461295b57600181146129705761299e565b60ff198516898401526101008901955061299e565b8d6000528660002060005b858110156129965781548b820186015290830190880161297b565b8a0184019650505b505050505083810360408501526129b581896125fc565b9150506129cd60608401876001600160a01b03169052565b6001600160a01b038516608084015282810360a08401526129ee81856125fc565b9998505050505050505050565b60008219821115612a0e57612a0e612ad4565b500190565b600082612a2257612a22612aea565b500490565b600082821015612a3957612a39612ad4565b500390565b60005b83811015612a59578181015183820152602001612a41565b838111156107fe5750506000910152565b600181811c90821680612a7e57607f821691505b60208210811415612a9f57634e487b7160e01b600052602260045260246000fd5b50919050565b6000600019821415612ab957612ab9612ad4565b5060010190565b600082612acf57612acf612aea565b500690565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b0381168114610eee57600080fd5b6001600160e01b031981168114610eee57600080fdfea26469706673582212207022f0d4e9092c9c2fbe1a45732218500743b6f52abcb683952703ee3a9bfaf164736f6c6343000807003300000000000000000000000000000000000000000000000000000000000000400000000000000000000000003c2269811836af69497e5f486a85d7316753cf62000000000000000000000000000000000000000000000000000000000000001e68747470733a2f2f62696c6c696f6e61697265736b756c6c2e636c75622f0000