{
  "compiler": {
    "version": "0.8.27+commit.40a35a09"
  },
  "language": "Solidity",
  "output": {
    "abi": [
      {
        "inputs": [
          {
            "internalType": "string",
            "name": "name_",
            "type": "string"
          },
          {
            "internalType": "string",
            "name": "symbol_",
            "type": "string"
          },
          {
            "internalType": "string",
            "name": "baseTokenURI_",
            "type": "string"
          },
          {
            "internalType": "address",
            "name": "proxyRegistryAddress_",
            "type": "address"
          },
          {
            "internalType": "address payable",
            "name": "wallet_",
            "type": "address"
          }
        ],
        "stateMutability": "nonpayable",
        "type": "constructor"
      },
      {
        "inputs": [
          {
            "internalType": "uint256",
            "name": "numerator",
            "type": "uint256"
          },
          {
            "internalType": "uint256",
            "name": "denominator",
            "type": "uint256"
          }
        ],
        "type": "error",
        "name": "ERC2981InvalidDefaultRoyalty"
      },
      {
        "inputs": [
          {
            "internalType": "address",
            "name": "receiver",
            "type": "address"
          }
        ],
        "type": "error",
        "name": "ERC2981InvalidDefaultRoyaltyReceiver"
      },
      {
        "inputs": [
          {
            "internalType": "uint256",
            "name": "tokenId",
            "type": "uint256"
          },
          {
            "internalType": "uint256",
            "name": "numerator",
            "type": "uint256"
          },
          {
            "internalType": "uint256",
            "name": "denominator",
            "type": "uint256"
          }
        ],
        "type": "error",
        "name": "ERC2981InvalidTokenRoyalty"
      },
      {
        "inputs": [
          {
            "internalType": "uint256",
            "name": "tokenId",
            "type": "uint256"
          },
          {
            "internalType": "address",
            "name": "receiver",
            "type": "address"
          }
        ],
        "type": "error",
        "name": "ERC2981InvalidTokenRoyaltyReceiver"
      },
      {
        "inputs": [],
        "type": "error",
        "name": "ERC721EnumerableForbiddenBatchMint"
      },
      {
        "inputs": [
          {
            "internalType": "address",
            "name": "sender",
            "type": "address"
          },
          {
            "internalType": "uint256",
            "name": "tokenId",
            "type": "uint256"
          },
          {
            "internalType": "address",
            "name": "owner",
            "type": "address"
          }
        ],
        "type": "error",
        "name": "ERC721IncorrectOwner"
      },
      {
        "inputs": [
          {
            "internalType": "address",
            "name": "operator",
            "type": "address"
          },
          {
            "internalType": "uint256",
            "name": "tokenId",
            "type": "uint256"
          }
        ],
        "type": "error",
        "name": "ERC721InsufficientApproval"
      },
      {
        "inputs": [
          {
            "internalType": "address",
            "name": "approver",
            "type": "address"
          }
        ],
        "type": "error",
        "name": "ERC721InvalidApprover"
      },
      {
        "inputs": [
          {
            "internalType": "address",
            "name": "operator",
            "type": "address"
          }
        ],
        "type": "error",
        "name": "ERC721InvalidOperator"
      },
      {
        "inputs": [
          {
            "internalType": "address",
            "name": "owner",
            "type": "address"
          }
        ],
        "type": "error",
        "name": "ERC721InvalidOwner"
      },
      {
        "inputs": [
          {
            "internalType": "address",
            "name": "receiver",
            "type": "address"
          }
        ],
        "type": "error",
        "name": "ERC721InvalidReceiver"
      },
      {
        "inputs": [
          {
            "internalType": "address",
            "name": "sender",
            "type": "address"
          }
        ],
        "type": "error",
        "name": "ERC721InvalidSender"
      },
      {
        "inputs": [
          {
            "internalType": "uint256",
            "name": "tokenId",
            "type": "uint256"
          }
        ],
        "type": "error",
        "name": "ERC721NonexistentToken"
      },
      {
        "inputs": [
          {
            "internalType": "address",
            "name": "owner",
            "type": "address"
          },
          {
            "internalType": "uint256",
            "name": "index",
            "type": "uint256"
          }
        ],
        "type": "error",
        "name": "ERC721OutOfBoundsIndex"
      },
      {
        "inputs": [],
        "type": "error",
        "name": "EnforcedPause"
      },
      {
        "inputs": [],
        "type": "error",
        "name": "ExpectedPause"
      },
      {
        "inputs": [
          {
            "internalType": "address",
            "name": "owner",
            "type": "address"
          }
        ],
        "type": "error",
        "name": "OwnableInvalidOwner"
      },
      {
        "inputs": [
          {
            "internalType": "address",
            "name": "account",
            "type": "address"
          }
        ],
        "type": "error",
        "name": "OwnableUnauthorizedAccount"
      },
      {
        "inputs": [],
        "type": "error",
        "name": "ReentrancyGuardReentrantCall"
      },
      {
        "inputs": [
          {
            "internalType": "address",
            "name": "owner",
            "type": "address",
            "indexed": true
          },
          {
            "internalType": "address",
            "name": "approved",
            "type": "address",
            "indexed": true
          },
          {
            "internalType": "uint256",
            "name": "tokenId",
            "type": "uint256",
            "indexed": true
          }
        ],
        "type": "event",
        "name": "Approval",
        "anonymous": false
      },
      {
        "inputs": [
          {
            "internalType": "address",
            "name": "owner",
            "type": "address",
            "indexed": true
          },
          {
            "internalType": "address",
            "name": "operator",
            "type": "address",
            "indexed": true
          },
          {
            "internalType": "bool",
            "name": "approved",
            "type": "bool",
            "indexed": false
          }
        ],
        "type": "event",
        "name": "ApprovalForAll",
        "anonymous": false
      },
      {
        "inputs": [
          {
            "internalType": "address",
            "name": "account",
            "type": "address",
            "indexed": false
          }
        ],
        "type": "event",
        "name": "MintPaused",
        "anonymous": false
      },
      {
        "inputs": [
          {
            "internalType": "address",
            "name": "account",
            "type": "address",
            "indexed": false
          }
        ],
        "type": "event",
        "name": "MintUnpaused",
        "anonymous": false
      },
      {
        "inputs": [
          {
            "internalType": "address",
            "name": "previousOwner",
            "type": "address",
            "indexed": true
          },
          {
            "internalType": "address",
            "name": "newOwner",
            "type": "address",
            "indexed": true
          }
        ],
        "type": "event",
        "name": "OwnershipTransferred",
        "anonymous": false
      },
      {
        "inputs": [
          {
            "internalType": "address",
            "name": "account",
            "type": "address",
            "indexed": false
          }
        ],
        "type": "event",
        "name": "Paused",
        "anonymous": false
      },
      {
        "inputs": [
          {
            "internalType": "string",
            "name": "_value",
            "type": "string",
            "indexed": false
          },
          {
            "internalType": "uint256",
            "name": "_id",
            "type": "uint256",
            "indexed": true
          }
        ],
        "type": "event",
        "name": "PermanentURI",
        "anonymous": false
      },
      {
        "inputs": [
          {
            "internalType": "address",
            "name": "from",
            "type": "address",
            "indexed": true
          },
          {
            "internalType": "address",
            "name": "to",
            "type": "address",
            "indexed": true
          },
          {
            "internalType": "uint256",
            "name": "tokenId",
            "type": "uint256",
            "indexed": true
          }
        ],
        "type": "event",
        "name": "Transfer",
        "anonymous": false
      },
      {
        "inputs": [
          {
            "internalType": "address",
            "name": "account",
            "type": "address",
            "indexed": false
          }
        ],
        "type": "event",
        "name": "Unpaused",
        "anonymous": false
      },
      {
        "inputs": [],
        "stateMutability": "view",
        "type": "function",
        "name": "MAX_PER_TX",
        "outputs": [
          {
            "internalType": "uint256",
            "name": "",
            "type": "uint256"
          }
        ]
      },
      {
        "inputs": [],
        "stateMutability": "view",
        "type": "function",
        "name": "MAX_SUPPLY",
        "outputs": [
          {
            "internalType": "uint256",
            "name": "",
            "type": "uint256"
          }
        ]
      },
      {
        "inputs": [],
        "stateMutability": "view",
        "type": "function",
        "name": "PRICE_IN_WEI_PUBLIC",
        "outputs": [
          {
            "internalType": "uint256",
            "name": "",
            "type": "uint256"
          }
        ]
      },
      {
        "inputs": [],
        "stateMutability": "view",
        "type": "function",
        "name": "PRICE_IN_WEI_WHITELIST",
        "outputs": [
          {
            "internalType": "uint256",
            "name": "",
            "type": "uint256"
          }
        ]
      },
      {
        "inputs": [],
        "stateMutability": "view",
        "type": "function",
        "name": "RESERVES",
        "outputs": [
          {
            "internalType": "uint256",
            "name": "",
            "type": "uint256"
          }
        ]
      },
      {
        "inputs": [],
        "stateMutability": "view",
        "type": "function",
        "name": "ROYALTIES_IN_BASIS_POINTS",
        "outputs": [
          {
            "internalType": "uint96",
            "name": "",
            "type": "uint96"
          }
        ]
      },
      {
        "inputs": [],
        "stateMutability": "view",
        "type": "function",
        "name": "_proxyRegistryAddress",
        "outputs": [
          {
            "internalType": "address",
            "name": "",
            "type": "address"
          }
        ]
      },
      {
        "inputs": [],
        "stateMutability": "view",
        "type": "function",
        "name": "_whitelistMerkleRoot",
        "outputs": [
          {
            "internalType": "bytes32",
            "name": "",
            "type": "bytes32"
          }
        ]
      },
      {
        "inputs": [
          {
            "internalType": "address",
            "name": "to",
            "type": "address"
          },
          {
            "internalType": "uint256",
            "name": "tokenId",
            "type": "uint256"
          }
        ],
        "stateMutability": "nonpayable",
        "type": "function",
        "name": "approve"
      },
      {
        "inputs": [
          {
            "internalType": "address",
            "name": "owner",
            "type": "address"
          }
        ],
        "stateMutability": "view",
        "type": "function",
        "name": "balanceOf",
        "outputs": [
          {
            "internalType": "uint256",
            "name": "",
            "type": "uint256"
          }
        ]
      },
      {
        "inputs": [
          {
            "internalType": "address",
            "name": "_from",
            "type": "address"
          },
          {
            "internalType": "address",
            "name": "_to",
            "type": "address"
          },
          {
            "internalType": "uint256[]",
            "name": "_tokenIds",
            "type": "uint256[]"
          },
          {
            "internalType": "bytes",
            "name": "data_",
            "type": "bytes"
          }
        ],
        "stateMutability": "nonpayable",
        "type": "function",
        "name": "batchSafeTransferFrom"
      },
      {
        "inputs": [
          {
            "internalType": "address",
            "name": "_from",
            "type": "address"
          },
          {
            "internalType": "address",
            "name": "_to",
            "type": "address"
          },
          {
            "internalType": "uint256[]",
            "name": "_tokenIds",
            "type": "uint256[]"
          }
        ],
        "stateMutability": "nonpayable",
        "type": "function",
        "name": "batchTransferFrom"
      },
      {
        "inputs": [
          {
            "internalType": "uint256",
            "name": "tokenId",
            "type": "uint256"
          }
        ],
        "stateMutability": "nonpayable",
        "type": "function",
        "name": "burn"
      },
      {
        "inputs": [],
        "stateMutability": "nonpayable",
        "type": "function",
        "name": "collectReserves"
      },
      {
        "inputs": [],
        "stateMutability": "nonpayable",
        "type": "function",
        "name": "disableWhitelistMerkleRoot"
      },
      {
        "inputs": [],
        "stateMutability": "nonpayable",
        "type": "function",
        "name": "freeze"
      },
      {
        "inputs": [],
        "stateMutability": "nonpayable",
        "type": "function",
        "name": "freezeAllTokens"
      },
      {
        "inputs": [
          {
            "internalType": "uint256",
            "name": "tokenId",
            "type": "uint256"
          }
        ],
        "stateMutability": "nonpayable",
        "type": "function",
        "name": "freezeToken"
      },
      {
        "inputs": [],
        "stateMutability": "view",
        "type": "function",
        "name": "frozen",
        "outputs": [
          {
            "internalType": "bool",
            "name": "",
            "type": "bool"
          }
        ]
      },
      {
        "inputs": [
          {
            "internalType": "string",
            "name": "allowance",
            "type": "string"
          },
          {
            "internalType": "bytes32[]",
            "name": "proof",
            "type": "bytes32[]"
          }
        ],
        "stateMutability": "view",
        "type": "function",
        "name": "getAllowance",
        "outputs": [
          {
            "internalType": "string",
            "name": "",
            "type": "string"
          }
        ]
      },
      {
        "inputs": [
          {
            "internalType": "uint256",
            "name": "tokenId",
            "type": "uint256"
          }
        ],
        "stateMutability": "view",
        "type": "function",
        "name": "getApproved",
        "outputs": [
          {
            "internalType": "address",
            "name": "",
            "type": "address"
          }
        ]
      },
      {
        "inputs": [
          {
            "internalType": "address[]",
            "name": "recipients_",
            "type": "address[]"
          }
        ],
        "stateMutability": "nonpayable",
        "type": "function",
        "name": "gift"
      },
      {
        "inputs": [
          {
            "internalType": "address",
            "name": "account",
            "type": "address"
          },
          {
            "internalType": "uint128",
            "name": "value",
            "type": "uint128"
          }
        ],
        "stateMutability": "nonpayable",
        "type": "function",
        "name": "increaseBalance"
      },
      {
        "inputs": [
          {
            "internalType": "address",
            "name": "_owner",
            "type": "address"
          },
          {
            "internalType": "address",
            "name": "operator",
            "type": "address"
          }
        ],
        "stateMutability": "view",
        "type": "function",
        "name": "isApprovedForAll",
        "outputs": [
          {
            "internalType": "bool",
            "name": "",
            "type": "bool"
          }
        ]
      },
      {
        "inputs": [],
        "stateMutability": "view",
        "type": "function",
        "name": "mintPaused",
        "outputs": [
          {
            "internalType": "bool",
            "name": "",
            "type": "bool"
          }
        ]
      },
      {
        "inputs": [],
        "stateMutability": "view",
        "type": "function",
        "name": "name",
        "outputs": [
          {
            "internalType": "string",
            "name": "",
            "type": "string"
          }
        ]
      },
      {
        "inputs": [],
        "stateMutability": "view",
        "type": "function",
        "name": "owner",
        "outputs": [
          {
            "internalType": "address",
            "name": "",
            "type": "address"
          }
        ]
      },
      {
        "inputs": [
          {
            "internalType": "uint256",
            "name": "tokenId",
            "type": "uint256"
          }
        ],
        "stateMutability": "view",
        "type": "function",
        "name": "ownerOf",
        "outputs": [
          {
            "internalType": "address",
            "name": "",
            "type": "address"
          }
        ]
      },
      {
        "inputs": [],
        "stateMutability": "nonpayable",
        "type": "function",
        "name": "pause"
      },
      {
        "inputs": [],
        "stateMutability": "nonpayable",
        "type": "function",
        "name": "pauseMint"
      },
      {
        "inputs": [],
        "stateMutability": "view",
        "type": "function",
        "name": "paused",
        "outputs": [
          {
            "internalType": "bool",
            "name": "",
            "type": "bool"
          }
        ]
      },
      {
        "inputs": [
          {
            "internalType": "uint256",
            "name": "count",
            "type": "uint256"
          }
        ],
        "stateMutability": "payable",
        "type": "function",
        "name": "publicMint"
      },
      {
        "inputs": [],
        "stateMutability": "nonpayable",
        "type": "function",
        "name": "renounceOwnership"
      },
      {
        "inputs": [
          {
            "internalType": "uint256",
            "name": "tokenId",
            "type": "uint256"
          },
          {
            "internalType": "uint256",
            "name": "salePrice",
            "type": "uint256"
          }
        ],
        "stateMutability": "view",
        "type": "function",
        "name": "royaltyInfo",
        "outputs": [
          {
            "internalType": "address",
            "name": "receiver",
            "type": "address"
          },
          {
            "internalType": "uint256",
            "name": "amount",
            "type": "uint256"
          }
        ]
      },
      {
        "inputs": [
          {
            "internalType": "address",
            "name": "from",
            "type": "address"
          },
          {
            "internalType": "address",
            "name": "to",
            "type": "address"
          },
          {
            "internalType": "uint256",
            "name": "tokenId",
            "type": "uint256"
          }
        ],
        "stateMutability": "nonpayable",
        "type": "function",
        "name": "safeTransferFrom"
      },
      {
        "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"
          }
        ],
        "stateMutability": "nonpayable",
        "type": "function",
        "name": "safeTransferFrom"
      },
      {
        "inputs": [
          {
            "internalType": "address",
            "name": "operator",
            "type": "address"
          },
          {
            "internalType": "bool",
            "name": "approved",
            "type": "bool"
          }
        ],
        "stateMutability": "nonpayable",
        "type": "function",
        "name": "setApprovalForAll"
      },
      {
        "inputs": [
          {
            "internalType": "string",
            "name": "baseTokenURI_",
            "type": "string"
          }
        ],
        "stateMutability": "nonpayable",
        "type": "function",
        "name": "setBaseURI"
      },
      {
        "inputs": [
          {
            "internalType": "address",
            "name": "proxyRegistryAddress_",
            "type": "address"
          }
        ],
        "stateMutability": "nonpayable",
        "type": "function",
        "name": "setProxyRegistryAddress"
      },
      {
        "inputs": [
          {
            "internalType": "bytes32",
            "name": "whitelistMerkleRoot_",
            "type": "bytes32"
          }
        ],
        "stateMutability": "nonpayable",
        "type": "function",
        "name": "setWhitelistMerkleRoot"
      },
      {
        "inputs": [],
        "stateMutability": "nonpayable",
        "type": "function",
        "name": "startPublicSale"
      },
      {
        "inputs": [
          {
            "internalType": "bytes4",
            "name": "interfaceId",
            "type": "bytes4"
          }
        ],
        "stateMutability": "view",
        "type": "function",
        "name": "supportsInterface",
        "outputs": [
          {
            "internalType": "bool",
            "name": "",
            "type": "bool"
          }
        ]
      },
      {
        "inputs": [],
        "stateMutability": "view",
        "type": "function",
        "name": "symbol",
        "outputs": [
          {
            "internalType": "string",
            "name": "",
            "type": "string"
          }
        ]
      },
      {
        "inputs": [
          {
            "internalType": "uint256",
            "name": "index",
            "type": "uint256"
          }
        ],
        "stateMutability": "view",
        "type": "function",
        "name": "tokenByIndex",
        "outputs": [
          {
            "internalType": "uint256",
            "name": "",
            "type": "uint256"
          }
        ]
      },
      {
        "inputs": [
          {
            "internalType": "address",
            "name": "owner",
            "type": "address"
          },
          {
            "internalType": "uint256",
            "name": "index",
            "type": "uint256"
          }
        ],
        "stateMutability": "view",
        "type": "function",
        "name": "tokenOfOwnerByIndex",
        "outputs": [
          {
            "internalType": "uint256",
            "name": "",
            "type": "uint256"
          }
        ]
      },
      {
        "inputs": [
          {
            "internalType": "uint256",
            "name": "tokenId",
            "type": "uint256"
          }
        ],
        "stateMutability": "view",
        "type": "function",
        "name": "tokenURI",
        "outputs": [
          {
            "internalType": "string",
            "name": "",
            "type": "string"
          }
        ]
      },
      {
        "inputs": [],
        "stateMutability": "view",
        "type": "function",
        "name": "totalSupply",
        "outputs": [
          {
            "internalType": "uint256",
            "name": "",
            "type": "uint256"
          }
        ]
      },
      {
        "inputs": [
          {
            "internalType": "address",
            "name": "from",
            "type": "address"
          },
          {
            "internalType": "address",
            "name": "to",
            "type": "address"
          },
          {
            "internalType": "uint256",
            "name": "tokenId",
            "type": "uint256"
          }
        ],
        "stateMutability": "nonpayable",
        "type": "function",
        "name": "transferFrom"
      },
      {
        "inputs": [
          {
            "internalType": "address",
            "name": "newOwner",
            "type": "address"
          }
        ],
        "stateMutability": "nonpayable",
        "type": "function",
        "name": "transferOwnership"
      },
      {
        "inputs": [],
        "stateMutability": "nonpayable",
        "type": "function",
        "name": "unpause"
      },
      {
        "inputs": [],
        "stateMutability": "nonpayable",
        "type": "function",
        "name": "unpauseMint"
      },
      {
        "inputs": [
          {
            "internalType": "address",
            "name": "to",
            "type": "address"
          },
          {
            "internalType": "uint256",
            "name": "tokenId",
            "type": "uint256"
          },
          {
            "internalType": "address",
            "name": "auth",
            "type": "address"
          }
        ],
        "stateMutability": "nonpayable",
        "type": "function",
        "name": "update",
        "outputs": [
          {
            "internalType": "address",
            "name": "",
            "type": "address"
          }
        ]
      },
      {
        "inputs": [],
        "stateMutability": "view",
        "type": "function",
        "name": "wallet",
        "outputs": [
          {
            "internalType": "address",
            "name": "",
            "type": "address"
          }
        ]
      },
      {
        "inputs": [
          {
            "internalType": "uint256",
            "name": "count",
            "type": "uint256"
          },
          {
            "internalType": "uint256",
            "name": "allowance",
            "type": "uint256"
          },
          {
            "internalType": "bytes32[]",
            "name": "proof",
            "type": "bytes32[]"
          }
        ],
        "stateMutability": "payable",
        "type": "function",
        "name": "whitelistMint"
      },
      {
        "inputs": [],
        "stateMutability": "nonpayable",
        "type": "function",
        "name": "withdraw"
      }
    ],
    "devdoc": {
      "kind": "dev",
      "methods": {
        "approve(address,uint256)": {
          "details": "See {IERC721-approve}."
        },
        "balanceOf(address)": {
          "details": "See {IERC721-balanceOf}."
        },
        "burn(uint256)": {
          "details": "Burns `tokenId`. See {ERC721-_burn}. Requirements: - The caller must own `tokenId` or be an approved operator."
        },
        "getApproved(uint256)": {
          "details": "See {IERC721-getApproved}."
        },
        "name()": {
          "details": "See {IERC721Metadata-name}."
        },
        "owner()": {
          "details": "Returns the address of the current owner."
        },
        "ownerOf(uint256)": {
          "details": "See {IERC721-ownerOf}."
        },
        "paused()": {
          "details": "Returns true if the contract is paused, and false otherwise."
        },
        "renounceOwnership()": {
          "details": "Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."
        },
        "royaltyInfo(uint256,uint256)": {
          "details": "Returns how much royalty is owed and to whom, based on a sale price that may be denominated in any unit of exchange. The royalty amount is denominated and should be paid in that same unit of exchange. NOTE: ERC-2981 allows setting the royalty to 100% of the price. In that case all the price would be sent to the royalty receiver and 0 tokens to the seller. Contracts dealing with royalty should consider empty transfers."
        },
        "safeTransferFrom(address,address,uint256)": {
          "details": "See {IERC721-safeTransferFrom}."
        },
        "safeTransferFrom(address,address,uint256,bytes)": {
          "details": "See {IERC721-safeTransferFrom}."
        },
        "setApprovalForAll(address,bool)": {
          "details": "See {IERC721-setApprovalForAll}."
        },
        "symbol()": {
          "details": "See {IERC721Metadata-symbol}."
        },
        "tokenByIndex(uint256)": {
          "details": "See {IERC721Enumerable-tokenByIndex}."
        },
        "tokenOfOwnerByIndex(address,uint256)": {
          "details": "See {IERC721Enumerable-tokenOfOwnerByIndex}."
        },
        "tokenURI(uint256)": {
          "details": "See {IERC721Metadata-tokenURI}."
        },
        "totalSupply()": {
          "details": "See {IERC721Enumerable-totalSupply}."
        },
        "transferFrom(address,address,uint256)": {
          "details": "See {IERC721-transferFrom}."
        },
        "transferOwnership(address)": {
          "details": "Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."
        }
      },
      "version": 1
    },
    "userdoc": {
      "kind": "user",
      "methods": {},
      "version": 1
    }
  },
  "settings": {
    "remappings": [
      "@openzeppelin/=node_modules/@openzeppelin/",
      "eth-gas-reporter/=node_modules/eth-gas-reporter/",
      "forge-std/=lib/forge-std/src/",
      "hardhat/=node_modules/hardhat/"
    ],
    "optimizer": {
      "enabled": true,
      "runs": 10000
    },
    "metadata": {
      "bytecodeHash": "ipfs"
    },
    "compilationTarget": {
      "contracts/ExampleERC721.sol": "ExampleERC721"
    },
    "evmVersion": "cancun",
    "libraries": {},
    "viaIR": true
  },
  "sources": {
    "contracts/ExampleERC721.sol": {
      "keccak256": "0x7727dcfeac266594b597702d0d969ed7af3f70bef2c4717a430d13afede2b470",
      "urls": [
        "bzz-raw://df8a3ed34eaedd609b1d534af02a849b1e854b863fc9a7ab5cfd1ea15fe7a14f",
        "dweb:/ipfs/QmZv9kMuhrZXnpwVe1F3pZviT3v6Cz15GWVgS9cWLtsRDk"
      ],
      "license": "FSL-1.1-MIT"
    },
    "contracts/extensions/ERC721Batch.sol": {
      "keccak256": "0x8ba70d6a50e0e6335deab1cccc330ccb5a2d9492b2ca77036c4ba258720593c7",
      "urls": [
        "bzz-raw://340301018886f7cb167425b6d4acd6d0adeebaad799c61fedb86531c39df75ff",
        "dweb:/ipfs/QmWj1Pgvc8sMeKHXD3SqmJ2dTmiFB7vAjCmMBGrJrn5vjh"
      ],
      "license": "UNLICENSED"
    },
    "contracts/extensions/ERC721Freezable.sol": {
      "keccak256": "0xb1ec1653e934e10389a34b0ffe3c79a3063581b154a42f598ab7326c35875032",
      "urls": [
        "bzz-raw://f50ea1cb071f97dff88c9fb5381040c37f5622768c1de0a64f5cc06ad0467828",
        "dweb:/ipfs/QmeZfnPxQPXwfNDWVXB6evFSFxmNKhNssGPWJKW7PDbcH7"
      ],
      "license": "UNLICENSED"
    },
    "contracts/extensions/ERC721MintPausable.sol": {
      "keccak256": "0x9fdefa84aafd8fa10e976ede921229f219a3559d59883ef984981f1dc06a52e2",
      "urls": [
        "bzz-raw://291762a7ff5d28d39be7199a195fffc7926201921105b9a06b68b9c546229846",
        "dweb:/ipfs/QmX1AVcsVSqz9VCrNVVSh5DgHBrxnu7LspbYiYjZvHEmEL"
      ],
      "license": "UNLICENSED"
    },
    "contracts/extensions/ERC721OpenSeaGassLess.sol": {
      "keccak256": "0x6a3c225bdca6720c52e579355a380d97549614f865df519c79e15b340c71d5a7",
      "urls": [
        "bzz-raw://91e2a5a3ddf450c9e521b7cc9595634b1f66d08b23894e40f3b9cdbe535b2b4c",
        "dweb:/ipfs/QmNa4ieaK4a8rQCGM3ZhN2akNcjEk5kua7zVRXScKkXG9V"
      ],
      "license": "UNLICENSED"
    },
    "contracts/extensions/ERC721Whitelist.sol": {
      "keccak256": "0x82388fd65856b4b32971b0dc4464040ef4686c6f4dfde247284b8c69d958f1b9",
      "urls": [
        "bzz-raw://ba312d6fcdae6fb9734a1933d48350b5da33c1634e6ac9e8717fac7f420a1a25",
        "dweb:/ipfs/QmZR3kfDiF3uPB2LkwM2raGUWxjtNYgHUfcEkHMB8aHZg4"
      ],
      "license": "UNLICENSED"
    },
    "node_modules/@openzeppelin/contracts/access/Ownable.sol": {
      "keccak256": "0xff6d0bb2e285473e5311d9d3caacb525ae3538a80758c10649a4d61029b017bb",
      "urls": [
        "bzz-raw://8ed324d3920bb545059d66ab97d43e43ee85fd3bd52e03e401f020afb0b120f6",
        "dweb:/ipfs/QmfEckWLmZkDDcoWrkEvMWhms66xwTLff9DDhegYpvHo1a"
      ],
      "license": "MIT"
    },
    "node_modules/@openzeppelin/contracts/interfaces/IERC2981.sol": {
      "keccak256": "0x3b017a19c1730050d0fdff8dfa9255741634699aa4217442724746ca49e13292",
      "urls": [
        "bzz-raw://05530a2959e8be01cd88993970924cd6081c3462395f6fc0e73c034519259b05",
        "dweb:/ipfs/QmXAG8dF9fiYE8iVWJYWxmbEMNL6RvBAxzRGq2nyLanB2M"
      ],
      "license": "MIT"
    },
    "node_modules/@openzeppelin/contracts/interfaces/draft-IERC6093.sol": {
      "keccak256": "0x880da465c203cec76b10d72dbd87c80f387df4102274f23eea1f9c9b0918792b",
      "urls": [
        "bzz-raw://399594cd8bb0143bc9e55e0f1d071d0d8c850a394fb7a319d50edd55d9ed822b",
        "dweb:/ipfs/QmbPZzgtT6LEm9CMqWfagQFwETbV1ztpECBB1DtQHrKiRz"
      ],
      "license": "MIT"
    },
    "node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol": {
      "keccak256": "0x39ed367e54765186281efcfe83e47cf0ad62cc879f10e191360712507125f29a",
      "urls": [
        "bzz-raw://2c5ae6d85bd48cca8d6d2fcec8c63efd86f56f8a5832577a47e403ce0e65cb09",
        "dweb:/ipfs/QmUtcS8AbRSWhuc61puYet58os8FvSqm329ChoW8wwZXZk"
      ],
      "license": "MIT"
    },
    "node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol": {
      "keccak256": "0x5dc63d1c6a12fe1b17793e1745877b2fcbe1964c3edfd0a482fac21ca8f18261",
      "urls": [
        "bzz-raw://6b7f97c5960a50fd1822cb298551ffc908e37b7893a68d6d08bce18a11cb0f11",
        "dweb:/ipfs/QmQQvxBytoY1eBt3pRQDmvH2hZ2yjhs12YqVfzGm7KSURq"
      ],
      "license": "MIT"
    },
    "node_modules/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol": {
      "keccak256": "0xb5afb8e8eebc4d1c6404df2f5e1e6d2c3d24fd01e5dfc855314951ecfaae462d",
      "urls": [
        "bzz-raw://78586466c424f076c6a2a551d848cfbe3f7c49e723830807598484a1047b3b34",
        "dweb:/ipfs/Qmb717ovcFxm7qgNKEShiV6M9SPR3v1qnNpAGH84D6w29p"
      ],
      "license": "MIT"
    },
    "node_modules/@openzeppelin/contracts/token/ERC721/extensions/ERC721Burnable.sol": {
      "keccak256": "0xdee1ff07172e443c6600581fc4f11e7830a6d33e4e551752935b835d52a09404",
      "urls": [
        "bzz-raw://c503b5573ecd8d18157903b6760e02e8f86b47238c997d6dd04b99df74ef532d",
        "dweb:/ipfs/QmSGcRgfe18dtR4t3erYBSq3W6tPGXHPZ3JKkD1yFJsNsm"
      ],
      "license": "MIT"
    },
    "node_modules/@openzeppelin/contracts/token/ERC721/extensions/ERC721Enumerable.sol": {
      "keccak256": "0x5191f783af281c75b7de0f1e3e36cdc6ac5cb2358d929584c4953fd02fa2b5eb",
      "urls": [
        "bzz-raw://d3ca2689d95ba45e297e55c8f71112e3ccec701d0087cb5e1c6ecb1b9ce86f00",
        "dweb:/ipfs/QmNQ5xKxJpF9k7AahnmJYvg5XeGSYtRig2Lp2WHmWXyBze"
      ],
      "license": "MIT"
    },
    "node_modules/@openzeppelin/contracts/token/ERC721/extensions/ERC721Pausable.sol": {
      "keccak256": "0xc99d280642a1590b7a9a65220b4a606576ad1f51f2773b997eff3d340501c44b",
      "urls": [
        "bzz-raw://e0aebdcae05832b3253bedd5575458fa4b9abca6a203966d72690e62efe98890",
        "dweb:/ipfs/QmbeFZ6X7VksJmRqncuas8cjsYGXPN8FBYtV9PGmpmup8f"
      ],
      "license": "MIT"
    },
    "node_modules/@openzeppelin/contracts/token/ERC721/extensions/ERC721Royalty.sol": {
      "keccak256": "0x6931eb56297ef01d684f2b24b36f67949a8754ee753789d71b425be2dec8cf8b",
      "urls": [
        "bzz-raw://9b67cd3c0f0dc7c3d8326321dbf9a80b92a85d0efe37d234d137d87e61af1fd0",
        "dweb:/ipfs/Qmbh2jmGvFJECA4RkTiQDjAMsRcw7vJEgQBFRrA3BXC5ij"
      ],
      "license": "MIT"
    },
    "node_modules/@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol": {
      "keccak256": "0x3d6954a93ac198a2ffa384fa58ccf18e7e235263e051a394328002eff4e073de",
      "urls": [
        "bzz-raw://1f58c799bd939d3951c94893e83ef86acd56989d1d7db7f9d180c515e29e28ff",
        "dweb:/ipfs/QmTgAxHAAys4kq9ZfU9YB24MWYoHLGAKSxnYUigPFrNW7g"
      ],
      "license": "MIT"
    },
    "node_modules/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol": {
      "keccak256": "0x37d1aaaa5a2908a09e9dcf56a26ddf762ecf295afb5964695937344fc6802ce1",
      "urls": [
        "bzz-raw://ed0bfc1b92153c5000e50f4021367b931bbe96372ac6facec3c4961b72053d02",
        "dweb:/ipfs/Qmbwp8VDerjS5SV1quwHH1oMXxPQ93fzfLVqJ2RCqbowGE"
      ],
      "license": "MIT"
    },
    "node_modules/@openzeppelin/contracts/token/ERC721/utils/ERC721Utils.sol": {
      "keccak256": "0x40399695922383778f9f540a620bec475a2f8e0f08d41f0005682842e28a9855",
      "urls": [
        "bzz-raw://746d295e403931aeb9d6065fd5a0871f43ab5459814a60623611e4b6641a09fd",
        "dweb:/ipfs/QmWrgT8YJrQ9FfD1o3YYArwo57e7MGdpFKuM74qJ4qE34E"
      ],
      "license": "MIT"
    },
    "node_modules/@openzeppelin/contracts/token/common/ERC2981.sol": {
      "keccak256": "0x01818908219f73eecfbbe8999ac583ee3fcbfe8e39e8e0a823199737d0ed8052",
      "urls": [
        "bzz-raw://674bafb0a373297befe1b5fe4f5a02cc18a305d8f9a4577deddc2030a611433e",
        "dweb:/ipfs/QmPq5sBp1upRbBVdU5kd1VyG4tHAbv9z6V1NSPuPs8vAtd"
      ],
      "license": "MIT"
    },
    "node_modules/@openzeppelin/contracts/utils/Context.sol": {
      "keccak256": "0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2",
      "urls": [
        "bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12",
        "dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF"
      ],
      "license": "MIT"
    },
    "node_modules/@openzeppelin/contracts/utils/Panic.sol": {
      "keccak256": "0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a",
      "urls": [
        "bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a",
        "dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG"
      ],
      "license": "MIT"
    },
    "node_modules/@openzeppelin/contracts/utils/Pausable.sol": {
      "keccak256": "0xb2e5f50762c27fb4b123e3619c3c02bdcba5e515309382e5bfb6f7d6486510bd",
      "urls": [
        "bzz-raw://1a4b83328c98d518a2699c2cbe9e9b055e78aa57fa8639f1b88deb8b3750b5dc",
        "dweb:/ipfs/QmXdcYj5v7zQxXFPULShHkR5p4Wa2zYuupbHnFdV3cHYtc"
      ],
      "license": "MIT"
    },
    "node_modules/@openzeppelin/contracts/utils/ReentrancyGuard.sol": {
      "keccak256": "0x11a5a79827df29e915a12740caf62fe21ebe27c08c9ae3e09abe9ee3ba3866d3",
      "urls": [
        "bzz-raw://3cf0c69ab827e3251db9ee6a50647d62c90ba580a4d7bbff21f2bea39e7b2f4a",
        "dweb:/ipfs/QmZiKwtKU1SBX4RGfQtY7PZfiapbbu6SZ9vizGQD9UHjRA"
      ],
      "license": "MIT"
    },
    "node_modules/@openzeppelin/contracts/utils/Strings.sol": {
      "keccak256": "0x44f87e91783e88415bde66f1a63f6c7f0076f2d511548820407d5c95643ac56c",
      "urls": [
        "bzz-raw://13a51bc2b23827744dcf5bad10c69e72528cf015a6fe48c93632cdb2c0eb1251",
        "dweb:/ipfs/QmZwPA47Yqgje1qtkdEFEja8ntTahMStYzKf5q3JRnaR7d"
      ],
      "license": "MIT"
    },
    "node_modules/@openzeppelin/contracts/utils/cryptography/Hashes.sol": {
      "keccak256": "0x631dc1958d5308bd2d9f91190bbcde4f9ffb9d9401ce8d358c17b35f1a942bb7",
      "urls": [
        "bzz-raw://e7ef16d9a6f57eae9ab275116eaba1e8de70efd3d0e3682b1585b8f069d9c3f9",
        "dweb:/ipfs/QmR3JQHAyv4sNWnRHeiC6oaz8Bqn8rtzu5sdAqAJRtBqpj"
      ],
      "license": "MIT"
    },
    "node_modules/@openzeppelin/contracts/utils/cryptography/MerkleProof.sol": {
      "keccak256": "0x36a0c409c437a753cac9b92b75f93b0fbe92803bf2c8ff1517e54b247f166134",
      "urls": [
        "bzz-raw://0f91ba472de411aa557cdbf6560c40750d87bd11c9060bc04d2ba7119af9d5a6",
        "dweb:/ipfs/QmQjtYo2i7dDvzCEzZ67bDoNSG4RrwMoxPWuqFmX5Xzpuw"
      ],
      "license": "MIT"
    },
    "node_modules/@openzeppelin/contracts/utils/introspection/ERC165.sol": {
      "keccak256": "0xddce8e17e3d3f9ed818b4f4c4478a8262aab8b11ed322f1bf5ed705bb4bd97fa",
      "urls": [
        "bzz-raw://8084aa71a4cc7d2980972412a88fe4f114869faea3fefa5436431644eb5c0287",
        "dweb:/ipfs/Qmbqfs5dRdPvHVKY8kTaeyc65NdqXRQwRK7h9s5UJEhD1p"
      ],
      "license": "MIT"
    },
    "node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol": {
      "keccak256": "0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8",
      "urls": [
        "bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621",
        "dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL"
      ],
      "license": "MIT"
    },
    "node_modules/@openzeppelin/contracts/utils/math/Math.sol": {
      "keccak256": "0xa00be322d7db5786750ce0ac7e2f5b633ac30a5ed5fa1ced1e74acfc19acecea",
      "urls": [
        "bzz-raw://6c84e822f87cbdc4082533b626667b6928715bb2b1e8e7eb96954cebb9e38c8d",
        "dweb:/ipfs/QmZmy9dgxLTerBAQDuuHqbL6EpgRxddqgv5KmwpXYVbKz1"
      ],
      "license": "MIT"
    },
    "node_modules/@openzeppelin/contracts/utils/math/SafeCast.sol": {
      "keccak256": "0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54",
      "urls": [
        "bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8",
        "dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy"
      ],
      "license": "MIT"
    },
    "node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol": {
      "keccak256": "0xb1970fac7b64e6c09611e6691791e848d5e3fe410fa5899e7df2e0afd77a99e3",
      "urls": [
        "bzz-raw://db5fbb3dddd8b7047465b62575d96231ba8a2774d37fb4737fbf23340fabbb03",
        "dweb:/ipfs/QmVUSvooZKEdEdap619tcJjTLcAuH6QBdZqAzWwnAXZAWJ"
      ],
      "license": "MIT"
    }
  },
  "version": 1
}