```\\nfunction lastPublicSaleBatchMint(uint256 tokenCount)\\n    external\\n    payable\\n    returns (bool)\\n{\\n    if ((block.timestamp >= defaultSaleStartTime + DEFAULT_TEAMMINT_SALE)) {\\n        if (tokenCount == 0) revert InvalidTokenCountZero();\\n\\n        if (\\n            lastPublicSale[msg.sender] + tokenCount >\\n            LIMIT_IN_PUBLIC_SALE_PER_WALLET\\n        ) revert MaximumMintLimitReachedByUser();\\n\\n        if ((dutchAuctionLastPrice * tokenCount) != msg.value)\\n            revert InvalidBuyNFTPrice(\\n                (dutchAuctionLastPrice * tokenCount),\\n                msg.value\\n            );\\n\\n        lastPublicSale[msg.sender] =\\n            lastPublicSale[msg.sender] +\\n            tokenCount;\\n\\n        uint256[] memory newIDs = new uint256[](tokenCount);\\n        uint256[] memory newAmounts = new uint256[](tokenCount);\\n\\n        if (_tokenIds + tokenCount > DEFAULT_MAX_MINTING_SUPPLY)\\n            revert MaximumMintSupplyReached();\\n\\n        for (uint256 i = 0; i < tokenCount; i++) {\\n            _tokenIds++;\\n\\n            newIDs[i] = _tokenIds;\\n            newAmounts[i] = 1;\\n        }\\n\\n        emit NewNFTBatchMintedOnLastPublicSale(\\n            newIDs,\\n            msg.sender,\\n            msg.value\\n        );\\n\\n        _mintBatch(msg.sender, newIDs, newAmounts, "");\\n\\n        return true;\\n    } else {\\n        revert UnAuthorizedRequest();\\n    }\\n}\\n```\\n