ERC-721
Overview
Max Total Supply
10,000 MP
Holders
2,518
Market
Volume (24H)
N/A
Min Price (24H)
N/A
Max Price (24H)
N/A
Other Info
Token Contract
Balance
3 MPLoading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
MegaPunksPOP
Compiler Version
v0.8.16+commit.07a7930e
Optimization Enabled:
Yes with 20000 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
1234567891011121314151617181920212223242526// SPDX-License-Identifier: UNLICENSEDpragma solidity ^0.8.16;import {ERC721A} from "ERC721A/contracts/ERC721A.sol";import {Ownable} from "openzeppelin-contracts/contracts/access/Ownable.sol";import {ReentrancyGuard} from "openzeppelin-contracts/contracts/security/ReentrancyGuard.sol";import {MerkleProof} from "openzeppelin-contracts/contracts/utils/cryptography/MerkleProof.sol";import {Strings} from "openzeppelin-contracts/contracts/utils/Strings.sol";error ZeroBalance();error ContractCaller();error InvalidInput();error InvalidMerkleProof();error ExceedsMaxSupply();error PublicSaleNotActive();error AllowlistSaleNotActive();error InvalidPayment();error NotAllowedToMint();error POPFrozen();error noWithdrawAddress();error alreadtMinted();error minterNotSet();error notMinter();contract MegaPunksPOP is ERC721A, Ownable, ReentrancyGuard {uint256 public constant MINT_PRICE = 0.042 ether;
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// ERC721A Contracts v4.2.3// Creator: Chiru Labspragma solidity ^0.8.4;import './IERC721A.sol';/*** @dev Interface of ERC721 token receiver.*/interface ERC721A__IERC721Receiver {function onERC721Received(address operator,address from,uint256 tokenId,bytes calldata data) external returns (bytes4);}/*** @title ERC721A** @dev Implementation of the [ERC721](https://eips.ethereum.org/EIPS/eip-721)* Non-Fungible Token Standard, including the Metadata extension.* Optimized for lower gas during batch mints.
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// ERC721A Contracts v4.2.3// Creator: Chiru Labspragma solidity ^0.8.4;/*** @dev Interface of ERC721A.*/interface IERC721A {/*** The caller must own the token or be an approved operator.*/error ApprovalCallerNotOwnerNorApproved();/*** The token does not exist.*/error ApprovalQueryForNonexistentToken();/*** Cannot query the balance for the zero address.*/error BalanceQueryForZeroAddress();/**
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// OpenZeppelin Contracts (last updated v4.7.0) (access/Ownable.sol)pragma solidity ^0.8.0;import "../utils/Context.sol";/*** @dev Contract module which provides a basic access control mechanism, where* there is an account (an owner) that can be granted exclusive access to* specific functions.** By default, the owner account will be the one that deploys the contract. This* can later be changed with {transferOwnership}.** This module is used through inheritance. It will make available the modifier* `onlyOwner`, which can be applied to your functions to restrict their use to* the owner.*/abstract contract Ownable is Context {address private _owner;event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);/*** @dev Initializes the contract setting the deployer as the initial owner.
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// OpenZeppelin Contracts (last updated v4.8.0) (security/ReentrancyGuard.sol)pragma solidity ^0.8.0;/*** @dev Contract module that helps prevent reentrant calls to a function.** Inheriting from `ReentrancyGuard` will make the {nonReentrant} modifier* available, which can be applied to functions to make sure there are no nested* (reentrant) calls to them.** Note that because there is a single `nonReentrant` guard, functions marked as* `nonReentrant` may not call one another. This can be worked around by making* those functions `private`, and then adding `external` `nonReentrant` entry* points to them.** TIP: If you would like to learn more about reentrancy and alternative ways* to protect against it, check out our blog post* https://blog.openzeppelin.com/reentrancy-after-istanbul/[Reentrancy After Istanbul].*/abstract contract ReentrancyGuard {// Booleans are more expensive than uint256 or any type that takes up a full// word because each write operation emits an extra SLOAD to first read the// slot's contents, replace the bits taken up by the boolean, and then write// back. This is the compiler's defense against contract upgrades and
123456789101112131415161718192021222324// SPDX-License-Identifier: MIT// OpenZeppelin Contracts v4.4.1 (utils/Context.sol)pragma solidity ^0.8.0;/*** @dev Provides information about the current execution context, including the* sender of the transaction and its data. While these are generally available* via msg.sender and msg.data, they should not be accessed in such a direct* manner, since when dealing with meta-transactions the account sending and* paying for execution may not be the actual sender (as far as an application* is concerned).** This contract is only required for intermediate, library-like contracts.*/abstract contract Context {function _msgSender() internal view virtual returns (address) {return msg.sender;}function _msgData() internal view virtual returns (bytes calldata) {return msg.data;}}
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// OpenZeppelin Contracts (last updated v4.8.0) (utils/Strings.sol)pragma solidity ^0.8.0;import "./math/Math.sol";/*** @dev String operations.*/library Strings {bytes16 private constant _SYMBOLS = "0123456789abcdef";uint8 private constant _ADDRESS_LENGTH = 20;/*** @dev Converts a `uint256` to its ASCII `string` decimal representation.*/function toString(uint256 value) internal pure returns (string memory) {unchecked {uint256 length = Math.log10(value) + 1;string memory buffer = new string(length);uint256 ptr;/// @solidity memory-safe-assemblyassembly {ptr := add(buffer, add(32, length))}
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// OpenZeppelin Contracts (last updated v4.8.0) (utils/cryptography/MerkleProof.sol)pragma solidity ^0.8.0;/*** @dev These functions deal with verification of Merkle Tree proofs.** The tree and the proofs can be generated using our* https://github.com/OpenZeppelin/merkle-tree[JavaScript library].* You will find a quickstart guide in the readme.** WARNING: You should avoid using leaf values that are 64 bytes long prior to* hashing, or use a hash function other than keccak256 for hashing leaves.* This is because the concatenation of a sorted pair of internal nodes in* the merkle tree could be reinterpreted as a leaf value.* OpenZeppelin's JavaScript library generates merkle trees that are safe* against this attack out of the box.*/library MerkleProof {/*** @dev Returns true if a `leaf` can be proved to be a part of a Merkle tree* defined by `root`. For this, a `proof` must be provided, containing* sibling hashes on the branch from the leaf to the root of the tree. Each* pair of leaves and each pair of pre-images are assumed to be sorted.*/
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// OpenZeppelin Contracts (last updated v4.8.0) (utils/math/Math.sol)pragma solidity ^0.8.0;/*** @dev Standard math utilities missing in the Solidity language.*/library Math {enum Rounding {Down, // Toward negative infinityUp, // Toward infinityZero // Toward zero}/*** @dev Returns the largest of two numbers.*/function max(uint256 a, uint256 b) internal pure returns (uint256) {return a > b ? a : b;}/*** @dev Returns the smallest of two numbers.*/function min(uint256 a, uint256 b) internal pure returns (uint256) {
1234567891011121314151617181920212223242526{"remappings": ["ERC721A/=lib/ERC721A/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","openzeppelin-contracts/=lib/openzeppelin-contracts/"],"optimizer": {"enabled": true,"runs": 20000},"metadata": {"bytecodeHash": "ipfs"},"outputSelection": {"*": {"*": ["evm.bytecode","evm.deployedBytecode","devdoc","userdoc","metadata","abi"]}},
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"address","name":"_withdrawAddress","type":"address"},{"internalType":"string","name":"_newBaseURI","type":"string"},{"internalType":"string","name":"_contractURI","type":"string"},{"internalType":"string","name":"_provenanceHash","type":"string"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"AllowlistSaleNotActive","type":"error"},{"inputs":[],"name":"ApprovalCallerNotOwnerNorApproved","type":"error"},{"inputs":[],"name":"ApprovalQueryForNonexistentToken","type":"error"},{"inputs":[],"name":"BalanceQueryForZeroAddress","type":"error"},{"inputs":[],"name":"ContractCaller","type":"error"},{"inputs":[],"name":"ExceedsMaxSupply","type":"error"},{"inputs":[],"name":"InvalidInput","type":"error"},{"inputs":[],"name":"InvalidMerkleProof","type":"error"},{"inputs":[],"name":"InvalidPayment","type":"error"},{"inputs":[],"name":"MintERC2309QuantityExceedsLimit","type":"error"},{"inputs":[],"name":"MintToZeroAddress","type":"error"},{"inputs":[],"name":"MintZeroQuantity","type":"error"},{"inputs":[],"name":"NotAllowedToMint","type":"error"},{"inputs":[],"name":"OwnerQueryForNonexistentToken","type":"error"},{"inputs":[],"name":"OwnershipNotInitializedForExtraData","type":"error"},{"inputs":[],"name":"POPFrozen","type":"error"},{"inputs":[],"name":"PublicSaleNotActive","type":"error"},{"inputs":[],"name":"TransferCallerNotOwnerNorApproved","type":"error"},{"inputs":[],"name":"TransferFromIncorrectOwner","type":"error"},{"inputs":[],"name":"TransferToNonERC721ReceiverImplementer","type":"error"},{"inputs":[],"name":"TransferToZeroAddress","type":"error"},{"inputs":[],"name":"URIQueryForNonexistentToken","type":"error"},{"inputs":[],"name":"ZeroBalance","type":"error"},{"inputs":[],"name":"alreadtMinted","type":"error"},{"inputs":[],"name":"minterNotSet","type":"error"},{"inputs":[],"name":"noWithdrawAddress","type":"error"},{"inputs":[],"name":"notMinter","type":"error"},{"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":true,"internalType":"uint256","name":"fromTokenId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"toTokenId","type":"uint256"},{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"}],"name":"ConsecutiveTransfer","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":"MAX_SUPPLY","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MINT_PRICE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"keys","type":"uint256[]"},{"internalType":"string[]","name":"values","type":"string[]"}],"name":"addInscriptions","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"allowlistMerkleRoot","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_numTokens","type":"uint256"},{"internalType":"uint256","name":"allowance","type":"uint256"},{"internalType":"bytes32[]","name":"proof","type":"bytes32[]"}],"name":"allowlistMint","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"allowlistSaleActive","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"approve","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"baseURI","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"contractURI","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"firstMint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"freeze","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"frozen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"getAllowlistMintCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"getApproved","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getContractURI","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"getInscription","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"inscriptions","outputs":[{"internalType":"string","name":"","type":"string"}],"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":[],"name":"minterAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","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":[],"name":"provenanceHash","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_numTokens","type":"uint256"}],"name":"publicMint","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_numTokens","type":"uint256"}],"name":"publicMintTo","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"publicSaleActive","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","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":"payable","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":"payable","type":"function"},{"inputs":[{"internalType":"bool","name":"_allowlistSaleActive","type":"bool"},{"internalType":"bytes32","name":"_allowlistMerkleRoot","type":"bytes32"}],"name":"setAllowlistSaleStatus","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":"_newBaseURI","type":"string"}],"name":"setBaseURI","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"_newContractURI","type":"string"}],"name":"setContractURI","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_minterAddress","type":"address"}],"name":"setMinter","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_publicSaleActive","type":"bool"}],"name":"setPublicSaleStatus","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newWithdrawAddress","type":"address"}],"name":"setWithdrawAddress","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":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdrawAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"}]
Contract Creation Code
6080604052600b805461ffff191690556010805460ff191690553480156200002657600080fd5b50604051620034e7380380620034e7833981016040819052620000499162000230565b6040518060400160405280600c81526020016b04d65676150756e6b73504f560a41b8152506040518060400160405280600281526020016104d560f41b81525081600290816200009a919062000371565b506003620000a9828262000371565b50506000805550620000bb3362000119565b6001600955600b805462010000600160b01b031916620100006001600160a01b03871602179055600d620000f0848262000371565b50600e620000ff838262000371565b50600f6200010e828262000371565b50505050506200043d565b600880546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200019357600080fd5b81516001600160401b0380821115620001b057620001b06200016b565b604051601f8301601f19908116603f01168101908282118183101715620001db57620001db6200016b565b81604052838152602092508683858801011115620001f857600080fd5b600091505b838210156200021c5785820183015181830184015290820190620001fd565b600093810190920192909252949350505050565b600080600080608085870312156200024757600080fd5b84516001600160a01b03811681146200025f57600080fd5b60208601519094506001600160401b03808211156200027d57600080fd5b6200028b8883890162000181565b94506040870151915080821115620002a257600080fd5b620002b08883890162000181565b93506060870151915080821115620002c757600080fd5b50620002d68782880162000181565b91505092959194509250565b600181811c90821680620002f757607f821691505b6020821081036200031857634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200036c57600081815260208120601f850160051c81016020861015620003475750805b601f850160051c820191505b81811015620003685782815560010162000353565b5050505b505050565b81516001600160401b038111156200038d576200038d6200016b565b620003a5816200039e8454620002e2565b846200031e565b602080601f831160018114620003dd5760008415620003c45750858301515b600019600386901b1c1916600185901b17855562000368565b600085815260208120601f198616915b828110156200040e57888601518255948401946001909101908401620003ed565b50858210156200042d5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b61309a806200044d6000396000f3fe6080604052600436106102f25760003560e01c806362a5af3b1161018f578063b423fe67116100e1578063c87b56dd1161008a578063e985e9c511610064578063e985e9c5146107e5578063f2fde38b1461083b578063fca3b5aa1461085b57600080fd5b8063c87b56dd14610791578063db68d5c4146107b1578063e8a3d485146107d057600080fd5b8063c002d23d116100bb578063c002d23d14610741578063c4f576c71461075c578063c6ab67a31461077c57600080fd5b8063b423fe67146106f4578063b88d4fde14610714578063bc8893b41461072757600080fd5b8063731b9de311610143578063938e3d7b1161011d578063938e3d7b1461069f57806395d89b41146106bf578063a22cb465146106d457600080fd5b8063731b9de31461060e57806376e06599146106545780638da5cb5b1461067457600080fd5b80636c0360eb116101745780636c0360eb146105c457806370a08231146105d9578063715018a6146105f957600080fd5b806362a5af3b1461058f5780636352211e146105a457600080fd5b80632d945cb9116102485780633ab1a494116101fc57806355f804b3116101d657806355f804b3146105475780635b06d85314610567578063607247081461057a57600080fd5b80633ab1a494146104ff5780633ccfd60b1461051f57806342842e0e1461053457600080fd5b806332cb6b0c1161022d57806332cb6b0c146104a757806334d722c9146104bd57806337929eb4146104ea57600080fd5b80632d945cb9146104815780632db115441461049457600080fd5b8063095ea7b3116102aa5780631afdeee4116102845780631afdeee41461043857806323b872dd14610458578063293108e01461046b57600080fd5b8063095ea7b3146103cf5780631581b600146103e257806318160ddd1461041557600080fd5b806306fdde03116102db57806306fdde0314610346578063081812fc14610368578063088f932f146103ad57600080fd5b806301ffc9a7146102f7578063054f7d9c1461032c575b600080fd5b34801561030357600080fd5b50610317610312366004612754565b61087b565b60405190151581526020015b60405180910390f35b34801561033857600080fd5b506010546103179060ff1681565b34801561035257600080fd5b5061035b610960565b60405161032391906127df565b34801561037457600080fd5b506103886103833660046127f2565b6109f2565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610323565b3480156103b957600080fd5b506103cd6103c8366004612820565b610a5c565b005b6103cd6103dd36600461286e565b610adc565b3480156103ee57600080fd5b50600b546103889062010000900473ffffffffffffffffffffffffffffffffffffffff1681565b34801561042157600080fd5b50600154600054035b604051908152602001610323565b34801561044457600080fd5b506103cd610453366004612a52565b610b27565b6103cd610466366004612b0b565b610c19565b34801561047757600080fd5b5061042a600a5481565b6103cd61048f366004612b47565b610ee0565b6103cd6104a23660046127f2565b611209565b3480156104b357600080fd5b5061042a61271081565b3480156104c957600080fd5b50600c546103889073ffffffffffffffffffffffffffffffffffffffff1681565b3480156104f657600080fd5b5061035b611373565b34801561050b57600080fd5b506103cd61051a366004612bca565b611382565b34801561052b57600080fd5b506103cd611424565b6103cd610542366004612b0b565b61151f565b34801561055357600080fd5b506103cd610562366004612be5565b61153a565b6103cd61057536600461286e565b61154e565b34801561058657600080fd5b506103cd61171c565b34801561059b57600080fd5b506103cd611776565b3480156105b057600080fd5b506103886105bf3660046127f2565b6117d3565b3480156105d057600080fd5b5061035b6117de565b3480156105e557600080fd5b5061042a6105f4366004612bca565b61186c565b34801561060557600080fd5b506103cd6118ee565b34801561061a57600080fd5b5061042a610629366004612bca565b73ffffffffffffffffffffffffffffffffffffffff1660009081526005602052604090205460c01c90565b34801561066057600080fd5b5061035b61066f3660046127f2565b611900565b34801561068057600080fd5b5060085473ffffffffffffffffffffffffffffffffffffffff16610388565b3480156106ab57600080fd5b506103cd6106ba366004612be5565b611919565b3480156106cb57600080fd5b5061035b61192d565b3480156106e057600080fd5b506103cd6106ef366004612c1a565b61193c565b34801561070057600080fd5b506103cd61070f366004612c4d565b611983565b6103cd610722366004612c68565b6119f9565b34801561073357600080fd5b50600b546103179060ff1681565b34801561074d57600080fd5b5061042a669536c70891000081565b34801561076857600080fd5b5061035b6107773660046127f2565b611a63565b34801561078857600080fd5b5061035b611b05565b34801561079d57600080fd5b5061035b6107ac3660046127f2565b611b12565b3480156107bd57600080fd5b50600b5461031790610100900460ff1681565b3480156107dc57600080fd5b5061035b611baf565b3480156107f157600080fd5b50610317610800366004612ce4565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260076020908152604080832093909416825291909152205460ff1690565b34801561084757600080fd5b506103cd610856366004612bca565b611bbc565b34801561086757600080fd5b506103cd610876366004612bca565b611c75565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316148061090e57507f80ac58cd000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b8061095a57507f5b5e139f000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b60606002805461096f90612d0e565b80601f016020809104026020016040519081016040528092919081815260200182805461099b90612d0e565b80156109e85780601f106109bd576101008083540402835291602001916109e8565b820191906000526020600020905b8154815290600101906020018083116109cb57829003601f168201915b5050505050905090565b60006109fd82611cc4565b610a33576040517fcf4700e400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5060009081526006602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b610a64611d04565b60105460ff1615610aa1576040517f5aa54f2600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600b8054921515610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff90931692909217909155600a55565b60105460ff1615610b19576040517f5aa54f2600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610b238282611d85565b5050565b610b2f611d04565b8151600003610b6a576040517fb4fa3fb300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b8251811015610c1457818181518110610b8857610b88612d61565b602002602001015160116000858481518110610ba657610ba6612d61565b602002602001015181526020019081526020016000209081610bc89190612dd6565b5060116000848381518110610bdf57610bdf612d61565b602002602001015181526020019081526020016000208054610c0090612d0e565b505080610c0c81612f1f565b915050610b6d565b505050565b6000610c2482611e9a565b90508373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610c8b576040517fa114810000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600082815260066020526040902080543380821473ffffffffffffffffffffffffffffffffffffffff881690911417610d285773ffffffffffffffffffffffffffffffffffffffff8616600090815260076020908152604080832033845290915290205460ff16610d28576040517f59c896be00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8516610d75576040517fea553b3400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610d828686866001611f51565b8015610d8d57600082555b73ffffffffffffffffffffffffffffffffffffffff86811660009081526005602052604080822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019055918716808252919020805460010190554260a01b177c0200000000000000000000000000000000000000000000000000000000176000858152600460205260408120919091557c020000000000000000000000000000000000000000000000000000000084169003610e7c57600184016000818152600460205260408120549003610e7a576000548114610e7a5760008181526004602052604090208490555b505b838573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45b505050505050565b610ee8611f93565b333214610f21576040517f6844047f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600b54610100900460ff16610f62576040517f1892035a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b83600003610f9c576040517fb4fa3fb300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610fad84669536c708910000612f57565b3414610fe5576040517f3c6b4b2800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61271084610ff66001546000540390565b6110009190612f94565b1115611038576040517fc30436e900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517fffffffffffffffffffffffffffffffffffffffff0000000000000000000000003360601b16602082015260009060340160405160208183030381529060405261108485612006565b604051602001611095929190612fa7565b6040516020818303038152906040528051906020012090506110ee83838080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050600a5491508490506120c4565b611124576040517fb05e92fa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b3360009081526005602052604090205461114290869060c01c612f94565b84101561117b576040517fbc88519700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b336000818152600560205260409020546111ee919061119e90889060c01c612fd6565b73ffffffffffffffffffffffffffffffffffffffff9091166000908152600560205260409020805477ffffffffffffffffffffffffffffffffffffffffffffffff1660c09290921b919091179055565b6111f833866120da565b506112036001600955565b50505050565b611211611f93565b33321461124a576040517f6844047f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600b5460ff16611286576040517fc7d08f0400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b806000036112c0576040517fb4fa3fb300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6112d181669536c708910000612f57565b3414611309576040517f3c6b4b2800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6127108161131a6001546000540390565b6113249190612f94565b111561135c576040517fc30436e900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61136633826120da565b6113706001600955565b50565b6060600e805461096f90612d0e565b61138a611d04565b73ffffffffffffffffffffffffffffffffffffffff81166113d7576040517fb4fa3fb300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600b805473ffffffffffffffffffffffffffffffffffffffff90921662010000027fffffffffffffffffffff0000000000000000000000000000000000000000ffff909216919091179055565b61142c611d04565b611434611f93565b476000819003611470576040517f669567ea00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600b5462010000900473ffffffffffffffffffffffffffffffffffffffff166114c5576040517ffb333f1200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600b546040516201000090910473ffffffffffffffffffffffffffffffffffffffff16906108fc8315029083906000818181858888f19350505050158015611511573d6000803e3d6000fd5b505061151d6001600955565b565b610c14838383604051806020016040528060008152506119f9565b611542611d04565b600d610b238282612dd6565b611556611f93565b600b5460ff16611592576040517fc7d08f0400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b806000036115cc576040517fb4fa3fb300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600c5473ffffffffffffffffffffffffffffffffffffffff1661161b576040517fccbe718500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61162c81669536c708910000612f57565b3414611664576040517f3c6b4b2800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612710816116756001546000540390565b61167f9190612f94565b11156116b7576040517fc30436e900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600c5473ffffffffffffffffffffffffffffffffffffffff163314611708576040517fcb91c89600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61171282826120da565b610b236001600955565b611724611d04565b60006117336001546000540390565b111561176b576040517fc35fdb2a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61151d336001612225565b61177e611d04565b600b80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000169055601080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055565b600061095a82611e9a565b600d80546117eb90612d0e565b80601f016020809104026020016040519081016040528092919081815260200182805461181790612d0e565b80156118645780601f1061183957610100808354040283529160200191611864565b820191906000526020600020905b81548152906001019060200180831161184757829003601f168201915b505050505081565b600073ffffffffffffffffffffffffffffffffffffffff82166118bb576040517f8f4eb60400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5073ffffffffffffffffffffffffffffffffffffffff1660009081526005602052604090205467ffffffffffffffff1690565b6118f6611d04565b61151d600061223f565b601160205260009081526040902080546117eb90612d0e565b611921611d04565b600e610b238282612dd6565b60606003805461096f90612d0e565b60105460ff1615611979576040517f5aa54f2600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610b2382826122b6565b61198b611d04565b60105460ff16156119c8576040517f5aa54f2600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600b80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000016911515919091179055565b611a04848484610c19565b73ffffffffffffffffffffffffffffffffffffffff83163b1561120357611a2d8484848461234d565b611203576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000818152601160205260409020805460609190611a8090612d0e565b80601f0160208091040260200160405190810160405280929190818152602001828054611aac90612d0e565b8015611af95780601f10611ace57610100808354040283529160200191611af9565b820191906000526020600020905b815481529060010190602001808311611adc57829003601f168201915b50505050509050919050565b600f80546117eb90612d0e565b6060611b1d82611cc4565b611b53576040517fa14c4b5000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000611b5d6124c7565b90508051600003611b7d5760405180602001604052806000815250611ba8565b80611b87846124d6565b604051602001611b98929190612fa7565b6040516020818303038152906040525b9392505050565b600e80546117eb90612d0e565b611bc4611d04565b73ffffffffffffffffffffffffffffffffffffffff8116611c6c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6113708161223f565b611c7d611d04565b600c80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b600080548210801561095a5750506000908152600460205260409020547c0100000000000000000000000000000000000000000000000000000000161590565b60085473ffffffffffffffffffffffffffffffffffffffff16331461151d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401611c63565b6000611d90826117d3565b90503373ffffffffffffffffffffffffffffffffffffffff821614611e195773ffffffffffffffffffffffffffffffffffffffff8116600090815260076020908152604080832033845290915290205460ff16611e19576040517fcfb3b94200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008281526006602052604080822080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff87811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b600081600054811015611f1f57600081815260046020526040812054907c010000000000000000000000000000000000000000000000000000000082169003611f1d575b80600003611ba857507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01600081815260046020526040902054611ede565b505b6040517fdf2d9b4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60105460ff1615611f8e576040517f5aa54f2600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611203565b600260095403611fff576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401611c63565b6002600955565b6060600061201383612538565b600101905060008167ffffffffffffffff8111156120335761203361288a565b6040519080825280601f01601f19166020018201604052801561205d576020820181803683370190505b5090508181016020015b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a850494508461206757509392505050565b6000826120d1858461261a565b14949350505050565b6000805490829003612118576040517fb562e8dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6121256000848385611f51565b73ffffffffffffffffffffffffffffffffffffffff831660008181526005602090815260408083208054680100000000000000018802019055848352600490915281206001851460e11b4260a01b178317905582840190839083907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8180a4600183015b8181146121e157808360007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600080a46001016121a9565b508160000361221c576040517f2e07630000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005550505050565b610b23828260405180602001604052806000815250612667565b6008805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b33600081815260076020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168085529083529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b6040517f150b7a0200000000000000000000000000000000000000000000000000000000815260009073ffffffffffffffffffffffffffffffffffffffff85169063150b7a02906123a8903390899088908890600401612ffe565b6020604051808303816000875af1925050508015612401575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526123fe91810190613047565b60015b612478573d80801561242f576040519150601f19603f3d011682016040523d82523d6000602084013e612434565b606091505b508051600003612470576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805181602001fd5b7fffffffff00000000000000000000000000000000000000000000000000000000167f150b7a02000000000000000000000000000000000000000000000000000000001490505b949350505050565b6060600d805461096f90612d0e565b606060a06040510180604052602081039150506000815280825b600183039250600a81066030018353600a9004806124f057508190037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0909101908152919050565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310612581577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef810000000083106125ad576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc1000083106125cb57662386f26fc10000830492506010015b6305f5e10083106125e3576305f5e100830492506008015b61271083106125f757612710830492506004015b60648310612609576064830492506002015b600a831061095a5760010192915050565b600081815b845181101561265f5761264b8286838151811061263e5761263e612d61565b60200260200101516126fa565b91508061265781612f1f565b91505061261f565b509392505050565b61267183836120da565b73ffffffffffffffffffffffffffffffffffffffff83163b15610c14576000548281035b6126a8600086838060010194508661234d565b6126de576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8181106126955781600054146126f357600080fd5b5050505050565b6000818310612716576000828152602084905260409020611ba8565b5060009182526020526040902090565b7fffffffff000000000000000000000000000000000000000000000000000000008116811461137057600080fd5b60006020828403121561276657600080fd5b8135611ba881612726565b60005b8381101561278c578181015183820152602001612774565b50506000910152565b600081518084526127ad816020860160208601612771565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000611ba86020830184612795565b60006020828403121561280457600080fd5b5035919050565b8035801515811461281b57600080fd5b919050565b6000806040838503121561283357600080fd5b61283c8361280b565b946020939093013593505050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461281b57600080fd5b6000806040838503121561288157600080fd5b61283c8361284a565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff811182821017156129005761290061288a565b604052919050565b600067ffffffffffffffff8211156129225761292261288a565b5060051b60200190565b600067ffffffffffffffff8311156129465761294661288a565b61297760207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f860116016128b9565b905082815283838301111561298b57600080fd5b828260208301376000602084830101529392505050565b600082601f8301126129b357600080fd5b611ba88383356020850161292c565b600082601f8301126129d357600080fd5b813560206129e86129e383612908565b6128b9565b82815260059290921b84018101918181019086841115612a0757600080fd5b8286015b84811015612a4757803567ffffffffffffffff811115612a2b5760008081fd5b612a398986838b01016129a2565b845250918301918301612a0b565b509695505050505050565b60008060408385031215612a6557600080fd5b823567ffffffffffffffff80821115612a7d57600080fd5b818501915085601f830112612a9157600080fd5b81356020612aa16129e383612908565b82815260059290921b84018101918181019089841115612ac057600080fd5b948201945b83861015612ade57853582529482019490820190612ac5565b96505086013592505080821115612af457600080fd5b50612b01858286016129c2565b9150509250929050565b600080600060608486031215612b2057600080fd5b612b298461284a565b9250612b376020850161284a565b9150604084013590509250925092565b60008060008060608587031215612b5d57600080fd5b8435935060208501359250604085013567ffffffffffffffff80821115612b8357600080fd5b818701915087601f830112612b9757600080fd5b813581811115612ba657600080fd5b8860208260051b8501011115612bbb57600080fd5b95989497505060200194505050565b600060208284031215612bdc57600080fd5b611ba88261284a565b600060208284031215612bf757600080fd5b813567ffffffffffffffff811115612c0e57600080fd5b6124bf848285016129a2565b60008060408385031215612c2d57600080fd5b612c368361284a565b9150612c446020840161280b565b90509250929050565b600060208284031215612c5f57600080fd5b611ba88261280b565b60008060008060808587031215612c7e57600080fd5b612c878561284a565b9350612c956020860161284a565b925060408501359150606085013567ffffffffffffffff811115612cb857600080fd5b8501601f81018713612cc957600080fd5b612cd88782356020840161292c565b91505092959194509250565b60008060408385031215612cf757600080fd5b612d008361284a565b9150612c446020840161284a565b600181811c90821680612d2257607f821691505b602082108103612d5b577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b601f821115610c1457600081815260208120601f850160051c81016020861015612db75750805b601f850160051c820191505b81811015610ed857828155600101612dc3565b815167ffffffffffffffff811115612df057612df061288a565b612e0481612dfe8454612d0e565b84612d90565b602080601f831160018114612e575760008415612e215750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555610ed8565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015612ea457888601518255948401946001909101908401612e85565b5085821015612ee057878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612f5057612f50612ef0565b5060010190565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612f8f57612f8f612ef0565b500290565b8082018082111561095a5761095a612ef0565b60008351612fb9818460208801612771565b835190830190612fcd818360208801612771565b01949350505050565b67ffffffffffffffff818116838216019080821115612ff757612ff7612ef0565b5092915050565b600073ffffffffffffffffffffffffffffffffffffffff80871683528086166020840152508360408301526080606083015261303d6080830184612795565b9695505050505050565b60006020828403121561305957600080fd5b8151611ba88161272656fea26469706673582212208e8004ab3fe666d8433e1a0f97bfc7cc598140b419fcd1224f153476d153a45a64736f6c63430008100033000000000000000000000000f60157b93c99cf076d839339a6b3e6df0edb8414000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000036697066733a2f2f516d53366366556f4451386252583854416163697a754e31584274636e774c44344b366a765075383534465a64642f000000000000000000000000000000000000000000000000000000000000000000000000000000000035697066733a2f2f516d58584155366d637163776e736e4761545778686e31646356557552326951764a36724656685031637444785a0000000000000000000000000000000000000000000000000000000000000000000000000000000000004034366661343961653362326633313030616666373165333430653139663666643536653631343062373333613639383135376265323762316134646163363763
Deployed Bytecode
0x6080604052600436106102f25760003560e01c806362a5af3b1161018f578063b423fe67116100e1578063c87b56dd1161008a578063e985e9c511610064578063e985e9c5146107e5578063f2fde38b1461083b578063fca3b5aa1461085b57600080fd5b8063c87b56dd14610791578063db68d5c4146107b1578063e8a3d485146107d057600080fd5b8063c002d23d116100bb578063c002d23d14610741578063c4f576c71461075c578063c6ab67a31461077c57600080fd5b8063b423fe67146106f4578063b88d4fde14610714578063bc8893b41461072757600080fd5b8063731b9de311610143578063938e3d7b1161011d578063938e3d7b1461069f57806395d89b41146106bf578063a22cb465146106d457600080fd5b8063731b9de31461060e57806376e06599146106545780638da5cb5b1461067457600080fd5b80636c0360eb116101745780636c0360eb146105c457806370a08231146105d9578063715018a6146105f957600080fd5b806362a5af3b1461058f5780636352211e146105a457600080fd5b80632d945cb9116102485780633ab1a494116101fc57806355f804b3116101d657806355f804b3146105475780635b06d85314610567578063607247081461057a57600080fd5b80633ab1a494146104ff5780633ccfd60b1461051f57806342842e0e1461053457600080fd5b806332cb6b0c1161022d57806332cb6b0c146104a757806334d722c9146104bd57806337929eb4146104ea57600080fd5b80632d945cb9146104815780632db115441461049457600080fd5b8063095ea7b3116102aa5780631afdeee4116102845780631afdeee41461043857806323b872dd14610458578063293108e01461046b57600080fd5b8063095ea7b3146103cf5780631581b600146103e257806318160ddd1461041557600080fd5b806306fdde03116102db57806306fdde0314610346578063081812fc14610368578063088f932f146103ad57600080fd5b806301ffc9a7146102f7578063054f7d9c1461032c575b600080fd5b34801561030357600080fd5b50610317610312366004612754565b61087b565b60405190151581526020015b60405180910390f35b34801561033857600080fd5b506010546103179060ff1681565b34801561035257600080fd5b5061035b610960565b60405161032391906127df565b34801561037457600080fd5b506103886103833660046127f2565b6109f2565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610323565b3480156103b957600080fd5b506103cd6103c8366004612820565b610a5c565b005b6103cd6103dd36600461286e565b610adc565b3480156103ee57600080fd5b50600b546103889062010000900473ffffffffffffffffffffffffffffffffffffffff1681565b34801561042157600080fd5b50600154600054035b604051908152602001610323565b34801561044457600080fd5b506103cd610453366004612a52565b610b27565b6103cd610466366004612b0b565b610c19565b34801561047757600080fd5b5061042a600a5481565b6103cd61048f366004612b47565b610ee0565b6103cd6104a23660046127f2565b611209565b3480156104b357600080fd5b5061042a61271081565b3480156104c957600080fd5b50600c546103889073ffffffffffffffffffffffffffffffffffffffff1681565b3480156104f657600080fd5b5061035b611373565b34801561050b57600080fd5b506103cd61051a366004612bca565b611382565b34801561052b57600080fd5b506103cd611424565b6103cd610542366004612b0b565b61151f565b34801561055357600080fd5b506103cd610562366004612be5565b61153a565b6103cd61057536600461286e565b61154e565b34801561058657600080fd5b506103cd61171c565b34801561059b57600080fd5b506103cd611776565b3480156105b057600080fd5b506103886105bf3660046127f2565b6117d3565b3480156105d057600080fd5b5061035b6117de565b3480156105e557600080fd5b5061042a6105f4366004612bca565b61186c565b34801561060557600080fd5b506103cd6118ee565b34801561061a57600080fd5b5061042a610629366004612bca565b73ffffffffffffffffffffffffffffffffffffffff1660009081526005602052604090205460c01c90565b34801561066057600080fd5b5061035b61066f3660046127f2565b611900565b34801561068057600080fd5b5060085473ffffffffffffffffffffffffffffffffffffffff16610388565b3480156106ab57600080fd5b506103cd6106ba366004612be5565b611919565b3480156106cb57600080fd5b5061035b61192d565b3480156106e057600080fd5b506103cd6106ef366004612c1a565b61193c565b34801561070057600080fd5b506103cd61070f366004612c4d565b611983565b6103cd610722366004612c68565b6119f9565b34801561073357600080fd5b50600b546103179060ff1681565b34801561074d57600080fd5b5061042a669536c70891000081565b34801561076857600080fd5b5061035b6107773660046127f2565b611a63565b34801561078857600080fd5b5061035b611b05565b34801561079d57600080fd5b5061035b6107ac3660046127f2565b611b12565b3480156107bd57600080fd5b50600b5461031790610100900460ff1681565b3480156107dc57600080fd5b5061035b611baf565b3480156107f157600080fd5b50610317610800366004612ce4565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260076020908152604080832093909416825291909152205460ff1690565b34801561084757600080fd5b506103cd610856366004612bca565b611bbc565b34801561086757600080fd5b506103cd610876366004612bca565b611c75565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316148061090e57507f80ac58cd000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b8061095a57507f5b5e139f000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b60606002805461096f90612d0e565b80601f016020809104026020016040519081016040528092919081815260200182805461099b90612d0e565b80156109e85780601f106109bd576101008083540402835291602001916109e8565b820191906000526020600020905b8154815290600101906020018083116109cb57829003601f168201915b5050505050905090565b60006109fd82611cc4565b610a33576040517fcf4700e400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5060009081526006602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b610a64611d04565b60105460ff1615610aa1576040517f5aa54f2600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600b8054921515610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff90931692909217909155600a55565b60105460ff1615610b19576040517f5aa54f2600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610b238282611d85565b5050565b610b2f611d04565b8151600003610b6a576040517fb4fa3fb300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b8251811015610c1457818181518110610b8857610b88612d61565b602002602001015160116000858481518110610ba657610ba6612d61565b602002602001015181526020019081526020016000209081610bc89190612dd6565b5060116000848381518110610bdf57610bdf612d61565b602002602001015181526020019081526020016000208054610c0090612d0e565b505080610c0c81612f1f565b915050610b6d565b505050565b6000610c2482611e9a565b90508373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610c8b576040517fa114810000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600082815260066020526040902080543380821473ffffffffffffffffffffffffffffffffffffffff881690911417610d285773ffffffffffffffffffffffffffffffffffffffff8616600090815260076020908152604080832033845290915290205460ff16610d28576040517f59c896be00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8516610d75576040517fea553b3400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610d828686866001611f51565b8015610d8d57600082555b73ffffffffffffffffffffffffffffffffffffffff86811660009081526005602052604080822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019055918716808252919020805460010190554260a01b177c0200000000000000000000000000000000000000000000000000000000176000858152600460205260408120919091557c020000000000000000000000000000000000000000000000000000000084169003610e7c57600184016000818152600460205260408120549003610e7a576000548114610e7a5760008181526004602052604090208490555b505b838573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45b505050505050565b610ee8611f93565b333214610f21576040517f6844047f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600b54610100900460ff16610f62576040517f1892035a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b83600003610f9c576040517fb4fa3fb300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610fad84669536c708910000612f57565b3414610fe5576040517f3c6b4b2800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61271084610ff66001546000540390565b6110009190612f94565b1115611038576040517fc30436e900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517fffffffffffffffffffffffffffffffffffffffff0000000000000000000000003360601b16602082015260009060340160405160208183030381529060405261108485612006565b604051602001611095929190612fa7565b6040516020818303038152906040528051906020012090506110ee83838080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050600a5491508490506120c4565b611124576040517fb05e92fa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b3360009081526005602052604090205461114290869060c01c612f94565b84101561117b576040517fbc88519700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b336000818152600560205260409020546111ee919061119e90889060c01c612fd6565b73ffffffffffffffffffffffffffffffffffffffff9091166000908152600560205260409020805477ffffffffffffffffffffffffffffffffffffffffffffffff1660c09290921b919091179055565b6111f833866120da565b506112036001600955565b50505050565b611211611f93565b33321461124a576040517f6844047f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600b5460ff16611286576040517fc7d08f0400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b806000036112c0576040517fb4fa3fb300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6112d181669536c708910000612f57565b3414611309576040517f3c6b4b2800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6127108161131a6001546000540390565b6113249190612f94565b111561135c576040517fc30436e900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61136633826120da565b6113706001600955565b50565b6060600e805461096f90612d0e565b61138a611d04565b73ffffffffffffffffffffffffffffffffffffffff81166113d7576040517fb4fa3fb300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600b805473ffffffffffffffffffffffffffffffffffffffff90921662010000027fffffffffffffffffffff0000000000000000000000000000000000000000ffff909216919091179055565b61142c611d04565b611434611f93565b476000819003611470576040517f669567ea00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600b5462010000900473ffffffffffffffffffffffffffffffffffffffff166114c5576040517ffb333f1200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600b546040516201000090910473ffffffffffffffffffffffffffffffffffffffff16906108fc8315029083906000818181858888f19350505050158015611511573d6000803e3d6000fd5b505061151d6001600955565b565b610c14838383604051806020016040528060008152506119f9565b611542611d04565b600d610b238282612dd6565b611556611f93565b600b5460ff16611592576040517fc7d08f0400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b806000036115cc576040517fb4fa3fb300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600c5473ffffffffffffffffffffffffffffffffffffffff1661161b576040517fccbe718500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61162c81669536c708910000612f57565b3414611664576040517f3c6b4b2800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612710816116756001546000540390565b61167f9190612f94565b11156116b7576040517fc30436e900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600c5473ffffffffffffffffffffffffffffffffffffffff163314611708576040517fcb91c89600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61171282826120da565b610b236001600955565b611724611d04565b60006117336001546000540390565b111561176b576040517fc35fdb2a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61151d336001612225565b61177e611d04565b600b80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000169055601080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055565b600061095a82611e9a565b600d80546117eb90612d0e565b80601f016020809104026020016040519081016040528092919081815260200182805461181790612d0e565b80156118645780601f1061183957610100808354040283529160200191611864565b820191906000526020600020905b81548152906001019060200180831161184757829003601f168201915b505050505081565b600073ffffffffffffffffffffffffffffffffffffffff82166118bb576040517f8f4eb60400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5073ffffffffffffffffffffffffffffffffffffffff1660009081526005602052604090205467ffffffffffffffff1690565b6118f6611d04565b61151d600061223f565b601160205260009081526040902080546117eb90612d0e565b611921611d04565b600e610b238282612dd6565b60606003805461096f90612d0e565b60105460ff1615611979576040517f5aa54f2600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610b2382826122b6565b61198b611d04565b60105460ff16156119c8576040517f5aa54f2600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600b80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000016911515919091179055565b611a04848484610c19565b73ffffffffffffffffffffffffffffffffffffffff83163b1561120357611a2d8484848461234d565b611203576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000818152601160205260409020805460609190611a8090612d0e565b80601f0160208091040260200160405190810160405280929190818152602001828054611aac90612d0e565b8015611af95780601f10611ace57610100808354040283529160200191611af9565b820191906000526020600020905b815481529060010190602001808311611adc57829003601f168201915b50505050509050919050565b600f80546117eb90612d0e565b6060611b1d82611cc4565b611b53576040517fa14c4b5000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000611b5d6124c7565b90508051600003611b7d5760405180602001604052806000815250611ba8565b80611b87846124d6565b604051602001611b98929190612fa7565b6040516020818303038152906040525b9392505050565b600e80546117eb90612d0e565b611bc4611d04565b73ffffffffffffffffffffffffffffffffffffffff8116611c6c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6113708161223f565b611c7d611d04565b600c80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b600080548210801561095a5750506000908152600460205260409020547c0100000000000000000000000000000000000000000000000000000000161590565b60085473ffffffffffffffffffffffffffffffffffffffff16331461151d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401611c63565b6000611d90826117d3565b90503373ffffffffffffffffffffffffffffffffffffffff821614611e195773ffffffffffffffffffffffffffffffffffffffff8116600090815260076020908152604080832033845290915290205460ff16611e19576040517fcfb3b94200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008281526006602052604080822080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff87811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b600081600054811015611f1f57600081815260046020526040812054907c010000000000000000000000000000000000000000000000000000000082169003611f1d575b80600003611ba857507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01600081815260046020526040902054611ede565b505b6040517fdf2d9b4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60105460ff1615611f8e576040517f5aa54f2600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611203565b600260095403611fff576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401611c63565b6002600955565b6060600061201383612538565b600101905060008167ffffffffffffffff8111156120335761203361288a565b6040519080825280601f01601f19166020018201604052801561205d576020820181803683370190505b5090508181016020015b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a850494508461206757509392505050565b6000826120d1858461261a565b14949350505050565b6000805490829003612118576040517fb562e8dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6121256000848385611f51565b73ffffffffffffffffffffffffffffffffffffffff831660008181526005602090815260408083208054680100000000000000018802019055848352600490915281206001851460e11b4260a01b178317905582840190839083907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8180a4600183015b8181146121e157808360007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600080a46001016121a9565b508160000361221c576040517f2e07630000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005550505050565b610b23828260405180602001604052806000815250612667565b6008805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b33600081815260076020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168085529083529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b6040517f150b7a0200000000000000000000000000000000000000000000000000000000815260009073ffffffffffffffffffffffffffffffffffffffff85169063150b7a02906123a8903390899088908890600401612ffe565b6020604051808303816000875af1925050508015612401575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526123fe91810190613047565b60015b612478573d80801561242f576040519150601f19603f3d011682016040523d82523d6000602084013e612434565b606091505b508051600003612470576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805181602001fd5b7fffffffff00000000000000000000000000000000000000000000000000000000167f150b7a02000000000000000000000000000000000000000000000000000000001490505b949350505050565b6060600d805461096f90612d0e565b606060a06040510180604052602081039150506000815280825b600183039250600a81066030018353600a9004806124f057508190037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0909101908152919050565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310612581577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef810000000083106125ad576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc1000083106125cb57662386f26fc10000830492506010015b6305f5e10083106125e3576305f5e100830492506008015b61271083106125f757612710830492506004015b60648310612609576064830492506002015b600a831061095a5760010192915050565b600081815b845181101561265f5761264b8286838151811061263e5761263e612d61565b60200260200101516126fa565b91508061265781612f1f565b91505061261f565b509392505050565b61267183836120da565b73ffffffffffffffffffffffffffffffffffffffff83163b15610c14576000548281035b6126a8600086838060010194508661234d565b6126de576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8181106126955781600054146126f357600080fd5b5050505050565b6000818310612716576000828152602084905260409020611ba8565b5060009182526020526040902090565b7fffffffff000000000000000000000000000000000000000000000000000000008116811461137057600080fd5b60006020828403121561276657600080fd5b8135611ba881612726565b60005b8381101561278c578181015183820152602001612774565b50506000910152565b600081518084526127ad816020860160208601612771565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000611ba86020830184612795565b60006020828403121561280457600080fd5b5035919050565b8035801515811461281b57600080fd5b919050565b6000806040838503121561283357600080fd5b61283c8361280b565b946020939093013593505050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461281b57600080fd5b6000806040838503121561288157600080fd5b61283c8361284a565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff811182821017156129005761290061288a565b604052919050565b600067ffffffffffffffff8211156129225761292261288a565b5060051b60200190565b600067ffffffffffffffff8311156129465761294661288a565b61297760207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f860116016128b9565b905082815283838301111561298b57600080fd5b828260208301376000602084830101529392505050565b600082601f8301126129b357600080fd5b611ba88383356020850161292c565b600082601f8301126129d357600080fd5b813560206129e86129e383612908565b6128b9565b82815260059290921b84018101918181019086841115612a0757600080fd5b8286015b84811015612a4757803567ffffffffffffffff811115612a2b5760008081fd5b612a398986838b01016129a2565b845250918301918301612a0b565b509695505050505050565b60008060408385031215612a6557600080fd5b823567ffffffffffffffff80821115612a7d57600080fd5b818501915085601f830112612a9157600080fd5b81356020612aa16129e383612908565b82815260059290921b84018101918181019089841115612ac057600080fd5b948201945b83861015612ade57853582529482019490820190612ac5565b96505086013592505080821115612af457600080fd5b50612b01858286016129c2565b9150509250929050565b600080600060608486031215612b2057600080fd5b612b298461284a565b9250612b376020850161284a565b9150604084013590509250925092565b60008060008060608587031215612b5d57600080fd5b8435935060208501359250604085013567ffffffffffffffff80821115612b8357600080fd5b818701915087601f830112612b9757600080fd5b813581811115612ba657600080fd5b8860208260051b8501011115612bbb57600080fd5b95989497505060200194505050565b600060208284031215612bdc57600080fd5b611ba88261284a565b600060208284031215612bf757600080fd5b813567ffffffffffffffff811115612c0e57600080fd5b6124bf848285016129a2565b60008060408385031215612c2d57600080fd5b612c368361284a565b9150612c446020840161280b565b90509250929050565b600060208284031215612c5f57600080fd5b611ba88261280b565b60008060008060808587031215612c7e57600080fd5b612c878561284a565b9350612c956020860161284a565b925060408501359150606085013567ffffffffffffffff811115612cb857600080fd5b8501601f81018713612cc957600080fd5b612cd88782356020840161292c565b91505092959194509250565b60008060408385031215612cf757600080fd5b612d008361284a565b9150612c446020840161284a565b600181811c90821680612d2257607f821691505b602082108103612d5b577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b601f821115610c1457600081815260208120601f850160051c81016020861015612db75750805b601f850160051c820191505b81811015610ed857828155600101612dc3565b815167ffffffffffffffff811115612df057612df061288a565b612e0481612dfe8454612d0e565b84612d90565b602080601f831160018114612e575760008415612e215750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555610ed8565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015612ea457888601518255948401946001909101908401612e85565b5085821015612ee057878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612f5057612f50612ef0565b5060010190565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612f8f57612f8f612ef0565b500290565b8082018082111561095a5761095a612ef0565b60008351612fb9818460208801612771565b835190830190612fcd818360208801612771565b01949350505050565b67ffffffffffffffff818116838216019080821115612ff757612ff7612ef0565b5092915050565b600073ffffffffffffffffffffffffffffffffffffffff80871683528086166020840152508360408301526080606083015261303d6080830184612795565b9695505050505050565b60006020828403121561305957600080fd5b8151611ba88161272656fea26469706673582212208e8004ab3fe666d8433e1a0f97bfc7cc598140b419fcd1224f153476d153a45a64736f6c63430008100033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000f60157b93c99cf076d839339a6b3e6df0edb8414000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000036697066733a2f2f516d53366366556f4451386252583854416163697a754e31584274636e774c44344b366a765075383534465a64642f000000000000000000000000000000000000000000000000000000000000000000000000000000000035697066733a2f2f516d58584155366d637163776e736e4761545778686e31646356557552326951764a36724656685031637444785a0000000000000000000000000000000000000000000000000000000000000000000000000000000000004034366661343961653362326633313030616666373165333430653139663666643536653631343062373333613639383135376265323762316134646163363763
-----Decoded View---------------
Arg [0] : _withdrawAddress (address): 0xf60157B93C99cf076D839339a6b3e6DF0Edb8414
Arg [1] : _newBaseURI (string): ipfs://QmS6cfUoDQ8bRX8TAacizuN1XBtcnwLD4K6jvPu854FZdd/
Arg [2] : _contractURI (string): ipfs://QmXXAU6mcqcwnsnGaTWxhn1dcVUuR2iQvJ6rFVhP1ctDxZ
Arg [3] : _provenanceHash (string): 46fa49ae3b2f3100aff71e340e19f6fd56e6140b733a698157be27b1a4dac67c
-----Encoded View---------------
13 Constructor Arguments found :
Arg [0] : 000000000000000000000000f60157b93c99cf076d839339a6b3e6df0edb8414
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000080
Arg [2] : 00000000000000000000000000000000000000000000000000000000000000e0
Arg [3] : 0000000000000000000000000000000000000000000000000000000000000140
Arg [4] : 0000000000000000000000000000000000000000000000000000000000000036
Arg [5] : 697066733a2f2f516d53366366556f4451386252583854416163697a754e3158
Arg [6] : 4274636e774c44344b366a765075383534465a64642f00000000000000000000
Arg [7] : 0000000000000000000000000000000000000000000000000000000000000035
Arg [8] : 697066733a2f2f516d58584155366d637163776e736e4761545778686e316463
Arg [9] : 56557552326951764a36724656685031637444785a0000000000000000000000
Arg [10] : 0000000000000000000000000000000000000000000000000000000000000040
Arg [11] : 3436666134396165336232663331303061666637316533343065313966366664
Arg [12] : 3536653631343062373333613639383135376265323762316134646163363763
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.