This is an implementation of ERC721A with MerkleProof. Which is a method for verifying whitelisted addresses.
This implementation contains both presale and public sale. If you want to use it, you have to edit the code. For example; merkle root hash, prices, max nfts etc. And you can delete any set function you want.
Here are some resources for understanding ERC721A
Attention: Don't use this code in your products directly. First, show the code to you developer.