ERC-721
Overview
Max Total Supply
769 TC-TA
Holders
332
Market
Volume (24H)
N/A
Min Price (24H)
N/A
Max Price (24H)
N/A
Other Info
Token Contract
Balance
2 TC-TALoading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
TheCelebrities
Compiler Version
v0.8.4+commit.c7e474f2
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2022-08-10 */ // SPDX-License-Identifier: MIT pragma solidity ^0.8.0; interface IERC165 { function supportsInterface(bytes4 interfaceId) external view returns (bool); } pragma solidity ^0.8.0; interface IERC721Receiver { function onERC721Received( address operator, address from, uint256 tokenId, bytes calldata data ) external returns (bytes4); } pragma solidity ^0.8.0; interface IERC721 is IERC165 { event Transfer( address indexed from, address indexed to, uint256 indexed tokenId ); event Approval( address indexed owner, address indexed approved, uint256 indexed tokenId ); event ApprovalForAll( address indexed owner, address indexed operator, bool approved ); function balanceOf(address owner) external view returns (uint256 balance); function ownerOf(uint256 tokenId) external view returns (address owner); function safeTransferFrom( address from, address to, uint256 tokenId ) external; function transferFrom( address from, address to, uint256 tokenId ) external; function approve(address to, uint256 tokenId) external; function getApproved(uint256 tokenId) external view returns (address operator); function setApprovalForAll(address operator, bool _approved) external; function isApprovedForAll(address owner, address operator) external view returns (bool); function safeTransferFrom( address from, address to, uint256 tokenId, bytes calldata data ) external; } pragma solidity ^0.8.0; interface IERC721Metadata is IERC721 { function name() external view returns (string memory); function symbol() external view returns (string memory); function tokenURI(uint256 tokenId) external view returns (string memory); } pragma solidity ^0.8.0; interface IERC721Enumerable is IERC721 { function totalSupply() external view returns (uint256); function tokenOfOwnerByIndex(address owner, uint256 index) external view returns (uint256); function tokenByIndex(uint256 index) external view returns (uint256); } pragma solidity ^0.8.1; library Address { function isContract(address account) internal view returns (bool) { return account.code.length > 0; } function sendValue(address payable recipient, uint256 amount) internal { require( address(this).balance >= amount, "Address: insufficient balance" ); (bool success, ) = recipient.call{value: amount}(""); require( success, "Address: unable to send value, recipient may have reverted" ); } function functionCall(address target, bytes memory data) internal returns (bytes memory) { return functionCall(target, data, "Address: low-level call failed"); } function functionCall( address target, bytes memory data, string memory errorMessage ) internal returns (bytes memory) { return functionCallWithValue(target, data, 0, errorMessage); } function functionCallWithValue( address target, bytes memory data, uint256 value ) internal returns (bytes memory) { return functionCallWithValue( target, data, value, "Address: low-level call with value failed" ); } function functionCallWithValue( address target, bytes memory data, uint256 value, string memory errorMessage ) internal returns (bytes memory) { require( address(this).balance >= value, "Address: insufficient balance for call" ); require(isContract(target), "Address: call to non-contract"); (bool success, bytes memory returndata) = target.call{value: value}( data ); return verifyCallResult(success, returndata, errorMessage); } function functionStaticCall(address target, bytes memory data) internal view returns (bytes memory) { return functionStaticCall( target, data, "Address: low-level static call failed" ); } function functionStaticCall( address target, bytes memory data, string memory errorMessage ) internal view returns (bytes memory) { require(isContract(target), "Address: static call to non-contract"); (bool success, bytes memory returndata) = target.staticcall(data); return verifyCallResult(success, returndata, errorMessage); } function functionDelegateCall(address target, bytes memory data) internal returns (bytes memory) { return functionDelegateCall( target, data, "Address: low-level delegate call failed" ); } function functionDelegateCall( address target, bytes memory data, string memory errorMessage ) internal returns (bytes memory) { require(isContract(target), "Address: delegate call to non-contract"); (bool success, bytes memory returndata) = target.delegatecall(data); return verifyCallResult(success, returndata, errorMessage); } function verifyCallResult( bool success, bytes memory returndata, string memory errorMessage ) internal pure returns (bytes memory) { if (success) { return returndata; } else { if (returndata.length > 0) { assembly { let returndata_size := mload(returndata) revert(add(32, returndata), returndata_size) } } else { revert(errorMessage); } } } } // OpenZeppelin Contracts v4.4.1 (utils/Context.sol) pragma solidity ^0.8.0; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } } pragma solidity ^0.8.0; abstract contract Ownable is Context { address private _owner; event OwnershipTransferred( address indexed previousOwner, address indexed newOwner ); constructor() { _setOwner(_msgSender()); } function owner() public view virtual returns (address) { return _owner; } modifier onlyOwner() { require(owner() == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { _setOwner(address(0)); } function transferOwnership(address newOwner) public virtual onlyOwner { require( newOwner != address(0), "Ownable: new owner is the zero address" ); _setOwner(newOwner); } function _setOwner(address newOwner) private { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } } // OpenZeppelin Contracts v4.4.1 (utils/Strings.sol) pragma solidity ^0.8.0; library Strings { bytes16 private constant _HEX_SYMBOLS = "0123456789abcdef"; function toString(uint256 value) internal pure returns (string memory) { // https://github.com/oraclize/ethereum-api/blob/b42146b063c7d6ee1358846c198246239e9360e8/oraclizeAPI_0.4.25.sol if (value == 0) { return "0"; } uint256 temp = value; uint256 digits; while (temp != 0) { digits++; temp /= 10; } bytes memory buffer = new bytes(digits); while (value != 0) { digits -= 1; buffer[digits] = bytes1(uint8(48 + uint256(value % 10))); value /= 10; } return string(buffer); } function toHexString(uint256 value) internal pure returns (string memory) { if (value == 0) { return "0x00"; } uint256 temp = value; uint256 length = 0; while (temp != 0) { length++; temp >>= 8; } return toHexString(value, length); } function toHexString(uint256 value, uint256 length) internal pure returns (string memory) { bytes memory buffer = new bytes(2 * length + 2); buffer[0] = "0"; buffer[1] = "x"; for (uint256 i = 2 * length + 1; i > 1; --i) { buffer[i] = _HEX_SYMBOLS[value & 0xf]; value >>= 4; } require(value == 0, "Strings: hex length insufficient"); return string(buffer); } } // OpenZeppelin Contracts v4.4.1 (utils/introspection/ERC165.sol) pragma solidity ^0.8.0; abstract contract ERC165 is IERC165 { function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) { return interfaceId == type(IERC165).interfaceId; } } pragma solidity ^0.8.0; abstract contract ReentrancyGuard { // word because each write operation emits an extra SLOAD to first read the // back. This is the compiler's defense against contract upgrades and // but in exchange the refund on every call to nonReentrant will be lower in // transaction's gas, it is best to keep them low in cases like this one, to uint256 private constant _NOT_ENTERED = 1; uint256 private constant _ENTERED = 2; uint256 private _status; constructor() { _status = _NOT_ENTERED; } modifier nonReentrant() { require(_status != _ENTERED, "ReentrancyGuard: reentrant call"); _status = _ENTERED; _; // https://eips.ethereum.org/EIPS/eip-2200) _status = _NOT_ENTERED; } } pragma solidity ^0.8.0; contract ERC721A is Context, ERC165, IERC721, IERC721Metadata, IERC721Enumerable { using Address for address; using Strings for uint256; struct TokenOwnership { address addr; uint64 startTimestamp; } struct AddressData { uint128 balance; uint128 numberMinted; } uint256 private currentIndex = 0; uint256 internal immutable collectionSize; uint256 internal immutable maxBatchSize; string private _name; string private _symbol; // An empty struct value does not necessarily mean the token is unowned. See ownershipOf implementation for details. mapping(uint256 => TokenOwnership) private _ownerships; mapping(address => AddressData) private _addressData; mapping(uint256 => address) private _tokenApprovals; mapping(address => mapping(address => bool)) private _operatorApprovals; constructor( string memory name_, string memory symbol_, uint256 maxBatchSize_, uint256 collectionSize_ ) { require( collectionSize_ > 0, "ERC721A: collection must have a nonzero supply" ); require(maxBatchSize_ > 0, "ERC721A: max batch size must be nonzero"); _name = name_; _symbol = symbol_; maxBatchSize = maxBatchSize_; collectionSize = collectionSize_; } function totalSupply() public view override returns (uint256) { return currentIndex; } function tokenByIndex(uint256 index) public view override returns (uint256) { require(index < totalSupply(), "ERC721A: global index out of bounds"); return index; } function tokenOfOwnerByIndex(address owner, uint256 index) public view override returns (uint256) { require(index < balanceOf(owner), "ERC721A: owner index out of bounds"); uint256 numMintedSoFar = totalSupply(); uint256 tokenIdsIdx = 0; address currOwnershipAddr = address(0); for (uint256 i = 0; i < numMintedSoFar; i++) { TokenOwnership memory ownership = _ownerships[i]; if (ownership.addr != address(0)) { currOwnershipAddr = ownership.addr; } if (currOwnershipAddr == owner) { if (tokenIdsIdx == index) { return i; } tokenIdsIdx++; } } revert("ERC721A: unable to get token of owner by index"); } function supportsInterface(bytes4 interfaceId) public view virtual override(ERC165, IERC165) returns (bool) { return interfaceId == type(IERC721).interfaceId || interfaceId == type(IERC721Metadata).interfaceId || interfaceId == type(IERC721Enumerable).interfaceId || super.supportsInterface(interfaceId); } function balanceOf(address owner) public view override returns (uint256) { require( owner != address(0), "ERC721A: balance query for the zero address" ); return uint256(_addressData[owner].balance); } function _numberMinted(address owner) internal view returns (uint256) { require( owner != address(0), "ERC721A: number minted query for the zero address" ); return uint256(_addressData[owner].numberMinted); } function ownershipOf(uint256 tokenId) internal view returns (TokenOwnership memory) { require(_exists(tokenId), "ERC721A: owner query for nonexistent token"); uint256 lowestTokenToCheck; if (tokenId >= maxBatchSize) { lowestTokenToCheck = tokenId - maxBatchSize + 1; } for (uint256 curr = tokenId; curr >= lowestTokenToCheck; curr--) { TokenOwnership memory ownership = _ownerships[curr]; if (ownership.addr != address(0)) { return ownership; } } revert("ERC721A: unable to determine the owner of token"); } function ownerOf(uint256 tokenId) public view override returns (address) { return ownershipOf(tokenId).addr; } function name() public view virtual override returns (string memory) { return _name; } function symbol() public view virtual override returns (string memory) { return _symbol; } function tokenURI(uint256 tokenId) public view virtual override returns (string memory) { require( _exists(tokenId), "ERC721Metadata: URI query for nonexistent token" ); string memory baseURI = _baseURI(); return bytes(baseURI).length > 0 ? string(abi.encodePacked(baseURI, tokenId.toString())) : ""; } function _baseURI() internal view virtual returns (string memory) { return ""; } function approve(address to, uint256 tokenId) public override { address owner = ERC721A.ownerOf(tokenId); require(to != owner, "ERC721A: approval to current owner"); require( _msgSender() == owner || isApprovedForAll(owner, _msgSender()), "ERC721A: approve caller is not owner nor approved for all" ); _approve(to, tokenId, owner); } function getApproved(uint256 tokenId) public view override returns (address) { require( _exists(tokenId), "ERC721A: approved query for nonexistent token" ); return _tokenApprovals[tokenId]; } function setApprovalForAll(address operator, bool approved) public override { require(operator != _msgSender(), "ERC721A: approve to caller"); _operatorApprovals[_msgSender()][operator] = approved; emit ApprovalForAll(_msgSender(), operator, approved); } function isApprovedForAll(address owner, address operator) public view virtual override returns (bool) { return _operatorApprovals[owner][operator]; } function transferFrom( address from, address to, uint256 tokenId ) public override { _transfer(from, to, tokenId); } function safeTransferFrom( address from, address to, uint256 tokenId ) public override { safeTransferFrom(from, to, tokenId, ""); } function safeTransferFrom( address from, address to, uint256 tokenId, bytes memory _data ) public override { _transfer(from, to, tokenId); require( _checkOnERC721Received(from, to, tokenId, _data), "ERC721A: transfer to non ERC721Receiver implementer" ); } function _exists(uint256 tokenId) internal view returns (bool) { return tokenId < currentIndex; } function _safeMint(address to, uint256 quantity) internal { _safeMint(to, quantity, ""); } function _safeMint( address to, uint256 quantity, bytes memory _data ) internal { uint256 startTokenId = currentIndex; require(to != address(0), "ERC721A: mint to the zero address"); require(!_exists(startTokenId), "ERC721A: token already minted"); require(quantity <= maxBatchSize, "ERC721A: quantity to mint too high"); _beforeTokenTransfers(address(0), to, startTokenId, quantity); AddressData memory addressData = _addressData[to]; _addressData[to] = AddressData( addressData.balance + uint128(quantity), addressData.numberMinted + uint128(quantity) ); _ownerships[startTokenId] = TokenOwnership(to, uint64(block.timestamp)); uint256 updatedIndex = startTokenId; for (uint256 i = 0; i < quantity; i++) { emit Transfer(address(0), to, updatedIndex); require( _checkOnERC721Received(address(0), to, updatedIndex, _data), "ERC721A: transfer to non ERC721Receiver implementer" ); updatedIndex++; } currentIndex = updatedIndex; _afterTokenTransfers(address(0), to, startTokenId, quantity); } function _transfer( address from, address to, uint256 tokenId ) private { TokenOwnership memory prevOwnership = ownershipOf(tokenId); bool isApprovedOrOwner = (_msgSender() == prevOwnership.addr || getApproved(tokenId) == _msgSender() || isApprovedForAll(prevOwnership.addr, _msgSender())); require( isApprovedOrOwner, "ERC721A: transfer caller is not owner nor approved" ); require( prevOwnership.addr == from, "ERC721A: transfer from incorrect owner" ); require(to != address(0), "ERC721A: transfer to the zero address"); _beforeTokenTransfers(from, to, tokenId, 1); _approve(address(0), tokenId, prevOwnership.addr); _addressData[from].balance -= 1; _addressData[to].balance += 1; _ownerships[tokenId] = TokenOwnership(to, uint64(block.timestamp)); // Set the slot of tokenId+1 explicitly in storage to maintain correctness for ownerOf(tokenId+1) calls. uint256 nextTokenId = tokenId + 1; if (_ownerships[nextTokenId].addr == address(0)) { if (_exists(nextTokenId)) { _ownerships[nextTokenId] = TokenOwnership( prevOwnership.addr, prevOwnership.startTimestamp ); } } emit Transfer(from, to, tokenId); _afterTokenTransfers(from, to, tokenId, 1); } function _approve( address to, uint256 tokenId, address owner ) private { _tokenApprovals[tokenId] = to; emit Approval(owner, to, tokenId); } uint256 public nextOwnerToExplicitlySet = 0; function _setOwnersExplicit(uint256 quantity) internal { uint256 oldNextOwnerToSet = nextOwnerToExplicitlySet; require(quantity > 0, "quantity must be nonzero"); uint256 endIndex = oldNextOwnerToSet + quantity - 1; if (endIndex > collectionSize - 1) { endIndex = collectionSize - 1; } require(_exists(endIndex), "not enough minted yet for this cleanup"); for (uint256 i = oldNextOwnerToSet; i <= endIndex; i++) { if (_ownerships[i].addr == address(0)) { TokenOwnership memory ownership = ownershipOf(i); _ownerships[i] = TokenOwnership( ownership.addr, ownership.startTimestamp ); } } nextOwnerToExplicitlySet = endIndex + 1; } function _checkOnERC721Received( address from, address to, uint256 tokenId, bytes memory _data ) private returns (bool) { if (to.isContract()) { try IERC721Receiver(to).onERC721Received( _msgSender(), from, tokenId, _data ) returns (bytes4 retval) { return retval == IERC721Receiver(to).onERC721Received.selector; } catch (bytes memory reason) { if (reason.length == 0) { revert( "ERC721A: transfer to non ERC721Receiver implementer" ); } else { assembly { revert(add(32, reason), mload(reason)) } } } } else { return true; } } function _beforeTokenTransfers( address from, address to, uint256 startTokenId, uint256 quantity ) internal virtual {} function _afterTokenTransfers( address from, address to, uint256 startTokenId, uint256 quantity ) internal virtual {} } pragma solidity ^0.8.0; contract TheCelebrities is Ownable, ERC721A, ReentrancyGuard { bool public claimActive = false; bool public revealed = false; uint256 public maxToken = 5000; string private _baseTokenURI = "ipfs://revealed/"; string public notRevealedUri = "ipfs://notrevealed/"; mapping(address => bool) public isClaimed; bytes32 root; constructor(string memory _NAME, string memory _SYMBOL) ERC721A(_NAME, _SYMBOL, 250, maxToken){ } modifier callerIsUser() { require(tx.origin == msg.sender, "CONTRACT_CANNOT_CALL_THIS"); _; } function numberMinted(address owner) public view returns (uint256) { return _numberMinted(owner); } function getOwnershipData(uint256 tokenId) external view returns (TokenOwnership memory) { return ownershipOf(tokenId); } function tokenURI(uint256 tokenId) public view virtual override returns (string memory) { require(_exists(tokenId), "ERC721Metadata: URI query for nonexistent token"); if (revealed == false) { return notRevealedUri; } string memory _tokenURI = super.tokenURI(tokenId); return bytes(_tokenURI).length > 0 ? string(abi.encodePacked(_tokenURI, ".json")) : ""; } function _leafFromAddressAndNumTokens(address _a, uint256 _n) private pure returns (bytes32){ return keccak256(abi.encodePacked(_a, _n)); } function _checkProof(bytes32[] calldata proof, bytes32 _hash) private view returns (bool) { bytes32 el; bytes32 h = _hash; for (uint256 i = 0; i < proof.length; i += 1) { el = proof[i]; if (h < el) { h = keccak256(abi.encodePacked(h, el)); } else { h = keccak256(abi.encodePacked(el, h)); } } return h == root; } function mint(uint256 _quantity, bytes32[] calldata _proof) external payable callerIsUser { require(claimActive, "CLAIM_NOT_YET_ACTIVE"); require(isClaimed[msg.sender] != true, "CLAIMED_ALREADY"); require(_quantity > 0, "INVALID_QUANTITY"); require(_checkProof(_proof, _leafFromAddressAndNumTokens(msg.sender, _quantity)), "WRONG_PROOF"); isClaimed[msg.sender] = true; _safeMint(msg.sender, _quantity); } function teamAllocationMint(address _address, uint256 quantity) external onlyOwner { require(totalSupply() + quantity <= maxToken, "NOT_ENOUGH_SUPPLY_TO_GIVEAWAY_DESIRED_AMOUNT"); _safeMint(_address, quantity); } function _baseURI() internal view virtual override returns (string memory) { return _baseTokenURI; } function setRoot(bytes32 _root) external onlyOwner { root = _root; } function setBaseURI(string calldata baseURI) external onlyOwner { _baseTokenURI = baseURI; } function setNotRevealedURI(string memory _notRevealedURI) external onlyOwner { notRevealedUri = _notRevealedURI; } function reveal() external onlyOwner { revealed = !revealed; } function flipClaim() external onlyOwner { claimActive = !claimActive; } function withdraw() external onlyOwner { payable(msg.sender).transfer(address(this).balance); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"string","name":"_NAME","type":"string"},{"internalType":"string","name":"_SYMBOL","type":"string"}],"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":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":[{"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":"claimActive","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"flipClaim","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"getApproved","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"getOwnershipData","outputs":[{"components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"uint64","name":"startTimestamp","type":"uint64"}],"internalType":"struct ERC721A.TokenOwnership","name":"","type":"tuple"}],"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":"address","name":"","type":"address"}],"name":"isClaimed","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_quantity","type":"uint256"},{"internalType":"bytes32[]","name":"_proof","type":"bytes32[]"}],"name":"mint","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"nextOwnerToExplicitlySet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"notRevealedUri","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"numberMinted","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"reveal","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"revealed","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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":"baseURI","type":"string"}],"name":"setBaseURI","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"_notRevealedURI","type":"string"}],"name":"setNotRevealedURI","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_root","type":"bytes32"}],"name":"setRoot","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":"address","name":"_address","type":"address"},{"internalType":"uint256","name":"quantity","type":"uint256"}],"name":"teamAllocationMint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"name":"tokenByIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"index","type":"uint256"}],"name":"tokenOfOwnerByIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
60c0604052600060015560006008556000600a60006101000a81548160ff0219169083151502179055506000600a60016101000a81548160ff021916908315150217905550611388600b556040518060400160405280601081526020017f697066733a2f2f72657665616c65642f00000000000000000000000000000000815250600c908051906020019062000097929190620002ee565b506040518060400160405280601381526020017f697066733a2f2f6e6f7472657665616c65642f00000000000000000000000000815250600d9080519060200190620000e5929190620002ee565b50348015620000f357600080fd5b506040516200576f3803806200576f833981810160405281019062000119919062000410565b818160fa600b5462000140620001346200022260201b60201c565b6200022a60201b60201c565b6000811162000186576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200017d90620004f3565b60405180910390fd5b60008211620001cc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620001c390620004d1565b60405180910390fd5b8360029080519060200190620001e4929190620002ee565b508260039080519060200190620001fd929190620002ee565b508160a081815250508060808181525050505050506001600981905550505062000734565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b828054620002fc90620005bb565b90600052602060002090601f0160209004810192826200032057600085556200036c565b82601f106200033b57805160ff19168380011785556200036c565b828001600101855582156200036c579182015b828111156200036b5782518255916020019190600101906200034e565b5b5090506200037b91906200037f565b5090565b5b808211156200039a57600081600090555060010162000380565b5090565b6000620003b5620003af846200053e565b62000515565b905082815260208101848484011115620003ce57600080fd5b620003db84828562000585565b509392505050565b600082601f830112620003f557600080fd5b8151620004078482602086016200039e565b91505092915050565b600080604083850312156200042457600080fd5b600083015167ffffffffffffffff8111156200043f57600080fd5b6200044d85828601620003e3565b925050602083015167ffffffffffffffff8111156200046b57600080fd5b6200047985828601620003e3565b9150509250929050565b60006200049260278362000574565b91506200049f8262000696565b604082019050919050565b6000620004b9602e8362000574565b9150620004c682620006e5565b604082019050919050565b60006020820190508181036000830152620004ec8162000483565b9050919050565b600060208201905081810360008301526200050e81620004aa565b9050919050565b60006200052162000534565b90506200052f8282620005f1565b919050565b6000604051905090565b600067ffffffffffffffff8211156200055c576200055b62000656565b5b620005678262000685565b9050602081019050919050565b600082825260208201905092915050565b60005b83811015620005a557808201518184015260208101905062000588565b83811115620005b5576000848401525b50505050565b60006002820490506001821680620005d457607f821691505b60208210811415620005eb57620005ea62000627565b5b50919050565b620005fc8262000685565b810181811067ffffffffffffffff821117156200061e576200061d62000656565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b7f455243373231413a206d61782062617463682073697a65206d7573742062652060008201527f6e6f6e7a65726f00000000000000000000000000000000000000000000000000602082015250565b7f455243373231413a20636f6c6c656374696f6e206d757374206861766520612060008201527f6e6f6e7a65726f20737570706c79000000000000000000000000000000000000602082015250565b60805160a05161500a6200076560003960008181612493015281816124bc0152612c0301526000505061500a6000f3fe6080604052600436106102045760003560e01c8063715018a611610118578063c87b56dd116100a0578063dab5f3401161006f578063dab5f34014610748578063dc33e68114610771578063e985e9c5146107ae578063f2c4ce1e146107eb578063f2fde38b1461081457610204565b8063c87b56dd1461068a578063ca69e323146106c7578063d4a6a2fd146106f2578063d7224ba01461071d57610204565b806395d89b41116100e757806395d89b41146105da578063a22cb46514610605578063a475b5dd1461062e578063b88d4fde14610645578063ba41b0c61461066e57610204565b8063715018a61461051e5780638cc08025146105355780638da5cb5b146105725780639231ab2a1461059d57610204565b80632f745c591161019b578063518302271161016a578063518302271461043957806355f804b3146104645780635e0bd4ee1461048d5780636352211e146104a457806370a08231146104e157610204565b80632f745c591461037f5780633ccfd60b146103bc57806342842e0e146103d35780634f6ccce7146103fc57610204565b8063095ea7b3116101d7578063095ea7b3146102d95780630aada2781461030257806318160ddd1461032b57806323b872dd1461035657610204565b806301ffc9a71461020957806306fdde0314610246578063081812fc14610271578063081c8c44146102ae575b600080fd5b34801561021557600080fd5b50610230600480360381019061022b91906137a4565b61083d565b60405161023d9190613f38565b60405180910390f35b34801561025257600080fd5b5061025b610987565b6040516102689190613f53565b60405180910390f35b34801561027d57600080fd5b506102986004803603810190610293919061387c565b610a19565b6040516102a59190613ed1565b60405180910390f35b3480156102ba57600080fd5b506102c3610a9e565b6040516102d09190613f53565b60405180910390f35b3480156102e557600080fd5b5061030060048036038101906102fb919061373f565b610b2c565b005b34801561030e57600080fd5b506103296004803603810190610324919061373f565b610c45565b005b34801561033757600080fd5b50610340610d26565b60405161034d91906142f0565b60405180910390f35b34801561036257600080fd5b5061037d60048036038101906103789190613639565b610d30565b005b34801561038b57600080fd5b506103a660048036038101906103a1919061373f565b610d40565b6040516103b391906142f0565b60405180910390f35b3480156103c857600080fd5b506103d1610f3e565b005b3480156103df57600080fd5b506103fa60048036038101906103f59190613639565b611003565b005b34801561040857600080fd5b50610423600480360381019061041e919061387c565b611023565b60405161043091906142f0565b60405180910390f35b34801561044557600080fd5b5061044e611076565b60405161045b9190613f38565b60405180910390f35b34801561047057600080fd5b5061048b600480360381019061048691906137f6565b611089565b005b34801561049957600080fd5b506104a261111b565b005b3480156104b057600080fd5b506104cb60048036038101906104c6919061387c565b6111c3565b6040516104d89190613ed1565b60405180910390f35b3480156104ed57600080fd5b50610508600480360381019061050391906135d4565b6111d9565b60405161051591906142f0565b60405180910390f35b34801561052a57600080fd5b506105336112c2565b005b34801561054157600080fd5b5061055c600480360381019061055791906135d4565b61134a565b6040516105699190613f38565b60405180910390f35b34801561057e57600080fd5b5061058761136a565b6040516105949190613ed1565b60405180910390f35b3480156105a957600080fd5b506105c460048036038101906105bf919061387c565b611393565b6040516105d191906142d5565b60405180910390f35b3480156105e657600080fd5b506105ef6113ab565b6040516105fc9190613f53565b60405180910390f35b34801561061157600080fd5b5061062c60048036038101906106279190613703565b61143d565b005b34801561063a57600080fd5b506106436115be565b005b34801561065157600080fd5b5061066c60048036038101906106679190613688565b611666565b005b610688600480360381019061068391906138a5565b6116c2565b005b34801561069657600080fd5b506106b160048036038101906106ac919061387c565b611910565b6040516106be9190613f53565b60405180910390f35b3480156106d357600080fd5b506106dc611a5d565b6040516106e991906142f0565b60405180910390f35b3480156106fe57600080fd5b50610707611a63565b6040516107149190613f38565b60405180910390f35b34801561072957600080fd5b50610732611a76565b60405161073f91906142f0565b60405180910390f35b34801561075457600080fd5b5061076f600480360381019061076a919061377b565b611a7c565b005b34801561077d57600080fd5b50610798600480360381019061079391906135d4565b611b02565b6040516107a591906142f0565b60405180910390f35b3480156107ba57600080fd5b506107d560048036038101906107d091906135fd565b611b14565b6040516107e29190613f38565b60405180910390f35b3480156107f757600080fd5b50610812600480360381019061080d919061383b565b611ba8565b005b34801561082057600080fd5b5061083b600480360381019061083691906135d4565b611c3e565b005b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061090857507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b8061097057507f780e9d63000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80610980575061097f82611d36565b5b9050919050565b60606002805461099690614624565b80601f01602080910402602001604051908101604052809291908181526020018280546109c290614624565b8015610a0f5780601f106109e457610100808354040283529160200191610a0f565b820191906000526020600020905b8154815290600101906020018083116109f257829003601f168201915b5050505050905090565b6000610a2482611da0565b610a63576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a5a90614275565b60405180910390fd5b6006600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b600d8054610aab90614624565b80601f0160208091040260200160405190810160405280929190818152602001828054610ad790614624565b8015610b245780601f10610af957610100808354040283529160200191610b24565b820191906000526020600020905b815481529060010190602001808311610b0757829003601f168201915b505050505081565b6000610b37826111c3565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610ba8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b9f90614175565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16610bc7611dae565b73ffffffffffffffffffffffffffffffffffffffff161480610bf65750610bf581610bf0611dae565b611b14565b5b610c35576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c2c90614055565b60405180910390fd5b610c40838383611db6565b505050565b610c4d611dae565b73ffffffffffffffffffffffffffffffffffffffff16610c6b61136a565b73ffffffffffffffffffffffffffffffffffffffff1614610cc1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cb8906140d5565b60405180910390fd5b600b5481610ccd610d26565b610cd7919061441b565b1115610d18576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d0f906141f5565b60405180910390fd5b610d228282611e68565b5050565b6000600154905090565b610d3b838383611e86565b505050565b6000610d4b836111d9565b8210610d8c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d8390613f75565b60405180910390fd5b6000610d96610d26565b905060008060005b83811015610efc576000600460008381526020019081526020016000206040518060400160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016000820160149054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff16815250509050600073ffffffffffffffffffffffffffffffffffffffff16816000015173ffffffffffffffffffffffffffffffffffffffff1614610e9057806000015192505b8773ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610ee85786841415610ed9578195505050505050610f38565b8380610ee490614687565b9450505b508080610ef490614687565b915050610d9e565b506040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f2f90614235565b60405180910390fd5b92915050565b610f46611dae565b73ffffffffffffffffffffffffffffffffffffffff16610f6461136a565b73ffffffffffffffffffffffffffffffffffffffff1614610fba576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fb1906140d5565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f19350505050158015611000573d6000803e3d6000fd5b50565b61101e83838360405180602001604052806000815250611666565b505050565b600061102d610d26565b821061106e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161106590613fd5565b60405180910390fd5b819050919050565b600a60019054906101000a900460ff1681565b611091611dae565b73ffffffffffffffffffffffffffffffffffffffff166110af61136a565b73ffffffffffffffffffffffffffffffffffffffff1614611105576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110fc906140d5565b60405180910390fd5b8181600c919061111692919061328f565b505050565b611123611dae565b73ffffffffffffffffffffffffffffffffffffffff1661114161136a565b73ffffffffffffffffffffffffffffffffffffffff1614611197576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161118e906140d5565b60405180910390fd5b600a60009054906101000a900460ff1615600a60006101000a81548160ff021916908315150217905550565b60006111ce8261243f565b600001519050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561124a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161124190614095565b60405180910390fd5b600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff169050919050565b6112ca611dae565b73ffffffffffffffffffffffffffffffffffffffff166112e861136a565b73ffffffffffffffffffffffffffffffffffffffff161461133e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611335906140d5565b60405180910390fd5b6113486000612642565b565b600e6020528060005260406000206000915054906101000a900460ff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b61139b613315565b6113a48261243f565b9050919050565b6060600380546113ba90614624565b80601f01602080910402602001604051908101604052809291908181526020018280546113e690614624565b80156114335780601f1061140857610100808354040283529160200191611433565b820191906000526020600020905b81548152906001019060200180831161141657829003601f168201915b5050505050905090565b611445611dae565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156114b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114aa90614115565b60405180910390fd5b80600760006114c0611dae565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff1661156d611dae565b73ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31836040516115b29190613f38565b60405180910390a35050565b6115c6611dae565b73ffffffffffffffffffffffffffffffffffffffff166115e461136a565b73ffffffffffffffffffffffffffffffffffffffff161461163a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611631906140d5565b60405180910390fd5b600a60019054906101000a900460ff1615600a60016101000a81548160ff021916908315150217905550565b611671848484611e86565b61167d84848484612706565b6116bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116b390614195565b60405180910390fd5b50505050565b3373ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff1614611730576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161172790614035565b60405180910390fd5b600a60009054906101000a900460ff1661177f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611776906142b5565b60405180910390fd5b60011515600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151415611813576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161180a90614155565b60405180910390fd5b60008311611856576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161184d90614215565b60405180910390fd5b61186a8282611865338761289d565b6128d0565b6118a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118a090614075565b60405180910390fd5b6001600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555061190b3384611e68565b505050565b606061191b82611da0565b61195a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611951906140f5565b60405180910390fd5b60001515600a60019054906101000a900460ff1615151415611a0857600d805461198390614624565b80601f01602080910402602001604051908101604052809291908181526020018280546119af90614624565b80156119fc5780601f106119d1576101008083540402835291602001916119fc565b820191906000526020600020905b8154815290600101906020018083116119df57829003601f168201915b50505050509050611a58565b6000611a13836129b1565b90506000815111611a335760405180602001604052806000815250611a54565b80604051602001611a449190613eaf565b6040516020818303038152906040525b9150505b919050565b600b5481565b600a60009054906101000a900460ff1681565b60085481565b611a84611dae565b73ffffffffffffffffffffffffffffffffffffffff16611aa261136a565b73ffffffffffffffffffffffffffffffffffffffff1614611af8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611aef906140d5565b60405180910390fd5b80600f8190555050565b6000611b0d82612a58565b9050919050565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b611bb0611dae565b73ffffffffffffffffffffffffffffffffffffffff16611bce61136a565b73ffffffffffffffffffffffffffffffffffffffff1614611c24576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c1b906140d5565b60405180910390fd5b80600d9080519060200190611c3a92919061334f565b5050565b611c46611dae565b73ffffffffffffffffffffffffffffffffffffffff16611c6461136a565b73ffffffffffffffffffffffffffffffffffffffff1614611cba576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cb1906140d5565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611d2a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d2190613f95565b60405180910390fd5b611d3381612642565b50565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b600060015482109050919050565b600033905090565b826006600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550818373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a4505050565b611e82828260405180602001604052806000815250612b41565b5050565b6000611e918261243f565b90506000816000015173ffffffffffffffffffffffffffffffffffffffff16611eb8611dae565b73ffffffffffffffffffffffffffffffffffffffff161480611f145750611edd611dae565b73ffffffffffffffffffffffffffffffffffffffff16611efc84610a19565b73ffffffffffffffffffffffffffffffffffffffff16145b80611f305750611f2f8260000151611f2a611dae565b611b14565b5b905080611f72576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f6990614135565b60405180910390fd5b8473ffffffffffffffffffffffffffffffffffffffff16826000015173ffffffffffffffffffffffffffffffffffffffff1614611fe4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fdb906140b5565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415612054576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161204b90613ff5565b60405180910390fd5b6120618585856001613021565b6120716000848460000151611db6565b6001600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160008282829054906101000a90046fffffffffffffffffffffffffffffffff166120df91906144a2565b92506101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055506001600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160008282829054906101000a90046fffffffffffffffffffffffffffffffff1661218391906143d5565b92506101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555060405180604001604052808573ffffffffffffffffffffffffffffffffffffffff1681526020014267ffffffffffffffff168152506004600085815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160000160146101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055509050506000600184612289919061441b565b9050600073ffffffffffffffffffffffffffffffffffffffff166004600083815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156123cf576122ff81611da0565b156123ce576040518060400160405280846000015173ffffffffffffffffffffffffffffffffffffffff168152602001846020015167ffffffffffffffff168152506004600083815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160000160146101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055509050505b5b838573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a46124378686866001613027565b505050505050565b612447613315565b61245082611da0565b61248f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161248690613fb5565b60405180910390fd5b60007f000000000000000000000000000000000000000000000000000000000000000083106124f35760017f0000000000000000000000000000000000000000000000000000000000000000846124e691906144d6565b6124f0919061441b565b90505b60008390505b818110612601576000600460008381526020019081526020016000206040518060400160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016000820160149054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff16815250509050600073ffffffffffffffffffffffffffffffffffffffff16816000015173ffffffffffffffffffffffffffffffffffffffff16146125ed5780935050505061263d565b5080806125f9906145fa565b9150506124f9565b506040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161263490614255565b60405180910390fd5b919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60006127278473ffffffffffffffffffffffffffffffffffffffff1661302d565b15612890578373ffffffffffffffffffffffffffffffffffffffff1663150b7a02612750611dae565b8786866040518563ffffffff1660e01b81526004016127729493929190613eec565b602060405180830381600087803b15801561278c57600080fd5b505af19250505080156127bd57506040513d601f19601f820116820180604052508101906127ba91906137cd565b60015b612840573d80600081146127ed576040519150601f19603f3d011682016040523d82523d6000602084013e6127f2565b606091505b50600081511415612838576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161282f90614195565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050612895565b600190505b949350505050565b600082826040516020016128b2929190613e33565b60405160208183030381529060405280519060200120905092915050565b600080600083905060005b868690508110156129a05786868281811061291f577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90506020020135925082821015612960578183604051602001612943929190613e5f565b60405160208183030381529060405280519060200120915061298c565b8282604051602001612973929190613e5f565b6040516020818303038152906040528051906020012091505b600181612999919061441b565b90506128db565b50600f548114925050509392505050565b60606129bc82611da0565b6129fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129f2906140f5565b60405180910390fd5b6000612a05613050565b90506000815111612a255760405180602001604052806000815250612a50565b80612a2f846130e2565b604051602001612a40929190613e8b565b6040516020818303038152906040525b915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612ac9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ac090614015565b60405180910390fd5b600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160109054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff169050919050565b60006001549050600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415612bb8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612baf906141d5565b60405180910390fd5b612bc181611da0565b15612c01576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612bf8906141b5565b60405180910390fd5b7f0000000000000000000000000000000000000000000000000000000000000000831115612c64576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c5b90614295565b60405180910390fd5b612c716000858386613021565b6000600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060400160405290816000820160009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff1681526020016000820160109054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff168152505090506040518060400160405280858360000151612d6e91906143d5565b6fffffffffffffffffffffffffffffffff168152602001858360200151612d9591906143d5565b6fffffffffffffffffffffffffffffffff16815250600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555060208201518160000160106101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555090505060405180604001604052808673ffffffffffffffffffffffffffffffffffffffff1681526020014267ffffffffffffffff168152506004600084815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160000160146101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550905050600082905060005b8581101561300457818773ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4612fa46000888488612706565b612fe3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612fda90614195565b60405180910390fd5b8180612fee90614687565b9250508080612ffc90614687565b915050612f33565b50806001819055506130196000878588613027565b505050505050565b50505050565b50505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b6060600c805461305f90614624565b80601f016020809104026020016040519081016040528092919081815260200182805461308b90614624565b80156130d85780601f106130ad576101008083540402835291602001916130d8565b820191906000526020600020905b8154815290600101906020018083116130bb57829003601f168201915b5050505050905090565b6060600082141561312a576040518060400160405280600181526020017f3000000000000000000000000000000000000000000000000000000000000000815250905061328a565b600082905060005b6000821461315c57808061314590614687565b915050600a826131559190614471565b9150613132565b60008167ffffffffffffffff81111561319e577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280601f01601f1916602001820160405280156131d05781602001600182028036833780820191505090505b5090505b60008514613283576001826131e991906144d6565b9150600a856131f89190614708565b6030613204919061441b565b60f81b818381518110613240577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a8561327c9190614471565b94506131d4565b8093505050505b919050565b82805461329b90614624565b90600052602060002090601f0160209004810192826132bd5760008555613304565b82601f106132d657803560ff1916838001178555613304565b82800160010185558215613304579182015b828111156133035782358255916020019190600101906132e8565b5b50905061331191906133d5565b5090565b6040518060400160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600067ffffffffffffffff1681525090565b82805461335b90614624565b90600052602060002090601f01602090048101928261337d57600085556133c4565b82601f1061339657805160ff19168380011785556133c4565b828001600101855582156133c4579182015b828111156133c35782518255916020019190600101906133a8565b5b5090506133d191906133d5565b5090565b5b808211156133ee5760008160009055506001016133d6565b5090565b600061340561340084614330565b61430b565b90508281526020810184848401111561341d57600080fd5b6134288482856145b8565b509392505050565b600061344361343e84614361565b61430b565b90508281526020810184848401111561345b57600080fd5b6134668482856145b8565b509392505050565b60008135905061347d81614f61565b92915050565b60008083601f84011261349557600080fd5b8235905067ffffffffffffffff8111156134ae57600080fd5b6020830191508360208202830111156134c657600080fd5b9250929050565b6000813590506134dc81614f78565b92915050565b6000813590506134f181614f8f565b92915050565b60008135905061350681614fa6565b92915050565b60008151905061351b81614fa6565b92915050565b600082601f83011261353257600080fd5b81356135428482602086016133f2565b91505092915050565b60008083601f84011261355d57600080fd5b8235905067ffffffffffffffff81111561357657600080fd5b60208301915083600182028301111561358e57600080fd5b9250929050565b600082601f8301126135a657600080fd5b81356135b6848260208601613430565b91505092915050565b6000813590506135ce81614fbd565b92915050565b6000602082840312156135e657600080fd5b60006135f48482850161346e565b91505092915050565b6000806040838503121561361057600080fd5b600061361e8582860161346e565b925050602061362f8582860161346e565b9150509250929050565b60008060006060848603121561364e57600080fd5b600061365c8682870161346e565b935050602061366d8682870161346e565b925050604061367e868287016135bf565b9150509250925092565b6000806000806080858703121561369e57600080fd5b60006136ac8782880161346e565b94505060206136bd8782880161346e565b93505060406136ce878288016135bf565b925050606085013567ffffffffffffffff8111156136eb57600080fd5b6136f787828801613521565b91505092959194509250565b6000806040838503121561371657600080fd5b60006137248582860161346e565b9250506020613735858286016134cd565b9150509250929050565b6000806040838503121561375257600080fd5b60006137608582860161346e565b9250506020613771858286016135bf565b9150509250929050565b60006020828403121561378d57600080fd5b600061379b848285016134e2565b91505092915050565b6000602082840312156137b657600080fd5b60006137c4848285016134f7565b91505092915050565b6000602082840312156137df57600080fd5b60006137ed8482850161350c565b91505092915050565b6000806020838503121561380957600080fd5b600083013567ffffffffffffffff81111561382357600080fd5b61382f8582860161354b565b92509250509250929050565b60006020828403121561384d57600080fd5b600082013567ffffffffffffffff81111561386757600080fd5b61387384828501613595565b91505092915050565b60006020828403121561388e57600080fd5b600061389c848285016135bf565b91505092915050565b6000806000604084860312156138ba57600080fd5b60006138c8868287016135bf565b935050602084013567ffffffffffffffff8111156138e557600080fd5b6138f186828701613483565b92509250509250925092565b6139068161450a565b82525050565b6139158161450a565b82525050565b61392c6139278261450a565b6146d0565b82525050565b61393b8161451c565b82525050565b61395261394d82614528565b6146e2565b82525050565b600061396382614392565b61396d81856143a8565b935061397d8185602086016145c7565b613986816147f5565b840191505092915050565b600061399c8261439d565b6139a681856143b9565b93506139b68185602086016145c7565b6139bf816147f5565b840191505092915050565b60006139d58261439d565b6139df81856143ca565b93506139ef8185602086016145c7565b80840191505092915050565b6000613a086022836143b9565b9150613a1382614813565b604082019050919050565b6000613a2b6026836143b9565b9150613a3682614862565b604082019050919050565b6000613a4e602a836143b9565b9150613a59826148b1565b604082019050919050565b6000613a716023836143b9565b9150613a7c82614900565b604082019050919050565b6000613a946025836143b9565b9150613a9f8261494f565b604082019050919050565b6000613ab76031836143b9565b9150613ac28261499e565b604082019050919050565b6000613ada6019836143b9565b9150613ae5826149ed565b602082019050919050565b6000613afd6039836143b9565b9150613b0882614a16565b604082019050919050565b6000613b20600b836143b9565b9150613b2b82614a65565b602082019050919050565b6000613b43602b836143b9565b9150613b4e82614a8e565b604082019050919050565b6000613b666026836143b9565b9150613b7182614add565b604082019050919050565b6000613b896005836143ca565b9150613b9482614b2c565b600582019050919050565b6000613bac6020836143b9565b9150613bb782614b55565b602082019050919050565b6000613bcf602f836143b9565b9150613bda82614b7e565b604082019050919050565b6000613bf2601a836143b9565b9150613bfd82614bcd565b602082019050919050565b6000613c156032836143b9565b9150613c2082614bf6565b604082019050919050565b6000613c38600f836143b9565b9150613c4382614c45565b602082019050919050565b6000613c5b6022836143b9565b9150613c6682614c6e565b604082019050919050565b6000613c7e6033836143b9565b9150613c8982614cbd565b604082019050919050565b6000613ca1601d836143b9565b9150613cac82614d0c565b602082019050919050565b6000613cc46021836143b9565b9150613ccf82614d35565b604082019050919050565b6000613ce7602c836143b9565b9150613cf282614d84565b604082019050919050565b6000613d0a6010836143b9565b9150613d1582614dd3565b602082019050919050565b6000613d2d602e836143b9565b9150613d3882614dfc565b604082019050919050565b6000613d50602f836143b9565b9150613d5b82614e4b565b604082019050919050565b6000613d73602d836143b9565b9150613d7e82614e9a565b604082019050919050565b6000613d966022836143b9565b9150613da182614ee9565b604082019050919050565b6000613db96014836143b9565b9150613dc482614f38565b602082019050919050565b604082016000820151613de560008501826138fd565b506020820151613df86020850182613e24565b50505050565b613e078161459a565b82525050565b613e1e613e198261459a565b6146fe565b82525050565b613e2d816145a4565b82525050565b6000613e3f828561391b565b601482019150613e4f8284613e0d565b6020820191508190509392505050565b6000613e6b8285613941565b602082019150613e7b8284613941565b6020820191508190509392505050565b6000613e9782856139ca565b9150613ea382846139ca565b91508190509392505050565b6000613ebb82846139ca565b9150613ec682613b7c565b915081905092915050565b6000602082019050613ee6600083018461390c565b92915050565b6000608082019050613f01600083018761390c565b613f0e602083018661390c565b613f1b6040830185613dfe565b8181036060830152613f2d8184613958565b905095945050505050565b6000602082019050613f4d6000830184613932565b92915050565b60006020820190508181036000830152613f6d8184613991565b905092915050565b60006020820190508181036000830152613f8e816139fb565b9050919050565b60006020820190508181036000830152613fae81613a1e565b9050919050565b60006020820190508181036000830152613fce81613a41565b9050919050565b60006020820190508181036000830152613fee81613a64565b9050919050565b6000602082019050818103600083015261400e81613a87565b9050919050565b6000602082019050818103600083015261402e81613aaa565b9050919050565b6000602082019050818103600083015261404e81613acd565b9050919050565b6000602082019050818103600083015261406e81613af0565b9050919050565b6000602082019050818103600083015261408e81613b13565b9050919050565b600060208201905081810360008301526140ae81613b36565b9050919050565b600060208201905081810360008301526140ce81613b59565b9050919050565b600060208201905081810360008301526140ee81613b9f565b9050919050565b6000602082019050818103600083015261410e81613bc2565b9050919050565b6000602082019050818103600083015261412e81613be5565b9050919050565b6000602082019050818103600083015261414e81613c08565b9050919050565b6000602082019050818103600083015261416e81613c2b565b9050919050565b6000602082019050818103600083015261418e81613c4e565b9050919050565b600060208201905081810360008301526141ae81613c71565b9050919050565b600060208201905081810360008301526141ce81613c94565b9050919050565b600060208201905081810360008301526141ee81613cb7565b9050919050565b6000602082019050818103600083015261420e81613cda565b9050919050565b6000602082019050818103600083015261422e81613cfd565b9050919050565b6000602082019050818103600083015261424e81613d20565b9050919050565b6000602082019050818103600083015261426e81613d43565b9050919050565b6000602082019050818103600083015261428e81613d66565b9050919050565b600060208201905081810360008301526142ae81613d89565b9050919050565b600060208201905081810360008301526142ce81613dac565b9050919050565b60006040820190506142ea6000830184613dcf565b92915050565b60006020820190506143056000830184613dfe565b92915050565b6000614315614326565b90506143218282614656565b919050565b6000604051905090565b600067ffffffffffffffff82111561434b5761434a6147c6565b5b614354826147f5565b9050602081019050919050565b600067ffffffffffffffff82111561437c5761437b6147c6565b5b614385826147f5565b9050602081019050919050565b600081519050919050565b600081519050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600081905092915050565b60006143e08261455e565b91506143eb8361455e565b9250826fffffffffffffffffffffffffffffffff038211156144105761440f614739565b5b828201905092915050565b60006144268261459a565b91506144318361459a565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561446657614465614739565b5b828201905092915050565b600061447c8261459a565b91506144878361459a565b92508261449757614496614768565b5b828204905092915050565b60006144ad8261455e565b91506144b88361455e565b9250828210156144cb576144ca614739565b5b828203905092915050565b60006144e18261459a565b91506144ec8361459a565b9250828210156144ff576144fe614739565b5b828203905092915050565b60006145158261457a565b9050919050565b60008115159050919050565b6000819050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b60006fffffffffffffffffffffffffffffffff82169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600067ffffffffffffffff82169050919050565b82818337600083830152505050565b60005b838110156145e55780820151818401526020810190506145ca565b838111156145f4576000848401525b50505050565b60006146058261459a565b9150600082141561461957614618614739565b5b600182039050919050565b6000600282049050600182168061463c57607f821691505b602082108114156146505761464f614797565b5b50919050565b61465f826147f5565b810181811067ffffffffffffffff8211171561467e5761467d6147c6565b5b80604052505050565b60006146928261459a565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156146c5576146c4614739565b5b600182019050919050565b60006146db826146ec565b9050919050565b6000819050919050565b60006146f782614806565b9050919050565b6000819050919050565b60006147138261459a565b915061471e8361459a565b92508261472e5761472d614768565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b60008160601b9050919050565b7f455243373231413a206f776e657220696e646578206f7574206f6620626f756e60008201527f6473000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f455243373231413a206f776e657220717565727920666f72206e6f6e6578697360008201527f74656e7420746f6b656e00000000000000000000000000000000000000000000602082015250565b7f455243373231413a20676c6f62616c20696e646578206f7574206f6620626f7560008201527f6e64730000000000000000000000000000000000000000000000000000000000602082015250565b7f455243373231413a207472616e7366657220746f20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f455243373231413a206e756d626572206d696e74656420717565727920666f7260008201527f20746865207a65726f2061646472657373000000000000000000000000000000602082015250565b7f434f4e54524143545f43414e4e4f545f43414c4c5f5448495300000000000000600082015250565b7f455243373231413a20617070726f76652063616c6c6572206973206e6f74206f60008201527f776e6572206e6f7220617070726f76656420666f7220616c6c00000000000000602082015250565b7f57524f4e475f50524f4f46000000000000000000000000000000000000000000600082015250565b7f455243373231413a2062616c616e636520717565727920666f7220746865207a60008201527f65726f2061646472657373000000000000000000000000000000000000000000602082015250565b7f455243373231413a207472616e736665722066726f6d20696e636f727265637460008201527f206f776e65720000000000000000000000000000000000000000000000000000602082015250565b7f2e6a736f6e000000000000000000000000000000000000000000000000000000600082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f4552433732314d657461646174613a2055524920717565727920666f72206e6f60008201527f6e6578697374656e7420746f6b656e0000000000000000000000000000000000602082015250565b7f455243373231413a20617070726f766520746f2063616c6c6572000000000000600082015250565b7f455243373231413a207472616e736665722063616c6c6572206973206e6f742060008201527f6f776e6572206e6f7220617070726f7665640000000000000000000000000000602082015250565b7f434c41494d45445f414c52454144590000000000000000000000000000000000600082015250565b7f455243373231413a20617070726f76616c20746f2063757272656e74206f776e60008201527f6572000000000000000000000000000000000000000000000000000000000000602082015250565b7f455243373231413a207472616e7366657220746f206e6f6e204552433732315260008201527f6563656976657220696d706c656d656e74657200000000000000000000000000602082015250565b7f455243373231413a20746f6b656e20616c7265616479206d696e746564000000600082015250565b7f455243373231413a206d696e7420746f20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b7f4e4f545f454e4f5547485f535550504c595f544f5f47495645415741595f444560008201527f53495245445f414d4f554e540000000000000000000000000000000000000000602082015250565b7f494e56414c49445f5155414e5449545900000000000000000000000000000000600082015250565b7f455243373231413a20756e61626c6520746f2067657420746f6b656e206f662060008201527f6f776e657220627920696e646578000000000000000000000000000000000000602082015250565b7f455243373231413a20756e61626c6520746f2064657465726d696e652074686560008201527f206f776e6572206f6620746f6b656e0000000000000000000000000000000000602082015250565b7f455243373231413a20617070726f76656420717565727920666f72206e6f6e6560008201527f78697374656e7420746f6b656e00000000000000000000000000000000000000602082015250565b7f455243373231413a207175616e7469747920746f206d696e7420746f6f20686960008201527f6768000000000000000000000000000000000000000000000000000000000000602082015250565b7f434c41494d5f4e4f545f5945545f414354495645000000000000000000000000600082015250565b614f6a8161450a565b8114614f7557600080fd5b50565b614f818161451c565b8114614f8c57600080fd5b50565b614f9881614528565b8114614fa357600080fd5b50565b614faf81614532565b8114614fba57600080fd5b50565b614fc68161459a565b8114614fd157600080fd5b5056fea264697066735822122053ec5e162bc2dafe0f5afd5df8dca6b08d16e6ac743e32b4f75bb9d697754d6b64736f6c63430008040033000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000245468652043656c65627269746965732062792054686520416d65726963616e73204e465400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000554432d5441000000000000000000000000000000000000000000000000000000
Deployed Bytecode
0x6080604052600436106102045760003560e01c8063715018a611610118578063c87b56dd116100a0578063dab5f3401161006f578063dab5f34014610748578063dc33e68114610771578063e985e9c5146107ae578063f2c4ce1e146107eb578063f2fde38b1461081457610204565b8063c87b56dd1461068a578063ca69e323146106c7578063d4a6a2fd146106f2578063d7224ba01461071d57610204565b806395d89b41116100e757806395d89b41146105da578063a22cb46514610605578063a475b5dd1461062e578063b88d4fde14610645578063ba41b0c61461066e57610204565b8063715018a61461051e5780638cc08025146105355780638da5cb5b146105725780639231ab2a1461059d57610204565b80632f745c591161019b578063518302271161016a578063518302271461043957806355f804b3146104645780635e0bd4ee1461048d5780636352211e146104a457806370a08231146104e157610204565b80632f745c591461037f5780633ccfd60b146103bc57806342842e0e146103d35780634f6ccce7146103fc57610204565b8063095ea7b3116101d7578063095ea7b3146102d95780630aada2781461030257806318160ddd1461032b57806323b872dd1461035657610204565b806301ffc9a71461020957806306fdde0314610246578063081812fc14610271578063081c8c44146102ae575b600080fd5b34801561021557600080fd5b50610230600480360381019061022b91906137a4565b61083d565b60405161023d9190613f38565b60405180910390f35b34801561025257600080fd5b5061025b610987565b6040516102689190613f53565b60405180910390f35b34801561027d57600080fd5b506102986004803603810190610293919061387c565b610a19565b6040516102a59190613ed1565b60405180910390f35b3480156102ba57600080fd5b506102c3610a9e565b6040516102d09190613f53565b60405180910390f35b3480156102e557600080fd5b5061030060048036038101906102fb919061373f565b610b2c565b005b34801561030e57600080fd5b506103296004803603810190610324919061373f565b610c45565b005b34801561033757600080fd5b50610340610d26565b60405161034d91906142f0565b60405180910390f35b34801561036257600080fd5b5061037d60048036038101906103789190613639565b610d30565b005b34801561038b57600080fd5b506103a660048036038101906103a1919061373f565b610d40565b6040516103b391906142f0565b60405180910390f35b3480156103c857600080fd5b506103d1610f3e565b005b3480156103df57600080fd5b506103fa60048036038101906103f59190613639565b611003565b005b34801561040857600080fd5b50610423600480360381019061041e919061387c565b611023565b60405161043091906142f0565b60405180910390f35b34801561044557600080fd5b5061044e611076565b60405161045b9190613f38565b60405180910390f35b34801561047057600080fd5b5061048b600480360381019061048691906137f6565b611089565b005b34801561049957600080fd5b506104a261111b565b005b3480156104b057600080fd5b506104cb60048036038101906104c6919061387c565b6111c3565b6040516104d89190613ed1565b60405180910390f35b3480156104ed57600080fd5b50610508600480360381019061050391906135d4565b6111d9565b60405161051591906142f0565b60405180910390f35b34801561052a57600080fd5b506105336112c2565b005b34801561054157600080fd5b5061055c600480360381019061055791906135d4565b61134a565b6040516105699190613f38565b60405180910390f35b34801561057e57600080fd5b5061058761136a565b6040516105949190613ed1565b60405180910390f35b3480156105a957600080fd5b506105c460048036038101906105bf919061387c565b611393565b6040516105d191906142d5565b60405180910390f35b3480156105e657600080fd5b506105ef6113ab565b6040516105fc9190613f53565b60405180910390f35b34801561061157600080fd5b5061062c60048036038101906106279190613703565b61143d565b005b34801561063a57600080fd5b506106436115be565b005b34801561065157600080fd5b5061066c60048036038101906106679190613688565b611666565b005b610688600480360381019061068391906138a5565b6116c2565b005b34801561069657600080fd5b506106b160048036038101906106ac919061387c565b611910565b6040516106be9190613f53565b60405180910390f35b3480156106d357600080fd5b506106dc611a5d565b6040516106e991906142f0565b60405180910390f35b3480156106fe57600080fd5b50610707611a63565b6040516107149190613f38565b60405180910390f35b34801561072957600080fd5b50610732611a76565b60405161073f91906142f0565b60405180910390f35b34801561075457600080fd5b5061076f600480360381019061076a919061377b565b611a7c565b005b34801561077d57600080fd5b50610798600480360381019061079391906135d4565b611b02565b6040516107a591906142f0565b60405180910390f35b3480156107ba57600080fd5b506107d560048036038101906107d091906135fd565b611b14565b6040516107e29190613f38565b60405180910390f35b3480156107f757600080fd5b50610812600480360381019061080d919061383b565b611ba8565b005b34801561082057600080fd5b5061083b600480360381019061083691906135d4565b611c3e565b005b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061090857507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b8061097057507f780e9d63000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80610980575061097f82611d36565b5b9050919050565b60606002805461099690614624565b80601f01602080910402602001604051908101604052809291908181526020018280546109c290614624565b8015610a0f5780601f106109e457610100808354040283529160200191610a0f565b820191906000526020600020905b8154815290600101906020018083116109f257829003601f168201915b5050505050905090565b6000610a2482611da0565b610a63576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a5a90614275565b60405180910390fd5b6006600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b600d8054610aab90614624565b80601f0160208091040260200160405190810160405280929190818152602001828054610ad790614624565b8015610b245780601f10610af957610100808354040283529160200191610b24565b820191906000526020600020905b815481529060010190602001808311610b0757829003601f168201915b505050505081565b6000610b37826111c3565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610ba8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b9f90614175565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16610bc7611dae565b73ffffffffffffffffffffffffffffffffffffffff161480610bf65750610bf581610bf0611dae565b611b14565b5b610c35576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c2c90614055565b60405180910390fd5b610c40838383611db6565b505050565b610c4d611dae565b73ffffffffffffffffffffffffffffffffffffffff16610c6b61136a565b73ffffffffffffffffffffffffffffffffffffffff1614610cc1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cb8906140d5565b60405180910390fd5b600b5481610ccd610d26565b610cd7919061441b565b1115610d18576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d0f906141f5565b60405180910390fd5b610d228282611e68565b5050565b6000600154905090565b610d3b838383611e86565b505050565b6000610d4b836111d9565b8210610d8c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d8390613f75565b60405180910390fd5b6000610d96610d26565b905060008060005b83811015610efc576000600460008381526020019081526020016000206040518060400160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016000820160149054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff16815250509050600073ffffffffffffffffffffffffffffffffffffffff16816000015173ffffffffffffffffffffffffffffffffffffffff1614610e9057806000015192505b8773ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610ee85786841415610ed9578195505050505050610f38565b8380610ee490614687565b9450505b508080610ef490614687565b915050610d9e565b506040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f2f90614235565b60405180910390fd5b92915050565b610f46611dae565b73ffffffffffffffffffffffffffffffffffffffff16610f6461136a565b73ffffffffffffffffffffffffffffffffffffffff1614610fba576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fb1906140d5565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f19350505050158015611000573d6000803e3d6000fd5b50565b61101e83838360405180602001604052806000815250611666565b505050565b600061102d610d26565b821061106e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161106590613fd5565b60405180910390fd5b819050919050565b600a60019054906101000a900460ff1681565b611091611dae565b73ffffffffffffffffffffffffffffffffffffffff166110af61136a565b73ffffffffffffffffffffffffffffffffffffffff1614611105576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110fc906140d5565b60405180910390fd5b8181600c919061111692919061328f565b505050565b611123611dae565b73ffffffffffffffffffffffffffffffffffffffff1661114161136a565b73ffffffffffffffffffffffffffffffffffffffff1614611197576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161118e906140d5565b60405180910390fd5b600a60009054906101000a900460ff1615600a60006101000a81548160ff021916908315150217905550565b60006111ce8261243f565b600001519050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561124a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161124190614095565b60405180910390fd5b600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff169050919050565b6112ca611dae565b73ffffffffffffffffffffffffffffffffffffffff166112e861136a565b73ffffffffffffffffffffffffffffffffffffffff161461133e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611335906140d5565b60405180910390fd5b6113486000612642565b565b600e6020528060005260406000206000915054906101000a900460ff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b61139b613315565b6113a48261243f565b9050919050565b6060600380546113ba90614624565b80601f01602080910402602001604051908101604052809291908181526020018280546113e690614624565b80156114335780601f1061140857610100808354040283529160200191611433565b820191906000526020600020905b81548152906001019060200180831161141657829003601f168201915b5050505050905090565b611445611dae565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156114b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114aa90614115565b60405180910390fd5b80600760006114c0611dae565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff1661156d611dae565b73ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31836040516115b29190613f38565b60405180910390a35050565b6115c6611dae565b73ffffffffffffffffffffffffffffffffffffffff166115e461136a565b73ffffffffffffffffffffffffffffffffffffffff161461163a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611631906140d5565b60405180910390fd5b600a60019054906101000a900460ff1615600a60016101000a81548160ff021916908315150217905550565b611671848484611e86565b61167d84848484612706565b6116bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116b390614195565b60405180910390fd5b50505050565b3373ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff1614611730576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161172790614035565b60405180910390fd5b600a60009054906101000a900460ff1661177f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611776906142b5565b60405180910390fd5b60011515600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151415611813576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161180a90614155565b60405180910390fd5b60008311611856576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161184d90614215565b60405180910390fd5b61186a8282611865338761289d565b6128d0565b6118a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118a090614075565b60405180910390fd5b6001600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555061190b3384611e68565b505050565b606061191b82611da0565b61195a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611951906140f5565b60405180910390fd5b60001515600a60019054906101000a900460ff1615151415611a0857600d805461198390614624565b80601f01602080910402602001604051908101604052809291908181526020018280546119af90614624565b80156119fc5780601f106119d1576101008083540402835291602001916119fc565b820191906000526020600020905b8154815290600101906020018083116119df57829003601f168201915b50505050509050611a58565b6000611a13836129b1565b90506000815111611a335760405180602001604052806000815250611a54565b80604051602001611a449190613eaf565b6040516020818303038152906040525b9150505b919050565b600b5481565b600a60009054906101000a900460ff1681565b60085481565b611a84611dae565b73ffffffffffffffffffffffffffffffffffffffff16611aa261136a565b73ffffffffffffffffffffffffffffffffffffffff1614611af8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611aef906140d5565b60405180910390fd5b80600f8190555050565b6000611b0d82612a58565b9050919050565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b611bb0611dae565b73ffffffffffffffffffffffffffffffffffffffff16611bce61136a565b73ffffffffffffffffffffffffffffffffffffffff1614611c24576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c1b906140d5565b60405180910390fd5b80600d9080519060200190611c3a92919061334f565b5050565b611c46611dae565b73ffffffffffffffffffffffffffffffffffffffff16611c6461136a565b73ffffffffffffffffffffffffffffffffffffffff1614611cba576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cb1906140d5565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611d2a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d2190613f95565b60405180910390fd5b611d3381612642565b50565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b600060015482109050919050565b600033905090565b826006600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550818373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a4505050565b611e82828260405180602001604052806000815250612b41565b5050565b6000611e918261243f565b90506000816000015173ffffffffffffffffffffffffffffffffffffffff16611eb8611dae565b73ffffffffffffffffffffffffffffffffffffffff161480611f145750611edd611dae565b73ffffffffffffffffffffffffffffffffffffffff16611efc84610a19565b73ffffffffffffffffffffffffffffffffffffffff16145b80611f305750611f2f8260000151611f2a611dae565b611b14565b5b905080611f72576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f6990614135565b60405180910390fd5b8473ffffffffffffffffffffffffffffffffffffffff16826000015173ffffffffffffffffffffffffffffffffffffffff1614611fe4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fdb906140b5565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415612054576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161204b90613ff5565b60405180910390fd5b6120618585856001613021565b6120716000848460000151611db6565b6001600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160008282829054906101000a90046fffffffffffffffffffffffffffffffff166120df91906144a2565b92506101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055506001600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160008282829054906101000a90046fffffffffffffffffffffffffffffffff1661218391906143d5565b92506101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555060405180604001604052808573ffffffffffffffffffffffffffffffffffffffff1681526020014267ffffffffffffffff168152506004600085815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160000160146101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055509050506000600184612289919061441b565b9050600073ffffffffffffffffffffffffffffffffffffffff166004600083815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156123cf576122ff81611da0565b156123ce576040518060400160405280846000015173ffffffffffffffffffffffffffffffffffffffff168152602001846020015167ffffffffffffffff168152506004600083815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160000160146101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055509050505b5b838573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a46124378686866001613027565b505050505050565b612447613315565b61245082611da0565b61248f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161248690613fb5565b60405180910390fd5b60007f00000000000000000000000000000000000000000000000000000000000000fa83106124f35760017f00000000000000000000000000000000000000000000000000000000000000fa846124e691906144d6565b6124f0919061441b565b90505b60008390505b818110612601576000600460008381526020019081526020016000206040518060400160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016000820160149054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff16815250509050600073ffffffffffffffffffffffffffffffffffffffff16816000015173ffffffffffffffffffffffffffffffffffffffff16146125ed5780935050505061263d565b5080806125f9906145fa565b9150506124f9565b506040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161263490614255565b60405180910390fd5b919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60006127278473ffffffffffffffffffffffffffffffffffffffff1661302d565b15612890578373ffffffffffffffffffffffffffffffffffffffff1663150b7a02612750611dae565b8786866040518563ffffffff1660e01b81526004016127729493929190613eec565b602060405180830381600087803b15801561278c57600080fd5b505af19250505080156127bd57506040513d601f19601f820116820180604052508101906127ba91906137cd565b60015b612840573d80600081146127ed576040519150601f19603f3d011682016040523d82523d6000602084013e6127f2565b606091505b50600081511415612838576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161282f90614195565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050612895565b600190505b949350505050565b600082826040516020016128b2929190613e33565b60405160208183030381529060405280519060200120905092915050565b600080600083905060005b868690508110156129a05786868281811061291f577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90506020020135925082821015612960578183604051602001612943929190613e5f565b60405160208183030381529060405280519060200120915061298c565b8282604051602001612973929190613e5f565b6040516020818303038152906040528051906020012091505b600181612999919061441b565b90506128db565b50600f548114925050509392505050565b60606129bc82611da0565b6129fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129f2906140f5565b60405180910390fd5b6000612a05613050565b90506000815111612a255760405180602001604052806000815250612a50565b80612a2f846130e2565b604051602001612a40929190613e8b565b6040516020818303038152906040525b915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612ac9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ac090614015565b60405180910390fd5b600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160109054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff169050919050565b60006001549050600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415612bb8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612baf906141d5565b60405180910390fd5b612bc181611da0565b15612c01576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612bf8906141b5565b60405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000fa831115612c64576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c5b90614295565b60405180910390fd5b612c716000858386613021565b6000600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060400160405290816000820160009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff1681526020016000820160109054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff168152505090506040518060400160405280858360000151612d6e91906143d5565b6fffffffffffffffffffffffffffffffff168152602001858360200151612d9591906143d5565b6fffffffffffffffffffffffffffffffff16815250600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555060208201518160000160106101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555090505060405180604001604052808673ffffffffffffffffffffffffffffffffffffffff1681526020014267ffffffffffffffff168152506004600084815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160000160146101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550905050600082905060005b8581101561300457818773ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4612fa46000888488612706565b612fe3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612fda90614195565b60405180910390fd5b8180612fee90614687565b9250508080612ffc90614687565b915050612f33565b50806001819055506130196000878588613027565b505050505050565b50505050565b50505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b6060600c805461305f90614624565b80601f016020809104026020016040519081016040528092919081815260200182805461308b90614624565b80156130d85780601f106130ad576101008083540402835291602001916130d8565b820191906000526020600020905b8154815290600101906020018083116130bb57829003601f168201915b5050505050905090565b6060600082141561312a576040518060400160405280600181526020017f3000000000000000000000000000000000000000000000000000000000000000815250905061328a565b600082905060005b6000821461315c57808061314590614687565b915050600a826131559190614471565b9150613132565b60008167ffffffffffffffff81111561319e577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280601f01601f1916602001820160405280156131d05781602001600182028036833780820191505090505b5090505b60008514613283576001826131e991906144d6565b9150600a856131f89190614708565b6030613204919061441b565b60f81b818381518110613240577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a8561327c9190614471565b94506131d4565b8093505050505b919050565b82805461329b90614624565b90600052602060002090601f0160209004810192826132bd5760008555613304565b82601f106132d657803560ff1916838001178555613304565b82800160010185558215613304579182015b828111156133035782358255916020019190600101906132e8565b5b50905061331191906133d5565b5090565b6040518060400160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600067ffffffffffffffff1681525090565b82805461335b90614624565b90600052602060002090601f01602090048101928261337d57600085556133c4565b82601f1061339657805160ff19168380011785556133c4565b828001600101855582156133c4579182015b828111156133c35782518255916020019190600101906133a8565b5b5090506133d191906133d5565b5090565b5b808211156133ee5760008160009055506001016133d6565b5090565b600061340561340084614330565b61430b565b90508281526020810184848401111561341d57600080fd5b6134288482856145b8565b509392505050565b600061344361343e84614361565b61430b565b90508281526020810184848401111561345b57600080fd5b6134668482856145b8565b509392505050565b60008135905061347d81614f61565b92915050565b60008083601f84011261349557600080fd5b8235905067ffffffffffffffff8111156134ae57600080fd5b6020830191508360208202830111156134c657600080fd5b9250929050565b6000813590506134dc81614f78565b92915050565b6000813590506134f181614f8f565b92915050565b60008135905061350681614fa6565b92915050565b60008151905061351b81614fa6565b92915050565b600082601f83011261353257600080fd5b81356135428482602086016133f2565b91505092915050565b60008083601f84011261355d57600080fd5b8235905067ffffffffffffffff81111561357657600080fd5b60208301915083600182028301111561358e57600080fd5b9250929050565b600082601f8301126135a657600080fd5b81356135b6848260208601613430565b91505092915050565b6000813590506135ce81614fbd565b92915050565b6000602082840312156135e657600080fd5b60006135f48482850161346e565b91505092915050565b6000806040838503121561361057600080fd5b600061361e8582860161346e565b925050602061362f8582860161346e565b9150509250929050565b60008060006060848603121561364e57600080fd5b600061365c8682870161346e565b935050602061366d8682870161346e565b925050604061367e868287016135bf565b9150509250925092565b6000806000806080858703121561369e57600080fd5b60006136ac8782880161346e565b94505060206136bd8782880161346e565b93505060406136ce878288016135bf565b925050606085013567ffffffffffffffff8111156136eb57600080fd5b6136f787828801613521565b91505092959194509250565b6000806040838503121561371657600080fd5b60006137248582860161346e565b9250506020613735858286016134cd565b9150509250929050565b6000806040838503121561375257600080fd5b60006137608582860161346e565b9250506020613771858286016135bf565b9150509250929050565b60006020828403121561378d57600080fd5b600061379b848285016134e2565b91505092915050565b6000602082840312156137b657600080fd5b60006137c4848285016134f7565b91505092915050565b6000602082840312156137df57600080fd5b60006137ed8482850161350c565b91505092915050565b6000806020838503121561380957600080fd5b600083013567ffffffffffffffff81111561382357600080fd5b61382f8582860161354b565b92509250509250929050565b60006020828403121561384d57600080fd5b600082013567ffffffffffffffff81111561386757600080fd5b61387384828501613595565b91505092915050565b60006020828403121561388e57600080fd5b600061389c848285016135bf565b91505092915050565b6000806000604084860312156138ba57600080fd5b60006138c8868287016135bf565b935050602084013567ffffffffffffffff8111156138e557600080fd5b6138f186828701613483565b92509250509250925092565b6139068161450a565b82525050565b6139158161450a565b82525050565b61392c6139278261450a565b6146d0565b82525050565b61393b8161451c565b82525050565b61395261394d82614528565b6146e2565b82525050565b600061396382614392565b61396d81856143a8565b935061397d8185602086016145c7565b613986816147f5565b840191505092915050565b600061399c8261439d565b6139a681856143b9565b93506139b68185602086016145c7565b6139bf816147f5565b840191505092915050565b60006139d58261439d565b6139df81856143ca565b93506139ef8185602086016145c7565b80840191505092915050565b6000613a086022836143b9565b9150613a1382614813565b604082019050919050565b6000613a2b6026836143b9565b9150613a3682614862565b604082019050919050565b6000613a4e602a836143b9565b9150613a59826148b1565b604082019050919050565b6000613a716023836143b9565b9150613a7c82614900565b604082019050919050565b6000613a946025836143b9565b9150613a9f8261494f565b604082019050919050565b6000613ab76031836143b9565b9150613ac28261499e565b604082019050919050565b6000613ada6019836143b9565b9150613ae5826149ed565b602082019050919050565b6000613afd6039836143b9565b9150613b0882614a16565b604082019050919050565b6000613b20600b836143b9565b9150613b2b82614a65565b602082019050919050565b6000613b43602b836143b9565b9150613b4e82614a8e565b604082019050919050565b6000613b666026836143b9565b9150613b7182614add565b604082019050919050565b6000613b896005836143ca565b9150613b9482614b2c565b600582019050919050565b6000613bac6020836143b9565b9150613bb782614b55565b602082019050919050565b6000613bcf602f836143b9565b9150613bda82614b7e565b604082019050919050565b6000613bf2601a836143b9565b9150613bfd82614bcd565b602082019050919050565b6000613c156032836143b9565b9150613c2082614bf6565b604082019050919050565b6000613c38600f836143b9565b9150613c4382614c45565b602082019050919050565b6000613c5b6022836143b9565b9150613c6682614c6e565b604082019050919050565b6000613c7e6033836143b9565b9150613c8982614cbd565b604082019050919050565b6000613ca1601d836143b9565b9150613cac82614d0c565b602082019050919050565b6000613cc46021836143b9565b9150613ccf82614d35565b604082019050919050565b6000613ce7602c836143b9565b9150613cf282614d84565b604082019050919050565b6000613d0a6010836143b9565b9150613d1582614dd3565b602082019050919050565b6000613d2d602e836143b9565b9150613d3882614dfc565b604082019050919050565b6000613d50602f836143b9565b9150613d5b82614e4b565b604082019050919050565b6000613d73602d836143b9565b9150613d7e82614e9a565b604082019050919050565b6000613d966022836143b9565b9150613da182614ee9565b604082019050919050565b6000613db96014836143b9565b9150613dc482614f38565b602082019050919050565b604082016000820151613de560008501826138fd565b506020820151613df86020850182613e24565b50505050565b613e078161459a565b82525050565b613e1e613e198261459a565b6146fe565b82525050565b613e2d816145a4565b82525050565b6000613e3f828561391b565b601482019150613e4f8284613e0d565b6020820191508190509392505050565b6000613e6b8285613941565b602082019150613e7b8284613941565b6020820191508190509392505050565b6000613e9782856139ca565b9150613ea382846139ca565b91508190509392505050565b6000613ebb82846139ca565b9150613ec682613b7c565b915081905092915050565b6000602082019050613ee6600083018461390c565b92915050565b6000608082019050613f01600083018761390c565b613f0e602083018661390c565b613f1b6040830185613dfe565b8181036060830152613f2d8184613958565b905095945050505050565b6000602082019050613f4d6000830184613932565b92915050565b60006020820190508181036000830152613f6d8184613991565b905092915050565b60006020820190508181036000830152613f8e816139fb565b9050919050565b60006020820190508181036000830152613fae81613a1e565b9050919050565b60006020820190508181036000830152613fce81613a41565b9050919050565b60006020820190508181036000830152613fee81613a64565b9050919050565b6000602082019050818103600083015261400e81613a87565b9050919050565b6000602082019050818103600083015261402e81613aaa565b9050919050565b6000602082019050818103600083015261404e81613acd565b9050919050565b6000602082019050818103600083015261406e81613af0565b9050919050565b6000602082019050818103600083015261408e81613b13565b9050919050565b600060208201905081810360008301526140ae81613b36565b9050919050565b600060208201905081810360008301526140ce81613b59565b9050919050565b600060208201905081810360008301526140ee81613b9f565b9050919050565b6000602082019050818103600083015261410e81613bc2565b9050919050565b6000602082019050818103600083015261412e81613be5565b9050919050565b6000602082019050818103600083015261414e81613c08565b9050919050565b6000602082019050818103600083015261416e81613c2b565b9050919050565b6000602082019050818103600083015261418e81613c4e565b9050919050565b600060208201905081810360008301526141ae81613c71565b9050919050565b600060208201905081810360008301526141ce81613c94565b9050919050565b600060208201905081810360008301526141ee81613cb7565b9050919050565b6000602082019050818103600083015261420e81613cda565b9050919050565b6000602082019050818103600083015261422e81613cfd565b9050919050565b6000602082019050818103600083015261424e81613d20565b9050919050565b6000602082019050818103600083015261426e81613d43565b9050919050565b6000602082019050818103600083015261428e81613d66565b9050919050565b600060208201905081810360008301526142ae81613d89565b9050919050565b600060208201905081810360008301526142ce81613dac565b9050919050565b60006040820190506142ea6000830184613dcf565b92915050565b60006020820190506143056000830184613dfe565b92915050565b6000614315614326565b90506143218282614656565b919050565b6000604051905090565b600067ffffffffffffffff82111561434b5761434a6147c6565b5b614354826147f5565b9050602081019050919050565b600067ffffffffffffffff82111561437c5761437b6147c6565b5b614385826147f5565b9050602081019050919050565b600081519050919050565b600081519050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600081905092915050565b60006143e08261455e565b91506143eb8361455e565b9250826fffffffffffffffffffffffffffffffff038211156144105761440f614739565b5b828201905092915050565b60006144268261459a565b91506144318361459a565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561446657614465614739565b5b828201905092915050565b600061447c8261459a565b91506144878361459a565b92508261449757614496614768565b5b828204905092915050565b60006144ad8261455e565b91506144b88361455e565b9250828210156144cb576144ca614739565b5b828203905092915050565b60006144e18261459a565b91506144ec8361459a565b9250828210156144ff576144fe614739565b5b828203905092915050565b60006145158261457a565b9050919050565b60008115159050919050565b6000819050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b60006fffffffffffffffffffffffffffffffff82169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600067ffffffffffffffff82169050919050565b82818337600083830152505050565b60005b838110156145e55780820151818401526020810190506145ca565b838111156145f4576000848401525b50505050565b60006146058261459a565b9150600082141561461957614618614739565b5b600182039050919050565b6000600282049050600182168061463c57607f821691505b602082108114156146505761464f614797565b5b50919050565b61465f826147f5565b810181811067ffffffffffffffff8211171561467e5761467d6147c6565b5b80604052505050565b60006146928261459a565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156146c5576146c4614739565b5b600182019050919050565b60006146db826146ec565b9050919050565b6000819050919050565b60006146f782614806565b9050919050565b6000819050919050565b60006147138261459a565b915061471e8361459a565b92508261472e5761472d614768565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b60008160601b9050919050565b7f455243373231413a206f776e657220696e646578206f7574206f6620626f756e60008201527f6473000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f455243373231413a206f776e657220717565727920666f72206e6f6e6578697360008201527f74656e7420746f6b656e00000000000000000000000000000000000000000000602082015250565b7f455243373231413a20676c6f62616c20696e646578206f7574206f6620626f7560008201527f6e64730000000000000000000000000000000000000000000000000000000000602082015250565b7f455243373231413a207472616e7366657220746f20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f455243373231413a206e756d626572206d696e74656420717565727920666f7260008201527f20746865207a65726f2061646472657373000000000000000000000000000000602082015250565b7f434f4e54524143545f43414e4e4f545f43414c4c5f5448495300000000000000600082015250565b7f455243373231413a20617070726f76652063616c6c6572206973206e6f74206f60008201527f776e6572206e6f7220617070726f76656420666f7220616c6c00000000000000602082015250565b7f57524f4e475f50524f4f46000000000000000000000000000000000000000000600082015250565b7f455243373231413a2062616c616e636520717565727920666f7220746865207a60008201527f65726f2061646472657373000000000000000000000000000000000000000000602082015250565b7f455243373231413a207472616e736665722066726f6d20696e636f727265637460008201527f206f776e65720000000000000000000000000000000000000000000000000000602082015250565b7f2e6a736f6e000000000000000000000000000000000000000000000000000000600082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f4552433732314d657461646174613a2055524920717565727920666f72206e6f60008201527f6e6578697374656e7420746f6b656e0000000000000000000000000000000000602082015250565b7f455243373231413a20617070726f766520746f2063616c6c6572000000000000600082015250565b7f455243373231413a207472616e736665722063616c6c6572206973206e6f742060008201527f6f776e6572206e6f7220617070726f7665640000000000000000000000000000602082015250565b7f434c41494d45445f414c52454144590000000000000000000000000000000000600082015250565b7f455243373231413a20617070726f76616c20746f2063757272656e74206f776e60008201527f6572000000000000000000000000000000000000000000000000000000000000602082015250565b7f455243373231413a207472616e7366657220746f206e6f6e204552433732315260008201527f6563656976657220696d706c656d656e74657200000000000000000000000000602082015250565b7f455243373231413a20746f6b656e20616c7265616479206d696e746564000000600082015250565b7f455243373231413a206d696e7420746f20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b7f4e4f545f454e4f5547485f535550504c595f544f5f47495645415741595f444560008201527f53495245445f414d4f554e540000000000000000000000000000000000000000602082015250565b7f494e56414c49445f5155414e5449545900000000000000000000000000000000600082015250565b7f455243373231413a20756e61626c6520746f2067657420746f6b656e206f662060008201527f6f776e657220627920696e646578000000000000000000000000000000000000602082015250565b7f455243373231413a20756e61626c6520746f2064657465726d696e652074686560008201527f206f776e6572206f6620746f6b656e0000000000000000000000000000000000602082015250565b7f455243373231413a20617070726f76656420717565727920666f72206e6f6e6560008201527f78697374656e7420746f6b656e00000000000000000000000000000000000000602082015250565b7f455243373231413a207175616e7469747920746f206d696e7420746f6f20686960008201527f6768000000000000000000000000000000000000000000000000000000000000602082015250565b7f434c41494d5f4e4f545f5945545f414354495645000000000000000000000000600082015250565b614f6a8161450a565b8114614f7557600080fd5b50565b614f818161451c565b8114614f8c57600080fd5b50565b614f9881614528565b8114614fa357600080fd5b50565b614faf81614532565b8114614fba57600080fd5b50565b614fc68161459a565b8114614fd157600080fd5b5056fea264697066735822122053ec5e162bc2dafe0f5afd5df8dca6b08d16e6ac743e32b4f75bb9d697754d6b64736f6c63430008040033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000245468652043656c65627269746965732062792054686520416d65726963616e73204e465400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000554432d5441000000000000000000000000000000000000000000000000000000
-----Decoded View---------------
Arg [0] : _NAME (string): The Celebrities by The Americans NFT
Arg [1] : _SYMBOL (string): TC-TA
-----Encoded View---------------
7 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000040
Arg [1] : 00000000000000000000000000000000000000000000000000000000000000a0
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000024
Arg [3] : 5468652043656c65627269746965732062792054686520416d65726963616e73
Arg [4] : 204e465400000000000000000000000000000000000000000000000000000000
Arg [5] : 0000000000000000000000000000000000000000000000000000000000000005
Arg [6] : 54432d5441000000000000000000000000000000000000000000000000000000
Deployed Bytecode Sourcemap
23154:3371:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13105:422;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14891:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16100:292;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;23388:52;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15681:413;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;25531:235;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11895:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16935:162;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12235:864;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;26413:109;;;;;;;;;;;;;:::i;:::-;;17103:177;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12001:228;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;23260:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;25986:106;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;26320:85;;;;;;;;;;;;;:::i;:::-;;14761:124;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13533:258;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7089:94;;;;;;;;;;;;;:::i;:::-;;23447:41;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6870:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;23871:135;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14997:104;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16398:311;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;26236:76;;;;;;;;;;;;;:::i;:::-;;17286:355;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;25060:463;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;24014:421;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;23295:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;23222:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20907:43;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;25896:82;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;23750:113;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16715:214;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;26100:128;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7189:229;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13105:422;13252:4;13309:25;13294:40;;;:11;:40;;;;:105;;;;13366:33;13351:48;;;:11;:48;;;;13294:105;:172;;;;13431:35;13416:50;;;:11;:50;;;;13294:172;:225;;;;13483:36;13507:11;13483:23;:36::i;:::-;13294:225;13274:245;;13105:422;;;:::o;14891:100::-;14945:13;14978:5;14971:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14891:100;:::o;16100:292::-;16204:7;16251:16;16259:7;16251;:16::i;:::-;16229:111;;;;;;;;;;;;:::i;:::-;;;;;;;;;16360:15;:24;16376:7;16360:24;;;;;;;;;;;;;;;;;;;;;16353:31;;16100:292;;;:::o;23388:52::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;15681:413::-;15754:13;15770:24;15786:7;15770:15;:24::i;:::-;15754:40;;15819:5;15813:11;;:2;:11;;;;15805:58;;;;;;;;;;;;:::i;:::-;;;;;;;;;15914:5;15898:21;;:12;:10;:12::i;:::-;:21;;;:62;;;;15923:37;15940:5;15947:12;:10;:12::i;:::-;15923:16;:37::i;:::-;15898:62;15876:169;;;;;;;;;;;;:::i;:::-;;;;;;;;;16058:28;16067:2;16071:7;16080:5;16058:8;:28::i;:::-;15681:413;;;:::o;25531:235::-;7014:12;:10;:12::i;:::-;7003:23;;:7;:5;:7::i;:::-;:23;;;6995:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;25661:8:::1;;25649;25633:13;:11;:13::i;:::-;:24;;;;:::i;:::-;:36;;25625:93;;;;;;;;;;;;:::i;:::-;;;;;;;;;25729:29;25739:8;25749;25729:9;:29::i;:::-;25531:235:::0;;:::o;11895:100::-;11948:7;11975:12;;11968:19;;11895:100;:::o;16935:162::-;17061:28;17071:4;17077:2;17081:7;17061:9;:28::i;:::-;16935:162;;;:::o;12235:864::-;12360:7;12401:16;12411:5;12401:9;:16::i;:::-;12393:5;:24;12385:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;12467:22;12492:13;:11;:13::i;:::-;12467:38;;12516:19;12550:25;12604:9;12599:426;12623:14;12619:1;:18;12599:426;;;12659:31;12693:11;:14;12705:1;12693:14;;;;;;;;;;;12659:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12752:1;12726:28;;:9;:14;;;:28;;;12722:103;;12795:9;:14;;;12775:34;;12722:103;12864:5;12843:26;;:17;:26;;;12839:175;;;12909:5;12894:11;:20;12890:77;;;12946:1;12939:8;;;;;;;;;12890:77;12985:13;;;;;:::i;:::-;;;;12839:175;12599:426;12639:3;;;;;:::i;:::-;;;;12599:426;;;;13035:56;;;;;;;;;;:::i;:::-;;;;;;;;12235:864;;;;;:::o;26413:109::-;7014:12;:10;:12::i;:::-;7003:23;;:7;:5;:7::i;:::-;:23;;;6995:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;26471:10:::1;26463:28;;:51;26492:21;26463:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;26413:109::o:0;17103:177::-;17233:39;17250:4;17256:2;17260:7;17233:39;;;;;;;;;;;;:16;:39::i;:::-;17103:177;;;:::o;12001:228::-;12104:7;12145:13;:11;:13::i;:::-;12137:5;:21;12129:69;;;;;;;;;;;;:::i;:::-;;;;;;;;;12216:5;12209:12;;12001:228;;;:::o;23260:28::-;;;;;;;;;;;;;:::o;25986:106::-;7014:12;:10;:12::i;:::-;7003:23;;:7;:5;:7::i;:::-;:23;;;6995:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;26077:7:::1;;26061:13;:23;;;;;;;:::i;:::-;;25986:106:::0;;:::o;26320:85::-;7014:12;:10;:12::i;:::-;7003:23;;:7;:5;:7::i;:::-;:23;;;6995:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;26386:11:::1;;;;;;;;;;;26385:12;26371:11;;:26;;;;;;;;;;;;;;;;;;26320:85::o:0;14761:124::-;14825:7;14852:20;14864:7;14852:11;:20::i;:::-;:25;;;14845:32;;14761:124;;;:::o;13533:258::-;13597:7;13656:1;13639:19;;:5;:19;;;;13617:112;;;;;;;;;;;;:::i;:::-;;;;;;;;;13755:12;:19;13768:5;13755:19;;;;;;;;;;;;;;;:27;;;;;;;;;;;;13747:36;;13740:43;;13533:258;;;:::o;7089:94::-;7014:12;:10;:12::i;:::-;7003:23;;:7;:5;:7::i;:::-;:23;;;6995:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7154:21:::1;7172:1;7154:9;:21::i;:::-;7089:94::o:0;23447:41::-;;;;;;;;;;;;;;;;;;;;;;:::o;6870:87::-;6916:7;6943:6;;;;;;;;;;;6936:13;;6870:87;:::o;23871:135::-;23937:21;;:::i;:::-;23978:20;23990:7;23978:11;:20::i;:::-;23971:27;;23871:135;;;:::o;14997:104::-;15053:13;15086:7;15079:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14997:104;:::o;16398:311::-;16528:12;:10;:12::i;:::-;16516:24;;:8;:24;;;;16508:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;16629:8;16584:18;:32;16603:12;:10;:12::i;:::-;16584:32;;;;;;;;;;;;;;;:42;16617:8;16584:42;;;;;;;;;;;;;;;;:53;;;;;;;;;;;;;;;;;;16682:8;16653:48;;16668:12;:10;:12::i;:::-;16653:48;;;16692:8;16653:48;;;;;;:::i;:::-;;;;;;;;16398:311;;:::o;26236:76::-;7014:12;:10;:12::i;:::-;7003:23;;:7;:5;:7::i;:::-;:23;;;6995:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;26296:8:::1;;;;;;;;;;;26295:9;26284:8;;:20;;;;;;;;;;;;;;;;;;26236:76::o:0;17286:355::-;17445:28;17455:4;17461:2;17465:7;17445:9;:28::i;:::-;17506:48;17529:4;17535:2;17539:7;17548:5;17506:22;:48::i;:::-;17484:149;;;;;;;;;;;;:::i;:::-;;;;;;;;;17286:355;;;;:::o;25060:463::-;23682:10;23669:23;;:9;:23;;;23661:61;;;;;;;;;;;;:::i;:::-;;;;;;;;;25169:11:::1;;;;;;;;;;;25161:44;;;;;;;;;;;;:::i;:::-;;;;;;;;;25249:4;25224:29;;:9;:21;25234:10;25224:21;;;;;;;;;;;;;;;;;;;;;;;;;:29;;;;25216:57;;;;;;;;;;;;:::i;:::-;;;;;;;;;25304:1;25292:9;:13;25284:42;;;;;;;;;;;;:::i;:::-;;;;;;;;;25345:72;25357:6;;25365:51;25394:10;25406:9;25365:28;:51::i;:::-;25345:11;:72::i;:::-;25337:96;;;;;;;;;;;;:::i;:::-;;;;;;;;;25468:4;25444:9;:21;25454:10;25444:21;;;;;;;;;;;;;;;;:28;;;;;;;;;;;;;;;;;;25483:32;25493:10;25505:9;25483;:32::i;:::-;25060:463:::0;;;:::o;24014:421::-;24087:13;24121:16;24129:7;24121;:16::i;:::-;24113:76;;;;;;;;;;;;:::i;:::-;;;;;;;;;24216:5;24204:17;;:8;;;;;;;;;;;:17;;;24200:71;;;24245:14;24238:21;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24200:71;24281:23;24307;24322:7;24307:14;:23::i;:::-;24281:49;;24374:1;24354:9;24348:23;:27;:79;;;;;;;;;;;;;;;;;24402:9;24385:36;;;;;;;;:::i;:::-;;;;;;;;;;;;;24348:79;24341:86;;;24014:421;;;;:::o;23295:30::-;;;;:::o;23222:31::-;;;;;;;;;;;;;:::o;20907:43::-;;;;:::o;25896:82::-;7014:12;:10;:12::i;:::-;7003:23;;:7;:5;:7::i;:::-;:23;;;6995:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;25965:5:::1;25958:4;:12;;;;25896:82:::0;:::o;23750:113::-;23808:7;23835:20;23849:5;23835:13;:20::i;:::-;23828:27;;23750:113;;;:::o;16715:214::-;16857:4;16886:18;:25;16905:5;16886:25;;;;;;;;;;;;;;;:35;16912:8;16886:35;;;;;;;;;;;;;;;;;;;;;;;;;16879:42;;16715:214;;;;:::o;26100:128::-;7014:12;:10;:12::i;:::-;7003:23;;:7;:5;:7::i;:::-;:23;;;6995:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;26205:15:::1;26188:14;:32;;;;;;;;;;;;:::i;:::-;;26100:128:::0;:::o;7189:229::-;7014:12;:10;:12::i;:::-;7003:23;;:7;:5;:7::i;:::-;:23;;;6995:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7312:1:::1;7292:22;;:8;:22;;;;7270:110;;;;;;;;;;;;:::i;:::-;;;;;;;;;7391:19;7401:8;7391:9;:19::i;:::-;7189:229:::0;:::o;9402:207::-;9532:4;9576:25;9561:40;;;:11;:40;;;;9554:47;;9402:207;;;:::o;17647:111::-;17704:4;17738:12;;17728:7;:22;17721:29;;17647:111;;;:::o;6377:98::-;6430:7;6457:10;6450:17;;6377:98;:::o;20703:196::-;20845:2;20818:15;:24;20834:7;20818:24;;;;;;;;;;;;:29;;;;;;;;;;;;;;;;;;20883:7;20879:2;20863:28;;20872:5;20863:28;;;;;;;;;;;;20703:196;;;:::o;17766:104::-;17835:27;17845:2;17849:8;17835:27;;;;;;;;;;;;:9;:27::i;:::-;17766:104;;:::o;19157:1540::-;19272:35;19310:20;19322:7;19310:11;:20::i;:::-;19272:58;;19343:22;19385:13;:18;;;19369:34;;:12;:10;:12::i;:::-;:34;;;:87;;;;19444:12;:10;:12::i;:::-;19420:36;;:20;19432:7;19420:11;:20::i;:::-;:36;;;19369:87;:154;;;;19473:50;19490:13;:18;;;19510:12;:10;:12::i;:::-;19473:16;:50::i;:::-;19369:154;19343:181;;19559:17;19537:117;;;;;;;;;;;;:::i;:::-;;;;;;;;;19711:4;19689:26;;:13;:18;;;:26;;;19667:114;;;;;;;;;;;;:::i;:::-;;;;;;;;;19814:1;19800:16;;:2;:16;;;;19792:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;19871:43;19893:4;19899:2;19903:7;19912:1;19871:21;:43::i;:::-;19925:49;19942:1;19946:7;19955:13;:18;;;19925:8;:49::i;:::-;20017:1;19987:12;:18;20000:4;19987:18;;;;;;;;;;;;;;;:26;;;:31;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;20057:1;20029:12;:16;20042:2;20029:16;;;;;;;;;;;;;;;:24;;;:29;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;20092:43;;;;;;;;20107:2;20092:43;;;;;;20118:15;20092:43;;;;;20069:11;:20;20081:7;20069:20;;;;;;;;;;;:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20260:19;20292:1;20282:7;:11;;;;:::i;:::-;20260:33;;20349:1;20308:43;;:11;:24;20320:11;20308:24;;;;;;;;;;;:29;;;;;;;;;;;;:43;;;20304:288;;;20372:20;20380:11;20372:7;:20::i;:::-;20368:213;;;20440:125;;;;;;;;20477:13;:18;;;20440:125;;;;;;20518:13;:28;;;20440:125;;;;;20413:11;:24;20425:11;20413:24;;;;;;;;;;;:152;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20368:213;20304:288;20628:7;20624:2;20609:27;;20618:4;20609:27;;;;;;;;;;;;20647:42;20668:4;20674:2;20678:7;20687:1;20647:20;:42::i;:::-;19157:1540;;;;;;:::o;14073:682::-;14161:21;;:::i;:::-;14208:16;14216:7;14208;:16::i;:::-;14200:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;14284:26;14336:12;14325:7;:23;14321:103;;14411:1;14396:12;14386:7;:22;;;;:::i;:::-;:26;;;;:::i;:::-;14365:47;;14321:103;14441:12;14456:7;14441:22;;14436:242;14473:18;14465:4;:26;14436:242;;14516:31;14550:11;:17;14562:4;14550:17;;;;;;;;;;;14516:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14612:1;14586:28;;:9;:14;;;:28;;;14582:85;;14642:9;14635:16;;;;;;;14582:85;14436:242;14493:6;;;;;:::i;:::-;;;;14436:242;;;;14690:57;;;;;;;;;;:::i;:::-;;;;;;;;14073:682;;;;:::o;7426:173::-;7482:16;7501:6;;;;;;;;;;;7482:25;;7527:8;7518:6;;:17;;;;;;;;;;;;;;;;;;7582:8;7551:40;;7572:8;7551:40;;;;;;;;;;;;7426:173;;:::o;21808:985::-;21963:4;21984:15;:2;:13;;;:15::i;:::-;21980:806;;;22053:2;22037:36;;;22096:12;:10;:12::i;:::-;22131:4;22158:7;22188:5;22037:175;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;22016:715;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22416:1;22399:6;:13;:18;22395:321;;;22442:109;;;;;;;;;;:::i;:::-;;;;;;;;22395:321;22666:6;22660:13;22651:6;22647:2;22643:15;22636:38;22016:715;22286:45;;;22276:55;;;:6;:55;;;;22269:62;;;;;21980:806;22770:4;22763:11;;21808:985;;;;;;;:::o;24443:153::-;24527:7;24580:2;24584;24563:24;;;;;;;;;:::i;:::-;;;;;;;;;;;;;24553:35;;;;;;24546:42;;24443:153;;;;:::o;24604:448::-;24688:4;24705:10;24726:9;24738:5;24726:17;;24759:9;24754:264;24778:5;;:12;;24774:1;:16;24754:264;;;24820:5;;24826:1;24820:8;;;;;;;;;;;;;;;;;;;;;24815:13;;24851:2;24847:1;:6;24843:164;;;24905:1;24908:2;24888:23;;;;;;;;;:::i;:::-;;;;;;;;;;;;;24878:34;;;;;;24874:38;;24843:164;;;24984:2;24988:1;24967:23;;;;;;;;;:::i;:::-;;;;;;;;;;;;;24957:34;;;;;;24953:38;;24843:164;24797:1;24792:6;;;;;:::i;:::-;;;24754:264;;;;25040:4;;25035:1;:9;25028:16;;;;24604:448;;;;;:::o;15107:468::-;15225:13;15278:16;15286:7;15278;:16::i;:::-;15256:113;;;;;;;;;;;;:::i;:::-;;;;;;;;;15382:21;15406:10;:8;:10::i;:::-;15382:34;;15471:1;15453:7;15447:21;:25;:120;;;;;;;;;;;;;;;;;15516:7;15525:18;:7;:16;:18::i;:::-;15499:45;;;;;;;;;:::i;:::-;;;;;;;;;;;;;15447:120;15427:140;;;15107:468;;;:::o;13799:266::-;13860:7;13919:1;13902:19;;:5;:19;;;;13880:118;;;;;;;;;;;;:::i;:::-;;;;;;;;;14024:12;:19;14037:5;14024:19;;;;;;;;;;;;;;;:32;;;;;;;;;;;;14016:41;;14009:48;;13799:266;;;:::o;17876:1275::-;17999:20;18022:12;;17999:35;;18067:1;18053:16;;:2;:16;;;;18045:62;;;;;;;;;;;;:::i;:::-;;;;;;;;;18127:21;18135:12;18127:7;:21::i;:::-;18126:22;18118:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;18213:12;18201:8;:24;;18193:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;18277:61;18307:1;18311:2;18315:12;18329:8;18277:21;:61::i;:::-;18351:30;18384:12;:16;18397:2;18384:16;;;;;;;;;;;;;;;18351:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18430:135;;;;;;;;18486:8;18456:11;:19;;;:39;;;;:::i;:::-;18430:135;;;;;;18545:8;18510:11;:24;;;:44;;;;:::i;:::-;18430:135;;;;;18411:12;:16;18424:2;18411:16;;;;;;;;;;;;;;;:154;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18604:43;;;;;;;;18619:2;18604:43;;;;;;18630:15;18604:43;;;;;18576:11;:25;18588:12;18576:25;;;;;;;;;;;:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18660:20;18683:12;18660:35;;18713:9;18708:325;18732:8;18728:1;:12;18708:325;;;18792:12;18788:2;18767:38;;18784:1;18767:38;;;;;;;;;;;;18846:59;18877:1;18881:2;18885:12;18899:5;18846:22;:59::i;:::-;18820:172;;;;;;;;;;;;:::i;:::-;;;;;;;;;19007:14;;;;;:::i;:::-;;;;18742:3;;;;;:::i;:::-;;;;18708:325;;;;19060:12;19045;:27;;;;19083:60;19112:1;19116:2;19120:12;19134:8;19083:20;:60::i;:::-;17876:1275;;;;;;:::o;22799:159::-;;;;;:::o;22964:158::-;;;;;:::o;2383:117::-;2443:4;2491:1;2469:7;:19;;;:23;2462:30;;2383:117;;;:::o;25774:114::-;25834:13;25867;25860:20;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;25774:114;:::o;7771:656::-;7827:13;7990:1;7981:5;:10;7977:53;;;8008:10;;;;;;;;;;;;;;;;;;;;;7977:53;8040:12;8055:5;8040:20;;8071:14;8096:78;8111:1;8103:4;:9;8096:78;;8129:8;;;;;:::i;:::-;;;;8160:2;8152:10;;;;;:::i;:::-;;;8096:78;;;8184:19;8216:6;8206:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8184:39;;8234:154;8250:1;8241:5;:10;8234:154;;8278:1;8268:11;;;;;:::i;:::-;;;8345:2;8337:5;:10;;;;:::i;:::-;8324:2;:24;;;;:::i;:::-;8311:39;;8294:6;8301;8294:14;;;;;;;;;;;;;;;;;;;:56;;;;;;;;;;;8374:2;8365:11;;;;;:::i;:::-;;;8234:154;;;8412:6;8398:21;;;;;7771:656;;;;:::o;-1:-1:-1:-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;7:343:1:-;84:5;109:65;125:48;166:6;125:48;:::i;:::-;109:65;:::i;:::-;100:74;;197:6;190:5;183:21;235:4;228:5;224:16;273:3;264:6;259:3;255:16;252:25;249:2;;;290:1;287;280:12;249:2;303:41;337:6;332:3;327;303:41;:::i;:::-;90:260;;;;;;:::o;356:345::-;434:5;459:66;475:49;517:6;475:49;:::i;:::-;459:66;:::i;:::-;450:75;;548:6;541:5;534:21;586:4;579:5;575:16;624:3;615:6;610:3;606:16;603:25;600:2;;;641:1;638;631:12;600:2;654:41;688:6;683:3;678;654:41;:::i;:::-;440:261;;;;;;:::o;707:139::-;753:5;791:6;778:20;769:29;;807:33;834:5;807:33;:::i;:::-;759:87;;;;:::o;869:367::-;942:8;952:6;1002:3;995:4;987:6;983:17;979:27;969:2;;1020:1;1017;1010:12;969:2;1056:6;1043:20;1033:30;;1086:18;1078:6;1075:30;1072:2;;;1118:1;1115;1108:12;1072:2;1155:4;1147:6;1143:17;1131:29;;1209:3;1201:4;1193:6;1189:17;1179:8;1175:32;1172:41;1169:2;;;1226:1;1223;1216:12;1169:2;959:277;;;;;:::o;1242:133::-;1285:5;1323:6;1310:20;1301:29;;1339:30;1363:5;1339:30;:::i;:::-;1291:84;;;;:::o;1381:139::-;1427:5;1465:6;1452:20;1443:29;;1481:33;1508:5;1481:33;:::i;:::-;1433:87;;;;:::o;1526:137::-;1571:5;1609:6;1596:20;1587:29;;1625:32;1651:5;1625:32;:::i;:::-;1577:86;;;;:::o;1669:141::-;1725:5;1756:6;1750:13;1741:22;;1772:32;1798:5;1772:32;:::i;:::-;1731:79;;;;:::o;1829:271::-;1884:5;1933:3;1926:4;1918:6;1914:17;1910:27;1900:2;;1951:1;1948;1941:12;1900:2;1991:6;1978:20;2016:78;2090:3;2082:6;2075:4;2067:6;2063:17;2016:78;:::i;:::-;2007:87;;1890:210;;;;;:::o;2120:352::-;2178:8;2188:6;2238:3;2231:4;2223:6;2219:17;2215:27;2205:2;;2256:1;2253;2246:12;2205:2;2292:6;2279:20;2269:30;;2322:18;2314:6;2311:30;2308:2;;;2354:1;2351;2344:12;2308:2;2391:4;2383:6;2379:17;2367:29;;2445:3;2437:4;2429:6;2425:17;2415:8;2411:32;2408:41;2405:2;;;2462:1;2459;2452:12;2405:2;2195:277;;;;;:::o;2492:273::-;2548:5;2597:3;2590:4;2582:6;2578:17;2574:27;2564:2;;2615:1;2612;2605:12;2564:2;2655:6;2642:20;2680:79;2755:3;2747:6;2740:4;2732:6;2728:17;2680:79;:::i;:::-;2671:88;;2554:211;;;;;:::o;2771:139::-;2817:5;2855:6;2842:20;2833:29;;2871:33;2898:5;2871:33;:::i;:::-;2823:87;;;;:::o;2916:262::-;2975:6;3024:2;3012:9;3003:7;2999:23;2995:32;2992:2;;;3040:1;3037;3030:12;2992:2;3083:1;3108:53;3153:7;3144:6;3133:9;3129:22;3108:53;:::i;:::-;3098:63;;3054:117;2982:196;;;;:::o;3184:407::-;3252:6;3260;3309:2;3297:9;3288:7;3284:23;3280:32;3277:2;;;3325:1;3322;3315:12;3277:2;3368:1;3393:53;3438:7;3429:6;3418:9;3414:22;3393:53;:::i;:::-;3383:63;;3339:117;3495:2;3521:53;3566:7;3557:6;3546:9;3542:22;3521:53;:::i;:::-;3511:63;;3466:118;3267:324;;;;;:::o;3597:552::-;3674:6;3682;3690;3739:2;3727:9;3718:7;3714:23;3710:32;3707:2;;;3755:1;3752;3745:12;3707:2;3798:1;3823:53;3868:7;3859:6;3848:9;3844:22;3823:53;:::i;:::-;3813:63;;3769:117;3925:2;3951:53;3996:7;3987:6;3976:9;3972:22;3951:53;:::i;:::-;3941:63;;3896:118;4053:2;4079:53;4124:7;4115:6;4104:9;4100:22;4079:53;:::i;:::-;4069:63;;4024:118;3697:452;;;;;:::o;4155:809::-;4250:6;4258;4266;4274;4323:3;4311:9;4302:7;4298:23;4294:33;4291:2;;;4340:1;4337;4330:12;4291:2;4383:1;4408:53;4453:7;4444:6;4433:9;4429:22;4408:53;:::i;:::-;4398:63;;4354:117;4510:2;4536:53;4581:7;4572:6;4561:9;4557:22;4536:53;:::i;:::-;4526:63;;4481:118;4638:2;4664:53;4709:7;4700:6;4689:9;4685:22;4664:53;:::i;:::-;4654:63;;4609:118;4794:2;4783:9;4779:18;4766:32;4825:18;4817:6;4814:30;4811:2;;;4857:1;4854;4847:12;4811:2;4885:62;4939:7;4930:6;4919:9;4915:22;4885:62;:::i;:::-;4875:72;;4737:220;4281:683;;;;;;;:::o;4970:401::-;5035:6;5043;5092:2;5080:9;5071:7;5067:23;5063:32;5060:2;;;5108:1;5105;5098:12;5060:2;5151:1;5176:53;5221:7;5212:6;5201:9;5197:22;5176:53;:::i;:::-;5166:63;;5122:117;5278:2;5304:50;5346:7;5337:6;5326:9;5322:22;5304:50;:::i;:::-;5294:60;;5249:115;5050:321;;;;;:::o;5377:407::-;5445:6;5453;5502:2;5490:9;5481:7;5477:23;5473:32;5470:2;;;5518:1;5515;5508:12;5470:2;5561:1;5586:53;5631:7;5622:6;5611:9;5607:22;5586:53;:::i;:::-;5576:63;;5532:117;5688:2;5714:53;5759:7;5750:6;5739:9;5735:22;5714:53;:::i;:::-;5704:63;;5659:118;5460:324;;;;;:::o;5790:262::-;5849:6;5898:2;5886:9;5877:7;5873:23;5869:32;5866:2;;;5914:1;5911;5904:12;5866:2;5957:1;5982:53;6027:7;6018:6;6007:9;6003:22;5982:53;:::i;:::-;5972:63;;5928:117;5856:196;;;;:::o;6058:260::-;6116:6;6165:2;6153:9;6144:7;6140:23;6136:32;6133:2;;;6181:1;6178;6171:12;6133:2;6224:1;6249:52;6293:7;6284:6;6273:9;6269:22;6249:52;:::i;:::-;6239:62;;6195:116;6123:195;;;;:::o;6324:282::-;6393:6;6442:2;6430:9;6421:7;6417:23;6413:32;6410:2;;;6458:1;6455;6448:12;6410:2;6501:1;6526:63;6581:7;6572:6;6561:9;6557:22;6526:63;:::i;:::-;6516:73;;6472:127;6400:206;;;;:::o;6612:395::-;6683:6;6691;6740:2;6728:9;6719:7;6715:23;6711:32;6708:2;;;6756:1;6753;6746:12;6708:2;6827:1;6816:9;6812:17;6799:31;6857:18;6849:6;6846:30;6843:2;;;6889:1;6886;6879:12;6843:2;6925:65;6982:7;6973:6;6962:9;6958:22;6925:65;:::i;:::-;6907:83;;;;6770:230;6698:309;;;;;:::o;7013:375::-;7082:6;7131:2;7119:9;7110:7;7106:23;7102:32;7099:2;;;7147:1;7144;7137:12;7099:2;7218:1;7207:9;7203:17;7190:31;7248:18;7240:6;7237:30;7234:2;;;7280:1;7277;7270:12;7234:2;7308:63;7363:7;7354:6;7343:9;7339:22;7308:63;:::i;:::-;7298:73;;7161:220;7089:299;;;;:::o;7394:262::-;7453:6;7502:2;7490:9;7481:7;7477:23;7473:32;7470:2;;;7518:1;7515;7508:12;7470:2;7561:1;7586:53;7631:7;7622:6;7611:9;7607:22;7586:53;:::i;:::-;7576:63;;7532:117;7460:196;;;;:::o;7662:570::-;7757:6;7765;7773;7822:2;7810:9;7801:7;7797:23;7793:32;7790:2;;;7838:1;7835;7828:12;7790:2;7881:1;7906:53;7951:7;7942:6;7931:9;7927:22;7906:53;:::i;:::-;7896:63;;7852:117;8036:2;8025:9;8021:18;8008:32;8067:18;8059:6;8056:30;8053:2;;;8099:1;8096;8089:12;8053:2;8135:80;8207:7;8198:6;8187:9;8183:22;8135:80;:::i;:::-;8117:98;;;;7979:246;7780:452;;;;;:::o;8238:108::-;8315:24;8333:5;8315:24;:::i;:::-;8310:3;8303:37;8293:53;;:::o;8352:118::-;8439:24;8457:5;8439:24;:::i;:::-;8434:3;8427:37;8417:53;;:::o;8476:157::-;8581:45;8601:24;8619:5;8601:24;:::i;:::-;8581:45;:::i;:::-;8576:3;8569:58;8559:74;;:::o;8639:109::-;8720:21;8735:5;8720:21;:::i;:::-;8715:3;8708:34;8698:50;;:::o;8754:157::-;8859:45;8879:24;8897:5;8879:24;:::i;:::-;8859:45;:::i;:::-;8854:3;8847:58;8837:74;;:::o;8917:360::-;9003:3;9031:38;9063:5;9031:38;:::i;:::-;9085:70;9148:6;9143:3;9085:70;:::i;:::-;9078:77;;9164:52;9209:6;9204:3;9197:4;9190:5;9186:16;9164:52;:::i;:::-;9241:29;9263:6;9241:29;:::i;:::-;9236:3;9232:39;9225:46;;9007:270;;;;;:::o;9283:364::-;9371:3;9399:39;9432:5;9399:39;:::i;:::-;9454:71;9518:6;9513:3;9454:71;:::i;:::-;9447:78;;9534:52;9579:6;9574:3;9567:4;9560:5;9556:16;9534:52;:::i;:::-;9611:29;9633:6;9611:29;:::i;:::-;9606:3;9602:39;9595:46;;9375:272;;;;;:::o;9653:377::-;9759:3;9787:39;9820:5;9787:39;:::i;:::-;9842:89;9924:6;9919:3;9842:89;:::i;:::-;9835:96;;9940:52;9985:6;9980:3;9973:4;9966:5;9962:16;9940:52;:::i;:::-;10017:6;10012:3;10008:16;10001:23;;9763:267;;;;;:::o;10036:366::-;10178:3;10199:67;10263:2;10258:3;10199:67;:::i;:::-;10192:74;;10275:93;10364:3;10275:93;:::i;:::-;10393:2;10388:3;10384:12;10377:19;;10182:220;;;:::o;10408:366::-;10550:3;10571:67;10635:2;10630:3;10571:67;:::i;:::-;10564:74;;10647:93;10736:3;10647:93;:::i;:::-;10765:2;10760:3;10756:12;10749:19;;10554:220;;;:::o;10780:366::-;10922:3;10943:67;11007:2;11002:3;10943:67;:::i;:::-;10936:74;;11019:93;11108:3;11019:93;:::i;:::-;11137:2;11132:3;11128:12;11121:19;;10926:220;;;:::o;11152:366::-;11294:3;11315:67;11379:2;11374:3;11315:67;:::i;:::-;11308:74;;11391:93;11480:3;11391:93;:::i;:::-;11509:2;11504:3;11500:12;11493:19;;11298:220;;;:::o;11524:366::-;11666:3;11687:67;11751:2;11746:3;11687:67;:::i;:::-;11680:74;;11763:93;11852:3;11763:93;:::i;:::-;11881:2;11876:3;11872:12;11865:19;;11670:220;;;:::o;11896:366::-;12038:3;12059:67;12123:2;12118:3;12059:67;:::i;:::-;12052:74;;12135:93;12224:3;12135:93;:::i;:::-;12253:2;12248:3;12244:12;12237:19;;12042:220;;;:::o;12268:366::-;12410:3;12431:67;12495:2;12490:3;12431:67;:::i;:::-;12424:74;;12507:93;12596:3;12507:93;:::i;:::-;12625:2;12620:3;12616:12;12609:19;;12414:220;;;:::o;12640:366::-;12782:3;12803:67;12867:2;12862:3;12803:67;:::i;:::-;12796:74;;12879:93;12968:3;12879:93;:::i;:::-;12997:2;12992:3;12988:12;12981:19;;12786:220;;;:::o;13012:366::-;13154:3;13175:67;13239:2;13234:3;13175:67;:::i;:::-;13168:74;;13251:93;13340:3;13251:93;:::i;:::-;13369:2;13364:3;13360:12;13353:19;;13158:220;;;:::o;13384:366::-;13526:3;13547:67;13611:2;13606:3;13547:67;:::i;:::-;13540:74;;13623:93;13712:3;13623:93;:::i;:::-;13741:2;13736:3;13732:12;13725:19;;13530:220;;;:::o;13756:366::-;13898:3;13919:67;13983:2;13978:3;13919:67;:::i;:::-;13912:74;;13995:93;14084:3;13995:93;:::i;:::-;14113:2;14108:3;14104:12;14097:19;;13902:220;;;:::o;14128:400::-;14288:3;14309:84;14391:1;14386:3;14309:84;:::i;:::-;14302:91;;14402:93;14491:3;14402:93;:::i;:::-;14520:1;14515:3;14511:11;14504:18;;14292:236;;;:::o;14534:366::-;14676:3;14697:67;14761:2;14756:3;14697:67;:::i;:::-;14690:74;;14773:93;14862:3;14773:93;:::i;:::-;14891:2;14886:3;14882:12;14875:19;;14680:220;;;:::o;14906:366::-;15048:3;15069:67;15133:2;15128:3;15069:67;:::i;:::-;15062:74;;15145:93;15234:3;15145:93;:::i;:::-;15263:2;15258:3;15254:12;15247:19;;15052:220;;;:::o;15278:366::-;15420:3;15441:67;15505:2;15500:3;15441:67;:::i;:::-;15434:74;;15517:93;15606:3;15517:93;:::i;:::-;15635:2;15630:3;15626:12;15619:19;;15424:220;;;:::o;15650:366::-;15792:3;15813:67;15877:2;15872:3;15813:67;:::i;:::-;15806:74;;15889:93;15978:3;15889:93;:::i;:::-;16007:2;16002:3;15998:12;15991:19;;15796:220;;;:::o;16022:366::-;16164:3;16185:67;16249:2;16244:3;16185:67;:::i;:::-;16178:74;;16261:93;16350:3;16261:93;:::i;:::-;16379:2;16374:3;16370:12;16363:19;;16168:220;;;:::o;16394:366::-;16536:3;16557:67;16621:2;16616:3;16557:67;:::i;:::-;16550:74;;16633:93;16722:3;16633:93;:::i;:::-;16751:2;16746:3;16742:12;16735:19;;16540:220;;;:::o;16766:366::-;16908:3;16929:67;16993:2;16988:3;16929:67;:::i;:::-;16922:74;;17005:93;17094:3;17005:93;:::i;:::-;17123:2;17118:3;17114:12;17107:19;;16912:220;;;:::o;17138:366::-;17280:3;17301:67;17365:2;17360:3;17301:67;:::i;:::-;17294:74;;17377:93;17466:3;17377:93;:::i;:::-;17495:2;17490:3;17486:12;17479:19;;17284:220;;;:::o;17510:366::-;17652:3;17673:67;17737:2;17732:3;17673:67;:::i;:::-;17666:74;;17749:93;17838:3;17749:93;:::i;:::-;17867:2;17862:3;17858:12;17851:19;;17656:220;;;:::o;17882:366::-;18024:3;18045:67;18109:2;18104:3;18045:67;:::i;:::-;18038:74;;18121:93;18210:3;18121:93;:::i;:::-;18239:2;18234:3;18230:12;18223:19;;18028:220;;;:::o;18254:366::-;18396:3;18417:67;18481:2;18476:3;18417:67;:::i;:::-;18410:74;;18493:93;18582:3;18493:93;:::i;:::-;18611:2;18606:3;18602:12;18595:19;;18400:220;;;:::o;18626:366::-;18768:3;18789:67;18853:2;18848:3;18789:67;:::i;:::-;18782:74;;18865:93;18954:3;18865:93;:::i;:::-;18983:2;18978:3;18974:12;18967:19;;18772:220;;;:::o;18998:366::-;19140:3;19161:67;19225:2;19220:3;19161:67;:::i;:::-;19154:74;;19237:93;19326:3;19237:93;:::i;:::-;19355:2;19350:3;19346:12;19339:19;;19144:220;;;:::o;19370:366::-;19512:3;19533:67;19597:2;19592:3;19533:67;:::i;:::-;19526:74;;19609:93;19698:3;19609:93;:::i;:::-;19727:2;19722:3;19718:12;19711:19;;19516:220;;;:::o;19742:366::-;19884:3;19905:67;19969:2;19964:3;19905:67;:::i;:::-;19898:74;;19981:93;20070:3;19981:93;:::i;:::-;20099:2;20094:3;20090:12;20083:19;;19888:220;;;:::o;20114:366::-;20256:3;20277:67;20341:2;20336:3;20277:67;:::i;:::-;20270:74;;20353:93;20442:3;20353:93;:::i;:::-;20471:2;20466:3;20462:12;20455:19;;20260:220;;;:::o;20556:527::-;20715:4;20710:3;20706:14;20802:4;20795:5;20791:16;20785:23;20821:63;20878:4;20873:3;20869:14;20855:12;20821:63;:::i;:::-;20730:164;20986:4;20979:5;20975:16;20969:23;21005:61;21060:4;21055:3;21051:14;21037:12;21005:61;:::i;:::-;20904:172;20684:399;;;:::o;21089:118::-;21176:24;21194:5;21176:24;:::i;:::-;21171:3;21164:37;21154:53;;:::o;21213:157::-;21318:45;21338:24;21356:5;21338:24;:::i;:::-;21318:45;:::i;:::-;21313:3;21306:58;21296:74;;:::o;21376:105::-;21451:23;21468:5;21451:23;:::i;:::-;21446:3;21439:36;21429:52;;:::o;21487:397::-;21627:3;21642:75;21713:3;21704:6;21642:75;:::i;:::-;21742:2;21737:3;21733:12;21726:19;;21755:75;21826:3;21817:6;21755:75;:::i;:::-;21855:2;21850:3;21846:12;21839:19;;21875:3;21868:10;;21631:253;;;;;:::o;21890:397::-;22030:3;22045:75;22116:3;22107:6;22045:75;:::i;:::-;22145:2;22140:3;22136:12;22129:19;;22158:75;22229:3;22220:6;22158:75;:::i;:::-;22258:2;22253:3;22249:12;22242:19;;22278:3;22271:10;;22034:253;;;;;:::o;22293:435::-;22473:3;22495:95;22586:3;22577:6;22495:95;:::i;:::-;22488:102;;22607:95;22698:3;22689:6;22607:95;:::i;:::-;22600:102;;22719:3;22712:10;;22477:251;;;;;:::o;22734:541::-;22967:3;22989:95;23080:3;23071:6;22989:95;:::i;:::-;22982:102;;23101:148;23245:3;23101:148;:::i;:::-;23094:155;;23266:3;23259:10;;22971:304;;;;:::o;23281:222::-;23374:4;23412:2;23401:9;23397:18;23389:26;;23425:71;23493:1;23482:9;23478:17;23469:6;23425:71;:::i;:::-;23379:124;;;;:::o;23509:640::-;23704:4;23742:3;23731:9;23727:19;23719:27;;23756:71;23824:1;23813:9;23809:17;23800:6;23756:71;:::i;:::-;23837:72;23905:2;23894:9;23890:18;23881:6;23837:72;:::i;:::-;23919;23987:2;23976:9;23972:18;23963:6;23919:72;:::i;:::-;24038:9;24032:4;24028:20;24023:2;24012:9;24008:18;24001:48;24066:76;24137:4;24128:6;24066:76;:::i;:::-;24058:84;;23709:440;;;;;;;:::o;24155:210::-;24242:4;24280:2;24269:9;24265:18;24257:26;;24293:65;24355:1;24344:9;24340:17;24331:6;24293:65;:::i;:::-;24247:118;;;;:::o;24371:313::-;24484:4;24522:2;24511:9;24507:18;24499:26;;24571:9;24565:4;24561:20;24557:1;24546:9;24542:17;24535:47;24599:78;24672:4;24663:6;24599:78;:::i;:::-;24591:86;;24489:195;;;;:::o;24690:419::-;24856:4;24894:2;24883:9;24879:18;24871:26;;24943:9;24937:4;24933:20;24929:1;24918:9;24914:17;24907:47;24971:131;25097:4;24971:131;:::i;:::-;24963:139;;24861:248;;;:::o;25115:419::-;25281:4;25319:2;25308:9;25304:18;25296:26;;25368:9;25362:4;25358:20;25354:1;25343:9;25339:17;25332:47;25396:131;25522:4;25396:131;:::i;:::-;25388:139;;25286:248;;;:::o;25540:419::-;25706:4;25744:2;25733:9;25729:18;25721:26;;25793:9;25787:4;25783:20;25779:1;25768:9;25764:17;25757:47;25821:131;25947:4;25821:131;:::i;:::-;25813:139;;25711:248;;;:::o;25965:419::-;26131:4;26169:2;26158:9;26154:18;26146:26;;26218:9;26212:4;26208:20;26204:1;26193:9;26189:17;26182:47;26246:131;26372:4;26246:131;:::i;:::-;26238:139;;26136:248;;;:::o;26390:419::-;26556:4;26594:2;26583:9;26579:18;26571:26;;26643:9;26637:4;26633:20;26629:1;26618:9;26614:17;26607:47;26671:131;26797:4;26671:131;:::i;:::-;26663:139;;26561:248;;;:::o;26815:419::-;26981:4;27019:2;27008:9;27004:18;26996:26;;27068:9;27062:4;27058:20;27054:1;27043:9;27039:17;27032:47;27096:131;27222:4;27096:131;:::i;:::-;27088:139;;26986:248;;;:::o;27240:419::-;27406:4;27444:2;27433:9;27429:18;27421:26;;27493:9;27487:4;27483:20;27479:1;27468:9;27464:17;27457:47;27521:131;27647:4;27521:131;:::i;:::-;27513:139;;27411:248;;;:::o;27665:419::-;27831:4;27869:2;27858:9;27854:18;27846:26;;27918:9;27912:4;27908:20;27904:1;27893:9;27889:17;27882:47;27946:131;28072:4;27946:131;:::i;:::-;27938:139;;27836:248;;;:::o;28090:419::-;28256:4;28294:2;28283:9;28279:18;28271:26;;28343:9;28337:4;28333:20;28329:1;28318:9;28314:17;28307:47;28371:131;28497:4;28371:131;:::i;:::-;28363:139;;28261:248;;;:::o;28515:419::-;28681:4;28719:2;28708:9;28704:18;28696:26;;28768:9;28762:4;28758:20;28754:1;28743:9;28739:17;28732:47;28796:131;28922:4;28796:131;:::i;:::-;28788:139;;28686:248;;;:::o;28940:419::-;29106:4;29144:2;29133:9;29129:18;29121:26;;29193:9;29187:4;29183:20;29179:1;29168:9;29164:17;29157:47;29221:131;29347:4;29221:131;:::i;:::-;29213:139;;29111:248;;;:::o;29365:419::-;29531:4;29569:2;29558:9;29554:18;29546:26;;29618:9;29612:4;29608:20;29604:1;29593:9;29589:17;29582:47;29646:131;29772:4;29646:131;:::i;:::-;29638:139;;29536:248;;;:::o;29790:419::-;29956:4;29994:2;29983:9;29979:18;29971:26;;30043:9;30037:4;30033:20;30029:1;30018:9;30014:17;30007:47;30071:131;30197:4;30071:131;:::i;:::-;30063:139;;29961:248;;;:::o;30215:419::-;30381:4;30419:2;30408:9;30404:18;30396:26;;30468:9;30462:4;30458:20;30454:1;30443:9;30439:17;30432:47;30496:131;30622:4;30496:131;:::i;:::-;30488:139;;30386:248;;;:::o;30640:419::-;30806:4;30844:2;30833:9;30829:18;30821:26;;30893:9;30887:4;30883:20;30879:1;30868:9;30864:17;30857:47;30921:131;31047:4;30921:131;:::i;:::-;30913:139;;30811:248;;;:::o;31065:419::-;31231:4;31269:2;31258:9;31254:18;31246:26;;31318:9;31312:4;31308:20;31304:1;31293:9;31289:17;31282:47;31346:131;31472:4;31346:131;:::i;:::-;31338:139;;31236:248;;;:::o;31490:419::-;31656:4;31694:2;31683:9;31679:18;31671:26;;31743:9;31737:4;31733:20;31729:1;31718:9;31714:17;31707:47;31771:131;31897:4;31771:131;:::i;:::-;31763:139;;31661:248;;;:::o;31915:419::-;32081:4;32119:2;32108:9;32104:18;32096:26;;32168:9;32162:4;32158:20;32154:1;32143:9;32139:17;32132:47;32196:131;32322:4;32196:131;:::i;:::-;32188:139;;32086:248;;;:::o;32340:419::-;32506:4;32544:2;32533:9;32529:18;32521:26;;32593:9;32587:4;32583:20;32579:1;32568:9;32564:17;32557:47;32621:131;32747:4;32621:131;:::i;:::-;32613:139;;32511:248;;;:::o;32765:419::-;32931:4;32969:2;32958:9;32954:18;32946:26;;33018:9;33012:4;33008:20;33004:1;32993:9;32989:17;32982:47;33046:131;33172:4;33046:131;:::i;:::-;33038:139;;32936:248;;;:::o;33190:419::-;33356:4;33394:2;33383:9;33379:18;33371:26;;33443:9;33437:4;33433:20;33429:1;33418:9;33414:17;33407:47;33471:131;33597:4;33471:131;:::i;:::-;33463:139;;33361:248;;;:::o;33615:419::-;33781:4;33819:2;33808:9;33804:18;33796:26;;33868:9;33862:4;33858:20;33854:1;33843:9;33839:17;33832:47;33896:131;34022:4;33896:131;:::i;:::-;33888:139;;33786:248;;;:::o;34040:419::-;34206:4;34244:2;34233:9;34229:18;34221:26;;34293:9;34287:4;34283:20;34279:1;34268:9;34264:17;34257:47;34321:131;34447:4;34321:131;:::i;:::-;34313:139;;34211:248;;;:::o;34465:419::-;34631:4;34669:2;34658:9;34654:18;34646:26;;34718:9;34712:4;34708:20;34704:1;34693:9;34689:17;34682:47;34746:131;34872:4;34746:131;:::i;:::-;34738:139;;34636:248;;;:::o;34890:419::-;35056:4;35094:2;35083:9;35079:18;35071:26;;35143:9;35137:4;35133:20;35129:1;35118:9;35114:17;35107:47;35171:131;35297:4;35171:131;:::i;:::-;35163:139;;35061:248;;;:::o;35315:419::-;35481:4;35519:2;35508:9;35504:18;35496:26;;35568:9;35562:4;35558:20;35554:1;35543:9;35539:17;35532:47;35596:131;35722:4;35596:131;:::i;:::-;35588:139;;35486:248;;;:::o;35740:419::-;35906:4;35944:2;35933:9;35929:18;35921:26;;35993:9;35987:4;35983:20;35979:1;35968:9;35964:17;35957:47;36021:131;36147:4;36021:131;:::i;:::-;36013:139;;35911:248;;;:::o;36165:346::-;36320:4;36358:2;36347:9;36343:18;36335:26;;36371:133;36501:1;36490:9;36486:17;36477:6;36371:133;:::i;:::-;36325:186;;;;:::o;36517:222::-;36610:4;36648:2;36637:9;36633:18;36625:26;;36661:71;36729:1;36718:9;36714:17;36705:6;36661:71;:::i;:::-;36615:124;;;;:::o;36745:129::-;36779:6;36806:20;;:::i;:::-;36796:30;;36835:33;36863:4;36855:6;36835:33;:::i;:::-;36786:88;;;:::o;36880:75::-;36913:6;36946:2;36940:9;36930:19;;36920:35;:::o;36961:307::-;37022:4;37112:18;37104:6;37101:30;37098:2;;;37134:18;;:::i;:::-;37098:2;37172:29;37194:6;37172:29;:::i;:::-;37164:37;;37256:4;37250;37246:15;37238:23;;37027:241;;;:::o;37274:308::-;37336:4;37426:18;37418:6;37415:30;37412:2;;;37448:18;;:::i;:::-;37412:2;37486:29;37508:6;37486:29;:::i;:::-;37478:37;;37570:4;37564;37560:15;37552:23;;37341:241;;;:::o;37588:98::-;37639:6;37673:5;37667:12;37657:22;;37646:40;;;:::o;37692:99::-;37744:6;37778:5;37772:12;37762:22;;37751:40;;;:::o;37797:168::-;37880:11;37914:6;37909:3;37902:19;37954:4;37949:3;37945:14;37930:29;;37892:73;;;;:::o;37971:169::-;38055:11;38089:6;38084:3;38077:19;38129:4;38124:3;38120:14;38105:29;;38067:73;;;;:::o;38146:148::-;38248:11;38285:3;38270:18;;38260:34;;;;:::o;38300:273::-;38340:3;38359:20;38377:1;38359:20;:::i;:::-;38354:25;;38393:20;38411:1;38393:20;:::i;:::-;38388:25;;38515:1;38479:34;38475:42;38472:1;38469:49;38466:2;;;38521:18;;:::i;:::-;38466:2;38565:1;38562;38558:9;38551:16;;38344:229;;;;:::o;38579:305::-;38619:3;38638:20;38656:1;38638:20;:::i;:::-;38633:25;;38672:20;38690:1;38672:20;:::i;:::-;38667:25;;38826:1;38758:66;38754:74;38751:1;38748:81;38745:2;;;38832:18;;:::i;:::-;38745:2;38876:1;38873;38869:9;38862:16;;38623:261;;;;:::o;38890:185::-;38930:1;38947:20;38965:1;38947:20;:::i;:::-;38942:25;;38981:20;38999:1;38981:20;:::i;:::-;38976:25;;39020:1;39010:2;;39025:18;;:::i;:::-;39010:2;39067:1;39064;39060:9;39055:14;;38932:143;;;;:::o;39081:191::-;39121:4;39141:20;39159:1;39141:20;:::i;:::-;39136:25;;39175:20;39193:1;39175:20;:::i;:::-;39170:25;;39214:1;39211;39208:8;39205:2;;;39219:18;;:::i;:::-;39205:2;39264:1;39261;39257:9;39249:17;;39126:146;;;;:::o;39278:191::-;39318:4;39338:20;39356:1;39338:20;:::i;:::-;39333:25;;39372:20;39390:1;39372:20;:::i;:::-;39367:25;;39411:1;39408;39405:8;39402:2;;;39416:18;;:::i;:::-;39402:2;39461:1;39458;39454:9;39446:17;;39323:146;;;;:::o;39475:96::-;39512:7;39541:24;39559:5;39541:24;:::i;:::-;39530:35;;39520:51;;;:::o;39577:90::-;39611:7;39654:5;39647:13;39640:21;39629:32;;39619:48;;;:::o;39673:77::-;39710:7;39739:5;39728:16;;39718:32;;;:::o;39756:149::-;39792:7;39832:66;39825:5;39821:78;39810:89;;39800:105;;;:::o;39911:118::-;39948:7;39988:34;39981:5;39977:46;39966:57;;39956:73;;;:::o;40035:126::-;40072:7;40112:42;40105:5;40101:54;40090:65;;40080:81;;;:::o;40167:77::-;40204:7;40233:5;40222:16;;40212:32;;;:::o;40250:101::-;40286:7;40326:18;40319:5;40315:30;40304:41;;40294:57;;;:::o;40357:154::-;40441:6;40436:3;40431;40418:30;40503:1;40494:6;40489:3;40485:16;40478:27;40408:103;;;:::o;40517:307::-;40585:1;40595:113;40609:6;40606:1;40603:13;40595:113;;;40694:1;40689:3;40685:11;40679:18;40675:1;40670:3;40666:11;40659:39;40631:2;40628:1;40624:10;40619:15;;40595:113;;;40726:6;40723:1;40720:13;40717:2;;;40806:1;40797:6;40792:3;40788:16;40781:27;40717:2;40566:258;;;;:::o;40830:171::-;40869:3;40892:24;40910:5;40892:24;:::i;:::-;40883:33;;40938:4;40931:5;40928:15;40925:2;;;40946:18;;:::i;:::-;40925:2;40993:1;40986:5;40982:13;40975:20;;40873:128;;;:::o;41007:320::-;41051:6;41088:1;41082:4;41078:12;41068:22;;41135:1;41129:4;41125:12;41156:18;41146:2;;41212:4;41204:6;41200:17;41190:27;;41146:2;41274;41266:6;41263:14;41243:18;41240:38;41237:2;;;41293:18;;:::i;:::-;41237:2;41058:269;;;;:::o;41333:281::-;41416:27;41438:4;41416:27;:::i;:::-;41408:6;41404:40;41546:6;41534:10;41531:22;41510:18;41498:10;41495:34;41492:62;41489:2;;;41557:18;;:::i;:::-;41489:2;41597:10;41593:2;41586:22;41376:238;;;:::o;41620:233::-;41659:3;41682:24;41700:5;41682:24;:::i;:::-;41673:33;;41728:66;41721:5;41718:77;41715:2;;;41798:18;;:::i;:::-;41715:2;41845:1;41838:5;41834:13;41827:20;;41663:190;;;:::o;41859:100::-;41898:7;41927:26;41947:5;41927:26;:::i;:::-;41916:37;;41906:53;;;:::o;41965:79::-;42004:7;42033:5;42022:16;;42012:32;;;:::o;42050:94::-;42089:7;42118:20;42132:5;42118:20;:::i;:::-;42107:31;;42097:47;;;:::o;42150:79::-;42189:7;42218:5;42207:16;;42197:32;;;:::o;42235:176::-;42267:1;42284:20;42302:1;42284:20;:::i;:::-;42279:25;;42318:20;42336:1;42318:20;:::i;:::-;42313:25;;42357:1;42347:2;;42362:18;;:::i;:::-;42347:2;42403:1;42400;42396:9;42391:14;;42269:142;;;;:::o;42417:180::-;42465:77;42462:1;42455:88;42562:4;42559:1;42552:15;42586:4;42583:1;42576:15;42603:180;42651:77;42648:1;42641:88;42748:4;42745:1;42738:15;42772:4;42769:1;42762:15;42789:180;42837:77;42834:1;42827:88;42934:4;42931:1;42924:15;42958:4;42955:1;42948:15;42975:180;43023:77;43020:1;43013:88;43120:4;43117:1;43110:15;43144:4;43141:1;43134:15;43161:102;43202:6;43253:2;43249:7;43244:2;43237:5;43233:14;43229:28;43219:38;;43209:54;;;:::o;43269:94::-;43302:8;43350:5;43346:2;43342:14;43321:35;;43311:52;;;:::o;43369:221::-;43509:34;43505:1;43497:6;43493:14;43486:58;43578:4;43573:2;43565:6;43561:15;43554:29;43475:115;:::o;43596:225::-;43736:34;43732:1;43724:6;43720:14;43713:58;43805:8;43800:2;43792:6;43788:15;43781:33;43702:119;:::o;43827:229::-;43967:34;43963:1;43955:6;43951:14;43944:58;44036:12;44031:2;44023:6;44019:15;44012:37;43933:123;:::o;44062:222::-;44202:34;44198:1;44190:6;44186:14;44179:58;44271:5;44266:2;44258:6;44254:15;44247:30;44168:116;:::o;44290:224::-;44430:34;44426:1;44418:6;44414:14;44407:58;44499:7;44494:2;44486:6;44482:15;44475:32;44396:118;:::o;44520:236::-;44660:34;44656:1;44648:6;44644:14;44637:58;44729:19;44724:2;44716:6;44712:15;44705:44;44626:130;:::o;44762:175::-;44902:27;44898:1;44890:6;44886:14;44879:51;44868:69;:::o;44943:244::-;45083:34;45079:1;45071:6;45067:14;45060:58;45152:27;45147:2;45139:6;45135:15;45128:52;45049:138;:::o;45193:161::-;45333:13;45329:1;45321:6;45317:14;45310:37;45299:55;:::o;45360:230::-;45500:34;45496:1;45488:6;45484:14;45477:58;45569:13;45564:2;45556:6;45552:15;45545:38;45466:124;:::o;45596:225::-;45736:34;45732:1;45724:6;45720:14;45713:58;45805:8;45800:2;45792:6;45788:15;45781:33;45702:119;:::o;45827:155::-;45967:7;45963:1;45955:6;45951:14;45944:31;45933:49;:::o;45988:182::-;46128:34;46124:1;46116:6;46112:14;46105:58;46094:76;:::o;46176:234::-;46316:34;46312:1;46304:6;46300:14;46293:58;46385:17;46380:2;46372:6;46368:15;46361:42;46282:128;:::o;46416:176::-;46556:28;46552:1;46544:6;46540:14;46533:52;46522:70;:::o;46598:237::-;46738:34;46734:1;46726:6;46722:14;46715:58;46807:20;46802:2;46794:6;46790:15;46783:45;46704:131;:::o;46841:165::-;46981:17;46977:1;46969:6;46965:14;46958:41;46947:59;:::o;47012:221::-;47152:34;47148:1;47140:6;47136:14;47129:58;47221:4;47216:2;47208:6;47204:15;47197:29;47118:115;:::o;47239:238::-;47379:34;47375:1;47367:6;47363:14;47356:58;47448:21;47443:2;47435:6;47431:15;47424:46;47345:132;:::o;47483:179::-;47623:31;47619:1;47611:6;47607:14;47600:55;47589:73;:::o;47668:220::-;47808:34;47804:1;47796:6;47792:14;47785:58;47877:3;47872:2;47864:6;47860:15;47853:28;47774:114;:::o;47894:231::-;48034:34;48030:1;48022:6;48018:14;48011:58;48103:14;48098:2;48090:6;48086:15;48079:39;48000:125;:::o;48131:166::-;48271:18;48267:1;48259:6;48255:14;48248:42;48237:60;:::o;48303:233::-;48443:34;48439:1;48431:6;48427:14;48420:58;48512:16;48507:2;48499:6;48495:15;48488:41;48409:127;:::o;48542:234::-;48682:34;48678:1;48670:6;48666:14;48659:58;48751:17;48746:2;48738:6;48734:15;48727:42;48648:128;:::o;48782:232::-;48922:34;48918:1;48910:6;48906:14;48899:58;48991:15;48986:2;48978:6;48974:15;48967:40;48888:126;:::o;49020:221::-;49160:34;49156:1;49148:6;49144:14;49137:58;49229:4;49224:2;49216:6;49212:15;49205:29;49126:115;:::o;49247:170::-;49387:22;49383:1;49375:6;49371:14;49364:46;49353:64;:::o;49423:122::-;49496:24;49514:5;49496:24;:::i;:::-;49489:5;49486:35;49476:2;;49535:1;49532;49525:12;49476:2;49466:79;:::o;49551:116::-;49621:21;49636:5;49621:21;:::i;:::-;49614:5;49611:32;49601:2;;49657:1;49654;49647:12;49601:2;49591:76;:::o;49673:122::-;49746:24;49764:5;49746:24;:::i;:::-;49739:5;49736:35;49726:2;;49785:1;49782;49775:12;49726:2;49716:79;:::o;49801:120::-;49873:23;49890:5;49873:23;:::i;:::-;49866:5;49863:34;49853:2;;49911:1;49908;49901:12;49853:2;49843:78;:::o;49927:122::-;50000:24;50018:5;50000:24;:::i;:::-;49993:5;49990:35;49980:2;;50039:1;50036;50029:12;49980:2;49970:79;:::o
Swarm Source
ipfs://53ec5e162bc2dafe0f5afd5df8dca6b08d16e6ac743e32b4f75bb9d697754d6b
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.